Nikerabbit has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/68862


Change subject: Prepare ULS for EventLogging
......................................................................

Prepare ULS for EventLogging

Change-Id: I7139e67cc2f830a6b4b3c8ff1fc72dfcdec9a699
---
M Resources.php
M UniversalLanguageSelector.php
M resources/js/ext.uls.init.js
3 files changed, 56 insertions(+), 0 deletions(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/UniversalLanguageSelector 
refs/changes/62/68862/1

diff --git a/Resources.php b/Resources.php
index 3e00380..694949d 100644
--- a/Resources.php
+++ b/Resources.php
@@ -166,3 +166,21 @@
 $wgResourceModules['jquery.webfonts'] = array(
        'scripts' => 'lib/jquery.webfonts.js',
 ) + $resourcePaths;
+
+// Conditionally add event logging schema
+$wgHooks['ResourceLoaderRegisterModules'][] =
+       function ( ResourceLoader &$resourceLoader ) {
+
+       if ( !class_exists( 'ResourceLoaderSchemaModule' ) ) {
+               return true;
+       }
+
+       /// @see 
https://meta.wikimedia.org/wiki/Schema:UniversalLanguageSelector
+       $resourceLoader->register( 'schema.UniversalLanguageSelector', array(
+               'class'  => 'ResourceLoaderSchemaModule',
+               'schema' => 'UniversalLanguageSelector',
+               'revision' => 5573536,
+       ) );
+
+       return true;
+};
diff --git a/UniversalLanguageSelector.php b/UniversalLanguageSelector.php
index 3583b39..922954f 100644
--- a/UniversalLanguageSelector.php
+++ b/UniversalLanguageSelector.php
@@ -116,6 +116,13 @@
  */
 $wgULSPosition = 'personal';
 
+/**
+ * Whether to use EventLogging. The EventLogging extension must be installed
+ * if this option is enabled.
+ * @since 2013.06
+ */
+$wgULSEventLogging = false;
+
 $dir = __DIR__;
 
 // Internationalization
@@ -138,6 +145,7 @@
 $wgHooks['UserGetLanguageObject'][] = 
'UniversalLanguageSelectorHooks::getLanguage';
 $wgHooks['SkinTemplateOutputPageBeforeExec'][] = 
'UniversalLanguageSelectorHooks::onSkinTemplateOutputPageBeforeExec';
 
+
 $wgDefaultUserOptions['uls-preferences'] = '';
 $wgHooks['GetPreferences'][] = 
'UniversalLanguageSelectorHooks::onGetPreferences';
 
@@ -151,6 +159,12 @@
                };
        }
 
+       global $wgULSEventLogging, $wgResourceModules;
+       if ( $wgULSEventLogging ) {
+               $wgResourceModules['ext.uls.init']['dependencies'][] =
+                       'schema.UniversalLanguageSelector';
+       }
+
        return true;
 };
 
diff --git a/resources/js/ext.uls.init.js b/resources/js/ext.uls.init.js
index fd66c88..ed9e216 100644
--- a/resources/js/ext.uls.init.js
+++ b/resources/js/ext.uls.init.js
@@ -122,6 +122,30 @@
        };
 
        /**
+        * Logs events via EventLogging extension if it is available.
+        * @param {object} data Event action and optional fields
+        * @since 2013.06
+        * @see https://meta.wikimedia.org/wiki/Schema:UniversalLanguageSelector
+        */
+       mw.uls.logEvent = function( data ) {
+               var usual;
+
+               if ( mw.eventLog === undefined ) {
+                       return;
+               }
+
+               usual = {
+                       version: 1,
+                       token: mw.user.id(),
+                       domain: document.domain,
+                       contentLanguage: mw.config.get( 'wgContentLanguage' ),
+                       interfaceLanguage: currentLang
+               }
+
+               mw.eventLog.logEvent( 'UniversalLanguageSelector', $.extend( 
{}, usual, data ) );
+       };
+
+       /**
         * i18n initialization
         */
        function i18nInit() {

-- 
To view, visit https://gerrit.wikimedia.org/r/68862
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I7139e67cc2f830a6b4b3c8ff1fc72dfcdec9a699
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/UniversalLanguageSelector
Gerrit-Branch: master
Gerrit-Owner: Nikerabbit <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to