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

Reply via email to