BUGFIX wrong session getter in choose_site_lang() (was setting boolean rather than $lang-value)

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@43759 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
Ingo Schommer 2007-10-24 00:30:38 +00:00
parent d85bf0b73e
commit 95ea169907

View File

@ -112,29 +112,28 @@ class Translatable extends DataObjectDecorator {
self::set_reading_lang($_GET['lang']); self::set_reading_lang($_GET['lang']);
} elseif(isset($_COOKIE['lang']) && in_array(strtolower($_COOKIE['lang']),$langsAvailable)) { } elseif(isset($_COOKIE['lang']) && in_array(strtolower($_COOKIE['lang']),$langsAvailable)) {
self::set_reading_lang($_COOKIE['lang']); self::set_reading_lang($_COOKIE['lang']);
} else if($lang = Session::get('currentLang') && in_array(strtolower($lang),$langsAvailable)) { } else if(Session::get('currentLang')
self::set_reading_lang($lang); && in_array(strtolower(Session::get('currentLang')),$langsAvailable)
) {
self::set_reading_lang(Session::get('currentLang'));
} else if (($member = Member::currentUser()) && ($lang = $member->Locale) } else if (($member = Member::currentUser()) && ($lang = $member->Locale)
&& in_array(strtolower($lang),$langsAvailable) && in_array(strtolower($lang),$langsAvailable)
) { ) {
self::set_reading_lang($lang); self::set_reading_lang($lang);
} else {
self::set_reading_lang(self::default_lang());
} }
} else { } else {
if(isset($_GET['lang'])) { if(isset($_GET['lang'])) {
self::set_reading_lang($_GET['lang']); self::set_reading_lang($_GET['lang']);
} elseif(isset($_COOKIE['lang'])) { } elseif(isset($_COOKIE['lang'])) {
self::set_reading_lang($_COOKIE['lang']); self::set_reading_lang($_COOKIE['lang']);
} else if($lang = Session::get('currentLang')) { } else if(Session::get('currentLang')) {
self::set_reading_lang($lang); self::set_reading_lang(Session::get('currentLang'));
} else if (($member = Member::currentUser()) && ($lang = $member->Locale)) { } else if (($member = Member::currentUser()) && ($lang = $member->Locale)) {
self::set_reading_lang($lang); self::set_reading_lang($lang);
} else { } else {
self::set_reading_lang(self::default_lang()); self::set_reading_lang(self::default_lang());
} }
} }
self::$language_decided = true;
return self::$reading_lang; return self::$reading_lang;
} }