From 03e40f721598470203bdbf28b3caf5a26da67933 Mon Sep 17 00:00:00 2001 From: Ori Livneh Date: Mon, 14 Oct 2013 02:01:36 -0700 Subject: [PATCH] Make base font repository path configurable via $wgULSFontRepositoryBasePath This patch adds a configuration variable, '$wgULSFontRepositoryBasePath', which specifies the base path to the font repository. By default, the variable is set to its existing value, which is $wgExtensionAssetsPath + '/UniversalLanguageSelector/data/fontrepo/fonts/'. However, adding a discrete configuration variable makes it possible to configure ULS to use a custom URL scheme that is more suitable for large static assets that change infrequently. Change-Id: Idbe57072c4f3258757eb691e54cab5429cadcfda --- UniversalLanguageSelector.hooks.php | 10 +++++++++- UniversalLanguageSelector.php | 8 ++++++++ resources/js/ext.uls.webfonts.js | 3 +-- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/UniversalLanguageSelector.hooks.php b/UniversalLanguageSelector.hooks.php index b3fa7e8b..b934477e 100644 --- a/UniversalLanguageSelector.hooks.php +++ b/UniversalLanguageSelector.hooks.php @@ -256,7 +256,8 @@ class UniversalLanguageSelectorHooks { */ public static function addConfig( &$vars ) { global $wgULSGeoService, $wgULSIMEEnabled, $wgULSPosition, $wgULSNoWebfontsSelectors, - $wgULSAnonCanChangeLanguage, $wgULSEventLogging, $wgULSNoImeSelectors; + $wgULSAnonCanChangeLanguage, $wgULSEventLogging, $wgULSNoImeSelectors, + $wgULSFontRepositoryBasePath, $wgExtensionAssetsPath; // Place constant stuff here (not depending on request context) if ( is_string( $wgULSGeoService ) ) { @@ -269,6 +270,13 @@ class UniversalLanguageSelectorHooks { $vars['wgULSNoImeSelectors'] = $wgULSNoImeSelectors; $vars['wgULSNoWebfontsSelectors'] = $wgULSNoWebfontsSelectors; + if ( is_string( $wgULSFontRepositoryBasePath ) ) { + $vars['wgULSFontRepositoryBasePath'] = $wgULSFontRepositoryBasePath; + } else { + $vars['wgULSFontRepositoryBasePath'] = $wgExtensionAssetsPath . + '/UniversalLanguageSelector/data/fontrepo/fonts/'; + } + return true; } diff --git a/UniversalLanguageSelector.php b/UniversalLanguageSelector.php index eb586b48..51f9e020 100644 --- a/UniversalLanguageSelector.php +++ b/UniversalLanguageSelector.php @@ -137,6 +137,14 @@ $wgULSNoImeSelectors = array( '#wpCaptchaWord', '.ve-ce-documentNode' ); */ $wgULSNoWebfontsSelectors = array( '#p-lang li > a' ); +/** + * Base path of ULS font repository. + * If not set, will be set to 'UniversalLanguageSelector/data/fontrepo/fonts/', + * relative to $wgExtensionAssetsPath. + * @since 2013.10 + */ +$wgULSFontRepositoryBasePath = false; + // Internationalization $wgExtensionMessagesFiles['UniversalLanguageSelector'] = __DIR__ . '/UniversalLanguageSelector.i18n.php'; diff --git a/resources/js/ext.uls.webfonts.js b/resources/js/ext.uls.webfonts.js index 52b87b34..91b240b9 100644 --- a/resources/js/ext.uls.webfonts.js +++ b/resources/js/ext.uls.webfonts.js @@ -47,8 +47,7 @@ }; mediawikiFontRepository = $.webfonts.repository; - mediawikiFontRepository.base = mw.config.get( 'wgExtensionAssetsPath' ) + - '/UniversalLanguageSelector/data/fontrepo/fonts/'; + mediawikiFontRepository.base = mw.config.get( 'wgULSFontRepositoryBasePath' ); mw.webfonts.setup = function () { // Initialize webfonts