protected function initLanguage() { $this->sOldSessionLanguage = Session::language(); if (isset($_REQUEST[AdminManager::CONTENT_LANGUAGE_SESSION_KEY]) && LanguageQuery::languageExists($_REQUEST[AdminManager::CONTENT_LANGUAGE_SESSION_KEY])) { AdminManager::setContentLanguage($_REQUEST[AdminManager::CONTENT_LANGUAGE_SESSION_KEY]); unset($_REQUEST[AdminManager::CONTENT_LANGUAGE_SESSION_KEY]); LinkUtil::redirect(LinkUtil::link(Manager::getRequestedPath(), get_class())); } else { if (!LanguageQuery::languageExists(AdminManager::getContentLanguage())) { AdminManager::setContentLanguage($this->sOldSessionLanguage); } if (!LanguageQuery::languageExists(AdminManager::getContentLanguage())) { LinkUtil::redirectToManager('', "AdminManager"); } } Session::getSession()->setLanguage(AdminManager::getContentLanguage()); }
public static function setContentLanguage($sLanguageId) { if (!LanguageQuery::languageExists($sLanguageId)) { if (LanguageQuery::languageExists(Session::language())) { $sLanguageId = Session::language(); } else { if (LanguageQuery::languageExists(Session::sessionDefaultFor(self::CONTENT_LANGUAGE_SESSION_KEY))) { $sLanguageId = Session::sessionDefaultFor(self::CONTENT_LANGUAGE_SESSION_KEY); } else { if (LanguageQuery::languageExists(Session::sessionDefaultFor(Session::SESSION_LANGUAGE_KEY))) { $sLanguageId = Session::sessionDefaultFor(Session::SESSION_LANGUAGE_KEY); } else { // fallback @see method doc self::createLanguageIfNoneExist($sLanguageId); return; } } } } // fallback @see method doc self::createLanguageIfNoneExist($sLanguageId); Session::getSession()->setAttribute(self::CONTENT_LANGUAGE_SESSION_KEY, $sLanguageId); }