Prepare ULS for EventLogging

This change introduces a new configuration variable, $wgULSEventLogging. When
set to true, ULS will register an EventLogging schema module for
<http://meta.wikimedia.org/wiki/Schema:UniversalLanguageSelector>,
making it possible to log events using `mw.uls.logEvent`. When false, the
schema module is not loaded, and `mw.uls.logEvent` is a no-op.

Change-Id: I7139e67cc2f830a6b4b3c8ff1fc72dfcdec9a699
This commit is contained in:
Niklas Laxström
2013-06-15 15:04:05 +00:00
parent 20033e4fbf
commit 4543d43dda
3 changed files with 62 additions and 3 deletions

View File

@@ -43,11 +43,16 @@ class UniversalLanguageSelectorHooks {
* Hook: BeforePageDisplay
*/
public static function addModules( $out, $skin ) {
global $wgULSGeoService;
global $wgULSGeoService, $wgULSEventLogging;
// Load the style for users without JS, to hide the useless links
$out->addModuleStyles( 'ext.uls.nojs' );
// If EventLogging integration is enabled, load the schema module.
if ( $wgULSEventLogging ) {
$out->addModules( 'schema.UniversalLanguageSelector' );
}
// If the extension is enabled, basic features (API, language data) available.
$out->addModules( 'ext.uls.init' );
@@ -240,7 +245,7 @@ class UniversalLanguageSelectorHooks {
*/
public static function addConfig( &$vars ) {
global $wgULSGeoService, $wgULSIMEEnabled, $wgULSPosition,
$wgULSAnonCanChangeLanguage;
$wgULSAnonCanChangeLanguage, $wgULSEventLogging;
// Place constant stuff here (not depending on request context)
if ( is_string( $wgULSGeoService ) ) {
@@ -249,6 +254,7 @@ class UniversalLanguageSelectorHooks {
$vars['wgULSIMEEnabled'] = $wgULSIMEEnabled;
$vars['wgULSPosition'] = $wgULSPosition;
$vars['wgULSAnonCanChangeLanguage'] = $wgULSAnonCanChangeLanguage;
$vars['wgULSEventLogging'] = $wgULSEventLogging;
// ULS is localized using jquery.i18n library. Unless it knows
// the localized locales, it can create 404 response. To avoid that,