From 5b7e12705aa9a99edf7ac427b574c8f9431441f0 Mon Sep 17 00:00:00 2001 From: Timo Tijhof Date: Wed, 27 May 2020 23:23:57 +0100 Subject: [PATCH] Remove redundant dependency on 'mediawiki.notify' As this extension supports MW 1.34 (and MW 1.33) in the master branch, apply the usual ternary PHP registration and ternary tricks. Bug: T233676 Change-Id: I4d18bab53460b397d4f50485c4a149185a1db7b3 --- extension.json | 44 +--------------- includes/UniversalLanguageSelectorHooks.php | 57 +++++++++++++++++++++ 2 files changed, 58 insertions(+), 43 deletions(-) diff --git a/extension.json b/extension.json index c393863e..c2ab3e55 100644 --- a/extension.json +++ b/extension.json @@ -28,6 +28,7 @@ "MakeGlobalVariablesScript": "UniversalLanguageSelectorHooks::addVariables", "PersonalUrls": "UniversalLanguageSelectorHooks::addPersonalBarTrigger", "ResourceLoaderGetConfigVars": "UniversalLanguageSelectorHooks::addConfig", + "ResourceLoaderRegisterModules": "UniversalLanguageSelectorHooks::onResourceLoaderRegisterModules", "SkinTemplateOutputPageBeforeExec": "UniversalLanguageSelectorHooks::onSkinTemplateOutputPageBeforeExec", "UserGetLanguageObject": "UniversalLanguageSelectorHooks::getLanguage" }, @@ -219,22 +220,6 @@ "localBasePath": "resources", "remoteExtPath": "UniversalLanguageSelector/resources" }, - "ext.uls.ime": { - "scripts": "js/ext.uls.ime.js", - "dependencies": [ - "ext.uls.common", - "ext.uls.preferences", - "ext.uls.mediawiki", - "ext.uls.messages", - "jquery.ime", - "mediawiki.notify" - ], - "messages": [ - "uls-ime-helppage" - ], - "localBasePath": "resources", - "remoteExtPath": "UniversalLanguageSelector/resources" - }, "ext.uls.init": { "targets": [ "desktop" @@ -341,33 +326,6 @@ }, "remoteExtPath": "UniversalLanguageSelector/resources" }, - "ext.uls.setlang": { - "styles": [ - "css/ext.uls.dialog.less", - "css/ext.uls.setlang.less" - ], - "scripts": [ - "js/ext.uls.dialog.js", - "js/ext.uls.setlang.js" - ], - "dependencies": [ - "mediawiki.api", - "mediawiki.ui.button", - "mediawiki.notify", - "mediawiki.Uri" - ], - "messages": [ - "ext-uls-setlang-error", - "ext-uls-setlang-unknown-error", - "ext-uls-setlang-heading", - "ext-uls-setlang-message", - "ext-uls-setlang-accept", - "ext-uls-setlang-cancel", - "ext-uls-setlang-loading" - ], - "localBasePath": "resources", - "remoteExtPath": "UniversalLanguageSelector/resources" - }, "ext.uls.webfonts": { "scripts": "js/ext.uls.webfonts.js", "dependencies": [ diff --git a/includes/UniversalLanguageSelectorHooks.php b/includes/UniversalLanguageSelectorHooks.php index 07525e3a..c3b5b32e 100644 --- a/includes/UniversalLanguageSelectorHooks.php +++ b/includes/UniversalLanguageSelectorHooks.php @@ -165,6 +165,63 @@ class UniversalLanguageSelectorHooks { $out->addModules( 'ext.uls.setlang' ); } + /** + * @param ResourceLoader $resourceLoader + */ + public static function onResourceLoaderRegisterModules( ResourceLoader $resourceLoader ) { + global $wgVersion; + + // Support: MediaWiki 1.34 + $hasOldNotify = version_compare( $wgVersion, '1.35', '<' ); + + $tpl = [ + 'localBasePath' => dirname( __DIR__ ) . '/resources', + 'remoteExtPath' => 'UniversalLanguageSelector/resources', + ]; + + $modules = [ + "ext.uls.ime" => $tpl + [ + "scripts" => "js/ext.uls.ime.js", + "dependencies" => array_merge( [ + "ext.uls.common", + "ext.uls.preferences", + "ext.uls.mediawiki", + "ext.uls.messages", + "jquery.ime", + ], $hasOldNotify ? [ 'mediawiki.notify' ] : [] ), + "messages" => [ + "uls-ime-helppage" + ], + ], + "ext.uls.setlang" => $tpl + [ + "styles" => [ + "css/ext.uls.dialog.less", + "css/ext.uls.setlang.less" + ], + "scripts" => [ + "js/ext.uls.dialog.js", + "js/ext.uls.setlang.js" + ], + "dependencies" => array_merge( [ + "mediawiki.api", + "mediawiki.ui.button", + "mediawiki.Uri" + ], $hasOldNotify ? [ 'mediawiki.notify' ] : [] ), + "messages" => [ + "ext-uls-setlang-error", + "ext-uls-setlang-unknown-error", + "ext-uls-setlang-heading", + "ext-uls-setlang-message", + "ext-uls-setlang-accept", + "ext-uls-setlang-cancel", + "ext-uls-setlang-loading" + ], + ], + ]; + + $resourceLoader->register( $modules ); + } + /** * Add some tabs for navigation for users who do not use Ajax interface. * Hook: PersonalUrls