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()); }
/** * Redirects to a page with the given id */ public function __construct() { parent::__construct(); $oPage = PageQuery::create()->findPk(Manager::usePath()); LinkUtil::redirectToManager($oPage->getFullPathArray(), 'FrontendManager'); }
protected function initLanguage() { $bIsMultilingual = Settings::getSetting('general', 'multilingual', true); if ($bIsMultilingual && self::hasNextPathItem() && LanguageQuery::languageIsActive(self::peekNextPathItem(), true)) { $oLanguage = LanguageQuery::create()->filterByPathPrefix(self::usePath())->findOne(); Session::getSession()->setLanguage($oLanguage); } else { // If site is monolingual, try setting the session default as a shortcut if ($bIsMultilingual) { // If we’ve got a valid session language set (and it’s not just from the default), use that if (Session::getSession()->hasAttribute(Session::SESSION_LANGUAGE_KEY) && LanguageQuery::languageIsActive(Session::language())) { LinkUtil::redirectToLanguage(); } // Otherwise, use the first of the user’s accept languages that is valid foreach (LocaleUtil::acceptLocales() as $oAcceptLocale) { if (LanguageQuery::languageIsActive($oAcceptLocale->language_id)) { Session::getSession()->setLanguage($oAcceptLocale->language_id); LinkUtil::redirectToLanguage(); } } // As a last resort, try, the default session language Session::getSession()->resetAttribute(Session::SESSION_LANGUAGE_KEY); if (LanguageQuery::languageIsActive(Session::language())) { LinkUtil::redirectToLanguage(); } } else { if (LanguageQuery::languageIsActive(Session::language())) { return; } else { Session::getSession()->resetAttribute(Session::SESSION_LANGUAGE_KEY); if (LanguageQuery::languageIsActive(Session::language())) { return; } } } // If all fails, redirect to the admin manager, where new languages can be created/activated LinkUtil::redirectToManager(array('languages'), "AdminManager"); } }