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

Reply via email to