Allow $wgULSLanguageDetection to work if $wgULSAnonCanChangeLanguage is false
$wgULSAnonCanChangeLanguage is documented as just affecting setting of language for anonymous users via cookies and &setlang=. But currently it also affects the fallback to Accept-Language if $wgULSLanguageDetection is enabled. With this, $wgULSAnonCanChangeLanguage will now only control whether cookies and &setlang= can be used for anonymous users, and keeps $wgULSLanguageDetection independent. Bug: T203179 Change-Id: I6c664ad11dc18b66190dc0644352b91adf87c9e5
This commit is contained in:
@@ -261,25 +261,23 @@ class UniversalLanguageSelectorHooks {
|
||||
return;
|
||||
}
|
||||
|
||||
// Logged out users - less simple
|
||||
if ( !$wgULSAnonCanChangeLanguage ) {
|
||||
return;
|
||||
}
|
||||
// If using cookie storage for anons is OK, read/write from that
|
||||
if ( $wgULSAnonCanChangeLanguage ) {
|
||||
// Language change
|
||||
if ( Language::isSupportedLanguage( $languageToSave ) ) {
|
||||
$request->response()->setCookie( 'language', $languageToSave );
|
||||
$code = $languageToSave;
|
||||
|
||||
// Language change
|
||||
if ( Language::isSupportedLanguage( $languageToSave ) ) {
|
||||
$request->response()->setCookie( 'language', $languageToSave );
|
||||
$code = $languageToSave;
|
||||
return;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
// Try cookie
|
||||
$languageToUse = $request->getCookie( 'language', null, '' );
|
||||
if ( Language::isSupportedLanguage( $languageToUse ) ) {
|
||||
$code = $languageToUse;
|
||||
|
||||
// Try cookie
|
||||
$languageToUse = $request->getCookie( 'language', null, '' );
|
||||
if ( Language::isSupportedLanguage( $languageToUse ) ) {
|
||||
$code = $languageToUse;
|
||||
|
||||
return;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// As last resort, try Accept-Language headers if allowed
|
||||
|
||||
Reference in New Issue
Block a user