Handle invalid language code gracefully in Language::fetchLanguageNames
authorBrian Wolff <bawolff+wn@gmail.com>
Sun, 29 Jun 2014 21:45:07 +0000 (18:45 -0300)
committerBrian Wolff <bawolff+wn@gmail.com>
Mon, 30 Jun 2014 20:52:03 +0000 (17:52 -0300)
Core MW doesn't have a problem, but translate extension explodes.
Seems safer to just use 'en' if passed an invalid language code.

Bug: 60629
Change-Id: I0ede3169bb49001a1515ae5b2b6d28477704f346

languages/Language.php

index bf30455..f686a37 100644 (file)
@@ -857,6 +857,11 @@ class Language {
                        include "$IP/languages/Names.php";
                }
 
+               // If passed an invalid language code to use, fallback to en
+               if ( $inLanguage !== null && !Language::isValidCode( $inLanguage ) ) {
+                       $inLanguage = 'en';
+               }
+
                $names = array();
 
                if ( $inLanguage ) {