From 3c43d81af580df88ca6e735f2905d17e78fd7f18 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Niklas=20Laxstr=C3=B6m?= Date: Wed, 25 Jun 2008 11:23:34 +0000 Subject: [PATCH] * Handle fallbacks too in extension aliases --- languages/Language.php | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/languages/Language.php b/languages/Language.php index 92822525d7..65c153e404 100644 --- a/languages/Language.php +++ b/languages/Language.php @@ -1740,25 +1740,19 @@ class Language { if ( !isset($aliases['en']) ) throw new MWException( 'Malformed aliases file' ); + // Merge all aliases in fallback chain $code = $this->getCode(); + do { + if ( !isset($aliases[$code]) ) continue; - if ( isset($aliases[$code]) ) { $aliases[$code] = $this->fixSpecialPageAliases( $aliases[$code] ); /* Merge the aliases, THIS will break if there is special page name * which looks like a numerical key, thanks to PHP... * See the comments for wfArrayMerge in GlobalSettings.php. */ $this->mExtendedSpecialPageAliases = array_merge_recursive( $this->mExtendedSpecialPageAliases, $aliases[$code] ); - } - /* Add the English aliases to the end of list as aliases... unless we - * already added them! */ - if ( $code !== 'en' ) { - $aliases['en'] = $this->fixSpecialPageAliases( $aliases['en'] ); - $this->mExtendedSpecialPageAliases = array_merge_recursive( - $this->mExtendedSpecialPageAliases, $aliases['en'] ); - } - + } while ( $code = self::getFallbackFor( $code ) ); } wfRunHooks( 'LanguageGetSpecialPageAliases', -- 2.20.1