From: jenkins-bot Date: Thu, 15 May 2014 16:09:21 +0000 (+0000) Subject: Merge "Check for Language::getSpecialPageAliases returning null in SpecialPageFactory" X-Git-Tag: 1.31.0-rc.0~15701 X-Git-Url: https://git.cyclocoop.org/%27.WWW_URL.%27admin/?a=commitdiff_plain;h=ee9d87560773b147ed0888377c6885a042af8cb1;hp=5ea1b3f8ab9f1dbe41a04bbfbeed5e2652cd95e3;p=lhc%2Fweb%2Fwiklou.git Merge "Check for Language::getSpecialPageAliases returning null in SpecialPageFactory" --- diff --git a/includes/specialpage/SpecialPageFactory.php b/includes/specialpage/SpecialPageFactory.php index dd22769b93..53cef7f723 100644 --- a/includes/specialpage/SpecialPageFactory.php +++ b/includes/specialpage/SpecialPageFactory.php @@ -243,11 +243,14 @@ class SpecialPageFactory { $missingPages = clone self::getList(); self::$aliases = array(); - foreach ( $aliases as $realName => $aliasList ) { - foreach ( $aliasList as $alias ) { - self::$aliases[$wgContLang->caseFold( $alias )] = $realName; + // Check for $aliases being an array since Language::getSpecialPageAliases can return null + if ( is_array( $aliases ) ) { + foreach ( $aliases as $realName => $aliasList ) { + foreach ( $aliasList as $alias ) { + self::$aliases[$wgContLang->caseFold( $alias )] = $realName; + } + unset( $missingPages->$realName ); } - unset( $missingPages->$realName ); } foreach ( $missingPages as $name => $stuff ) { self::$aliases[$wgContLang->caseFold( $name )] = $name; @@ -571,13 +574,16 @@ class SpecialPageFactory { } else { // Try harder in case someone misspelled the correct casing $found = false; - foreach ( $aliases as $n => $values ) { - if ( strcasecmp( $name, $n ) === 0 ) { - wfWarn( "Found alias defined for $n when searching for " . - "special page aliases for $name. Case mismatch?" ); - $name = $values[0]; - $found = true; - break; + // Check for $aliases being an array since Language::getSpecialPageAliases can return null + if ( is_array( $aliases ) ) { + foreach ( $aliases as $n => $values ) { + if ( strcasecmp( $name, $n ) === 0 ) { + wfWarn( "Found alias defined for $n when searching for " . + "special page aliases for $name. Case mismatch?" ); + $name = $values[0]; + $found = true; + break; + } } } if ( !$found ) {