Addshore has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/395733 )
Change subject: WIP Eventlogging for conflicts ...................................................................... WIP Eventlogging for conflicts This is a draft schema to discuss and is not currently on meta.wikimedia.org Bug: T181704 Change-Id: Ia4a0c4a57364ef8ba8af48f3384a0e1119e57399 --- M extension.json M includes/TwoColConflictHooks.php 2 files changed, 37 insertions(+), 12 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/TwoColConflict refs/changes/33/395733/1 diff --git a/extension.json b/extension.json index 66f3c53..f9678e2 100644 --- a/extension.json +++ b/extension.json @@ -38,6 +38,9 @@ "AlternateEdit": [ "TwoColConflictHooks::onAlternateEdit" ], + "EditPageBeforeConflictDiff": [ + "TwoColConflictHooks::onEditPageBeforeConflictDiff" + ], "ResourceLoaderTestModules": [ "TwoColConflictHooks::onResourceLoaderTestModules" ] @@ -186,6 +189,9 @@ ] } }, + "EventLoggingSchemas": { + "TwoColConflictConflict": 11111111111111111111111111111111111111111111 + }, "ResourceFileModulePaths": { "localBasePath": "", "remoteExtPath": "TwoColConflict" diff --git a/includes/TwoColConflictHooks.php b/includes/TwoColConflictHooks.php index 8255861..fb6aca3 100644 --- a/includes/TwoColConflictHooks.php +++ b/includes/TwoColConflictHooks.php @@ -11,27 +11,29 @@ */ class TwoColConflictHooks { + private static function shouldTwoColConflictBeShown( EditPage $editPage ) { + $config = MediaWikiServices::getInstance()->getMainConfig(); + + $betaFeatureDisabled = $config->get( 'TwoColConflictBetaFeature' ) && + class_exists( BetaFeatures::class ) && + !BetaFeatures::isFeatureEnabled( $editPage->getContext()->getUser(), 'twocolconflict' ); + + return !$betaFeatureDisabled; + } + /** * @param EditPage $editPage * * @return bool */ public static function onAlternateEdit( EditPage $editPage ) { - $config = MediaWikiServices::getInstance()->getMainConfig(); - - /** - * If this extension is configured to be a beta feature, and the BetaFeatures extension - * is loaded then require the current user to have the feature enabled. - */ - if ( - $config->get( 'TwoColConflictBetaFeature' ) && - class_exists( BetaFeatures::class ) && - !BetaFeatures::isFeatureEnabled( $editPage->getContext()->getUser(), 'twocolconflict' ) - ) { + // Skip out on the test page + if ( get_class( $editPage ) === TwoColConflictTestEditPage::class ) { return true; } - if ( get_class( $editPage ) === TwoColConflictTestEditPage::class ) { + // Skip out if the feature is disabled + if ( !self::shouldTwoColConflictBeShown( $editPage ) ) { return true; } @@ -45,6 +47,23 @@ } ); } + public static function onEditPageBeforeConflictDiff( EditPage $editPage, OutputPage $outputPage ) { + if ( class_exists( EventLogging::class ) ) { + EventLogging::logEvent( + 'TwoColConflictConflict', + 11111111111111111111111111111111111, // TODO update revision..... + [ + 'twoColConflictShown' => self::shouldTwoColConflictBeShown( $editPage ), + 'baseRevisionId' => $editPage->mBaseRevision ? $editPage->mBaseRevision->getId() : null, + 'namespaceId' => $editPage->getTitle()->getNamespace(), + 'textSaved' => $editPage->textbox1, // TODO we probably dont need this + 'textUser' => $editPage->textbox2, + 'userId' => $outputPage->getUser()->getId(), + ] + ); + } + } + /** * @param User $user * @param array[] &$prefs -- To view, visit https://gerrit.wikimedia.org/r/395733 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ia4a0c4a57364ef8ba8af48f3384a0e1119e57399 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/TwoColConflict Gerrit-Branch: master Gerrit-Owner: Addshore <addshorew...@gmail.com> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits