From c9a5ec7f198db785ea0fdf0fa50b9735d791a1eb Mon Sep 17 00:00:00 2001 From: "Amir E. Aharoni" Date: Tue, 30 Apr 2013 13:33:28 +0300 Subject: [PATCH] Add backward compatibility for fetchLanguageNames Bug: 46737 Change-Id: Ife7c2834c2b2c4f2619b4a5d8e0b0aa1db595984 --- ResourceLoaderULSModule.php | 12 +++++++++--- UniversalLanguageSelector.hooks.php | 12 ++++++++++-- data/LanguageNameIndexer.php | 7 ++++++- 3 files changed, 25 insertions(+), 6 deletions(-) diff --git a/ResourceLoaderULSModule.php b/ResourceLoaderULSModule.php index dda84928..784db4f5 100644 --- a/ResourceLoaderULSModule.php +++ b/ResourceLoaderULSModule.php @@ -33,9 +33,15 @@ class ResourceLoaderULSModule extends ResourceLoaderModule { */ protected function getData() { $vars = array(); - $vars['wgULSLanguages'] = Language::fetchLanguageNames( - $this->language->getCode(), 'mwfile' - ); + if ( method_exists( 'Language', 'fetchLanguageNames' ) ) { + // since 1.20 + $vars['wgULSLanguages'] = Language::fetchLanguageNames( + $this->language->getCode(), 'mwfile' + ); + } else { + $vars['wgULSLanguages'] = Language::getLanguageNames( false ); + } + return $vars; } diff --git a/UniversalLanguageSelector.hooks.php b/UniversalLanguageSelector.hooks.php index 4d26264e..1aa0adcf 100644 --- a/UniversalLanguageSelector.hooks.php +++ b/UniversalLanguageSelector.hooks.php @@ -105,7 +105,11 @@ class UniversalLanguageSelectorHooks { protected static function isSupportedLanguage( $language ) { wfProfileIn( __METHOD__ ); - $supported = Language::fetchLanguageNames( null, 'mwfile' ); + if ( method_exists( 'Language', 'fetchLanguageNames' ) ) { + $supported = Language::fetchLanguageNames( null, 'mwfile' ); // since 1.20 + } else { + $supported = Language::getLanguageNames( false ); + } wfProfileOut( __METHOD__ ); return isset( $supported[$language] ); @@ -117,7 +121,11 @@ class UniversalLanguageSelectorHooks { */ protected static function getDefaultLanguage( array $preferred ) { wfProfileIn( __METHOD__ ); - $supported = Language::fetchLanguageNames( null, 'mwfile' ); + if ( method_exists( 'Language', 'fetchLanguageNames' ) ) { + $supported = Language::fetchLanguageNames( null, 'mwfile' ); // since 1.20 + } else { + $supported = Language::getLanguageNames( false ); + } // look for a language that is acceptable to the client // and known to the wiki. foreach ( $preferred as $code => $weight ) { diff --git a/data/LanguageNameIndexer.php b/data/LanguageNameIndexer.php index b8df9c53..8c2820ed 100644 --- a/data/LanguageNameIndexer.php +++ b/data/LanguageNameIndexer.php @@ -33,7 +33,12 @@ class LanguageNameIndexer extends Maintenance { } public function execute() { - $languages = Language::fetchLanguageNames( null, 'all' ); + if ( method_exists( 'Language', 'fetchLanguageNames' ) ) { + $languages = Language::fetchLanguageNames( null, 'all' ); // since 1.20 + } else { + $languages = Language::getLanguageNames( false ); + } + $all = array(); $buckets = array(); foreach ( $languages as $code => $name ) {