示例#1
0
 /**
  * getter parametru
  * @return LBoxConfigItemStructure
  * @throws LBoxException
  */
 protected static function getPageCfg()
 {
     try {
         if (!self::$pageCfg instanceof LBoxStructureItem) {
             try {
                 $pageCfg = LBoxConfigManagerStructure::getInstance()->getPageByUrl(LBOX_REQUEST_URL_VIRTUAL);
             } catch (Exception $e) {
                 // page not found
                 if ($e->getCode() == LBoxExceptionConfigStructure::CODE_NODE_BYURL_NOT_FOUND) {
                     if (strlen($page404ID = LBoxConfigSystem::getInstance()->getParamByPath("pages/page404")) < 1) {
                         throw new LBoxExceptionFront(LBoxExceptionFront::MSG_PAGE404_NOT_DEFINED, LBoxExceptionFront::CODE_PAGE404_NOT_DEFINED);
                     }
                     $page404Cfg = LBoxConfigManagerStructure::getInstance()->getPageById($page404ID);
                     if (!$page404Cfg instanceof LBoxConfigItemStructure) {
                         throw new LBoxExceptionFront(LBoxExceptionFront::MSG_PAGE404_NOT_FOUND . " was searching for page-id='{$page404ID}'", LBoxExceptionFront::CODE_PAGE404_NOT_FOUND);
                     }
                     self::setHttpHeaderStatus(404);
                     $pageCfg = $page404Cfg;
                 } else {
                     throw $e;
                 }
             }
             return self::$pageCfg = $pageCfg;
         } else {
             return self::$pageCfg;
         }
     } catch (Exception $e) {
         throw $e;
     }
 }