protected function getoPage() { if (!self::$oPage) { if (AnwEnv::_GET(self::GET_PAGENAME)) { //read pagename from env $sPageName = self::getCurrentPageName(); if (AnwPage::isValidPageName(self::getCurrentPageName())) { self::$oPage = new AnwPageByName($sPageName); } else { //warning, doing error404() here may lead to infinite recursion in some very special cases... that's why $oPage is set to the homepage here, to prevent loop. self::$oPage = new AnwPageByName(self::globalCfgHomePage()); self::error404(); } } else { //load homepage $sPageName = self::globalCfgHomePage(); self::$oPage = new AnwPageByName($sPageName); //make sure to load homepage in the session language, if available try { $sWantedLang = AnwCurrentSession::getLang(); if (self::$oPage->exists() && self::$oPage->getLang() != $sWantedLang) { $aoPages = self::$oPage->getPageGroup()->getPages(); if (isset($aoPages[$sWantedLang])) { self::$oPage = $aoPages[$sWantedLang]; self::debug("Homepage found in current session lang"); } else { self::debug("Homepage NOT found in current session lang"); } } } catch (AnwException $e) { } } } return self::$oPage; }