jenkins-bot has submitted this change and it was merged. ( https://gerrit.wikimedia.org/r/395733 )
Change subject: Eventlogging for conflicts ...................................................................... Eventlogging for conflicts Bug: T181704 Bug: T182008 Change-Id: Ia4a0c4a57364ef8ba8af48f3384a0e1119e57399 --- M extension.json M includes/TwoColConflictHooks.php M tests/phan/config.php 3 files changed, 46 insertions(+), 12 deletions(-) Approvals: jenkins-bot: Verified Andrew-WMDE: Looks good to me, approved diff --git a/extension.json b/extension.json index 66f3c53..24eb4a4 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": 17520555 + }, "ResourceFileModulePaths": { "localBasePath": "", "remoteExtPath": "TwoColConflict" diff --git a/includes/TwoColConflictHooks.php b/includes/TwoColConflictHooks.php index 8255861..e06fbff 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; } @@ -46,6 +48,30 @@ } /** + * @param EditPage $editPage + * @param OutputPage $outputPage + */ + public static function onEditPageBeforeConflictDiff( EditPage $editPage, OutputPage $outputPage ) { + if ( class_exists( EventLogging::class ) ) { + $user = $outputPage->getUser(); + // https://meta.wikimedia.org/w/index.php?title=Schema:TwoColConflictConflict&oldid=17520555 + EventLogging::logEvent( + 'TwoColConflictConflict', + 17520555, + [ + 'twoColConflictShown' => self::shouldTwoColConflictBeShown( $editPage ), + 'isAnon' => $user->isAnon(), + 'editCount' => (int)$user->getEditCount(), + 'pageNs' => $editPage->getTitle()->getNamespace(), + 'baseRevisionId' => $editPage->getBaseRevision()->getId(), + 'parentRevisionId' => $editPage->getParentRevId(), + 'textUser' => $editPage->textbox2, + ] + ); + } + } + + /** * @param User $user * @param array[] &$prefs */ diff --git a/tests/phan/config.php b/tests/phan/config.php index fc45a19..79d33ef 100644 --- a/tests/phan/config.php +++ b/tests/phan/config.php @@ -52,6 +52,7 @@ './../../maintenance', './../../vendor', './../../extensions/BetaFeatures', + './../../extensions/EventLogging', './../../extensions/WikiEditor', ], @@ -77,6 +78,7 @@ './../../maintenance', './../../vendor', './../../extensions/BetaFeatures', + './../../extensions/EventLogging', './../../extensions/WikiEditor', ], -- To view, visit https://gerrit.wikimedia.org/r/395733 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: Ia4a0c4a57364ef8ba8af48f3384a0e1119e57399 Gerrit-PatchSet: 4 Gerrit-Project: mediawiki/extensions/TwoColConflict Gerrit-Branch: master Gerrit-Owner: Addshore <addshorew...@gmail.com> Gerrit-Reviewer: Addshore <addshorew...@gmail.com> Gerrit-Reviewer: Andrew-WMDE <andrew.kos...@wikimedia.de> Gerrit-Reviewer: Tobias Gritschacher <tobias.gritschac...@wikimedia.de> Gerrit-Reviewer: WMDE-Fisch <christoph.jau...@wikimedia.de> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits