diff --git a/UniversalLanguageSelector.hooks.php b/UniversalLanguageSelector.hooks.php index 4c7a5534..f5d42cbc 100644 --- a/UniversalLanguageSelector.hooks.php +++ b/UniversalLanguageSelector.hooks.php @@ -146,12 +146,6 @@ class UniversalLanguageSelectorHooks { return true; } - protected static function isSupportedLanguage( $language ) { - $supported = Language::fetchLanguageNames( null, 'mwfile' ); // since 1.20 - - return isset( $supported[$language] ); - } - /** * @param array $preferred * @return string @@ -196,8 +190,8 @@ class UniversalLanguageSelectorHooks { $request = $context->getRequest(); - $languageToSave = $request->getVal( 'setlang' ); - if ( $request->getVal( 'uselang' ) && !$languageToSave ) { + $languageToSave = $request->getText( 'setlang' ); + if ( $request->getText( 'uselang' ) && !$languageToSave ) { // uselang can be used for temporary override of language preference // when setlang is not provided return true; @@ -206,7 +200,7 @@ class UniversalLanguageSelectorHooks { // Registered users - simple if ( !$user->isAnon() ) { // Language change - if ( self::isSupportedLanguage( $languageToSave ) ) { + if ( Language::isSupportedLanguage( $languageToSave ) ) { $user->setOption( 'language', $languageToSave ); $user->saveSettings(); // Apply immediately @@ -223,7 +217,7 @@ class UniversalLanguageSelectorHooks { } // Language change - if ( self::isSupportedLanguage( $languageToSave ) ) { + if ( Language::isSupportedLanguage( $languageToSave ) ) { $request->response()->setcookie( 'language', $languageToSave ); $code = $languageToSave; @@ -231,8 +225,8 @@ class UniversalLanguageSelectorHooks { } // Try cookie - $languageToUse = $request->getCookie( 'language' ); - if ( self::isSupportedLanguage( $languageToUse ) ) { + $languageToUse = $request->getCookie( 'language', null, '' ); + if ( Language::isSupportedLanguage( $languageToUse ) ) { $code = $languageToUse; return true;