Use EventLoggingRegisterSchemas hook

Change-Id: Id4772b7663e5f192962c7943458bd5d0518b958a
This commit is contained in:
Kunal Mehta
2014-10-11 11:31:32 -07:00
parent f094d416ab
commit 59e0efab56
2 changed files with 5 additions and 30 deletions

View File

@@ -94,33 +94,8 @@ class UniversalLanguageSelectorHooks {
return true; return true;
} }
/** public static function onEventLoggingRegisterSchemas( array &$schemas ) {
* Register conditional modules $schemas['UniversalLanguageSelector'] = 7327441;
*
* @param ResourceLoader $rl
*/
public static function onResourceLoaderRegisterModules( ResourceLoader &$rl ) {
global $wgULSEventLogging;
// If EventLogging integration is enabled, first ensure that
// the EventLogging extension is present, then declare schema module.
// If it is not present, emit a warning and disable logging.
if ( $wgULSEventLogging ) {
if ( class_exists( 'ResourceLoaderSchemaModule' ) ) {
// NB: When updating the schema, remember also to update the version
// in the schema default in the JavaScript library.
/// @see https://meta.wikimedia.org/wiki/Schema:UniversalLanguageSelector
$rl->register( 'schema.UniversalLanguageSelector', array(
'class' => 'ResourceLoaderSchemaModule',
'schema' => 'UniversalLanguageSelector',
'revision' => 7327441,
) );
} else {
wfWarn( 'UniversalLanguageSelector is configured to use EventLogging, '
. 'but the extension is not available. Disabling wgULSEventLogging.' );
$wgULSEventLogging = false;
}
}
} }
/** /**
@@ -309,7 +284,7 @@ class UniversalLanguageSelectorHooks {
$vars['wgULSWebfontsEnabled'] = $wgULSWebfontsEnabled; $vars['wgULSWebfontsEnabled'] = $wgULSWebfontsEnabled;
$vars['wgULSPosition'] = $wgULSPosition; $vars['wgULSPosition'] = $wgULSPosition;
$vars['wgULSAnonCanChangeLanguage'] = $wgULSAnonCanChangeLanguage; $vars['wgULSAnonCanChangeLanguage'] = $wgULSAnonCanChangeLanguage;
$vars['wgULSEventLogging'] = $wgULSEventLogging; $vars['wgULSEventLogging'] = $wgULSEventLogging && class_exists( 'ResourceLoaderSchemaModule' );
$vars['wgULSImeSelectors'] = $wgULSImeSelectors; $vars['wgULSImeSelectors'] = $wgULSImeSelectors;
$vars['wgULSNoImeSelectors'] = $wgULSNoImeSelectors; $vars['wgULSNoImeSelectors'] = $wgULSNoImeSelectors;
$vars['wgULSNoWebfontsSelectors'] = $wgULSNoWebfontsSelectors; $vars['wgULSNoWebfontsSelectors'] = $wgULSNoWebfontsSelectors;

View File

@@ -200,8 +200,8 @@ $GLOBALS['wgAutoloadClasses'] += array(
); );
$GLOBALS['wgHooks']['BeforePageDisplay'][] = 'UniversalLanguageSelectorHooks::addModules'; $GLOBALS['wgHooks']['BeforePageDisplay'][] = 'UniversalLanguageSelectorHooks::addModules';
$GLOBALS['wgHooks']['ResourceLoaderRegisterModules'][] = $GLOBALS['wgHooks']['EventLoggingRegisterSchemas'][] =
'UniversalLanguageSelectorHooks::onResourceLoaderRegisterModules'; 'UniversalLanguageSelectorHooks::onEventLoggingRegisterSchemas';
$GLOBALS['wgHooks']['PersonalUrls'][] = 'UniversalLanguageSelectorHooks::addPersonalBarTrigger'; $GLOBALS['wgHooks']['PersonalUrls'][] = 'UniversalLanguageSelectorHooks::addPersonalBarTrigger';
$GLOBALS['wgHooks']['ResourceLoaderTestModules'][] = $GLOBALS['wgHooks']['ResourceLoaderTestModules'][] =
'UniversalLanguageSelectorHooks::addTestModules'; 'UniversalLanguageSelectorHooks::addTestModules';