Fixed "wfTimestamp() fed bogus time value" errors
[lhc/web/wiklou.git] / languages / Language.php
index d19dc25..0634d9f 100644 (file)
@@ -4396,8 +4396,7 @@ class Language {
                        return false;
                } else {
                        $fallbacks = self::getFallbacksFor( $code );
-                       $first = array_shift( $fallbacks );
-                       return $first;
+                       return $fallbacks[0];
                }
        }
 
@@ -4406,19 +4405,15 @@ class Language {
         *
         * @since 1.19
         * @param string $code Language code
-        * @return array
+        * @return array Non-empty array, ending in "en"
         */
        public static function getFallbacksFor( $code ) {
                if ( $code === 'en' || !Language::isValidBuiltInCode( $code ) ) {
                        return array();
-               } else {
-                       $v = self::getLocalisationCache()->getItem( $code, 'fallback' );
-                       $v = array_map( 'trim', explode( ',', $v ) );
-                       if ( $v[count( $v ) - 1] !== 'en' ) {
-                               $v[] = 'en';
-                       }
-                       return $v;
                }
+               // For unknown languages, fallbackSequence returns an empty array,
+               // hardcode fallback to 'en' in that case.
+               return self::getLocalisationCache()->getItem( $code, 'fallbackSequence' ) ?: array( 'en' );
        }
 
        /**