Ejemplo n.º 1
0
 public function prepare($name = "", $value = NULL)
 {
     switch ($name) {
         case "title":
             $value = strlen($value) > 0 ? $value : $this->prepare("heading", $this->instance->getParamDirect("heading"));
             $webTitle = LBoxConfigManagerProperties::getInstance()->getPropertyByName($this->configParamNameWebTitle)->getContent();
             $homePageTitlePattern = LBoxConfigManagerProperties::getInstance()->getPropertyByName($this->configParamNameHomepageTitle)->getContent();
             $pageTitlePattern = LBoxConfigManagerProperties::getInstance()->getPropertyByName($this->configParamNamePageTitle)->getContent();
             $pageTitle = $this->instance->isHomePage() ? $homePageTitlePattern : $pageTitlePattern;
             $pageTitle = str_replace("\$properties_web_title", $webTitle, $pageTitle);
             $pageTitle = str_replace("\$page_title", $value, $pageTitle);
             $pageTitle = str_replace("\$article_heading", $this->articleHeading, $pageTitle);
             $pageTitle = trim($pageTitle);
             // v pripade ze mame nakonci samotny oddelovac, odrizneme ho ze stringu
             if (substr($pageTitle, -1) == "|") {
                 $pageTitle = trim(substr($pageTitle, 0, strlen($pageTitle) - 1));
             }
             return $pageTitle;
             break;
         case "titleMenu":
         case "title_menu":
             return strlen($this->instance->getParamDirect("title")) > 0 ? $this->instance->getParamDirect("title") : (strlen($this->instance->name_menu) > 0 ? $this->instance->name_menu : $this->prepare("heading", $this->instance->getParamDirect("heading")));
             break;
         case "nameMenu":
         case "name_menu":
         case "headingMenu":
             return strlen($value) > 0 ? $value : $this->instance->heading;
             break;
         case "nameBreadcrumb":
         case "headingBreadcrumb":
             return strlen($value) > 0 ? $value : $this->instance->name_menu;
             break;
         case "titleWeb":
             return LBoxConfigManagerProperties::getInstance()->getPropertyByName($this->configParamNameWebTitle)->getContent();
             break;
         case "description":
         case "keywords":
             return (string) $value;
             break;
         case "isCurrent":
             return $this->instance->url == LBoxFront::getPage()->url;
             break;
         case "isCurrentBranch":
             if ($this->instance->url == LBoxFront::getPage()->url) {
                 return true;
             }
             $parent = LBoxFront::getPage()->config;
             while ($parent = $parent->getParent()) {
                 if ($parent->url == $this->instance->url) {
                     return true;
                 }
             }
             return false;
             break;
         case "heading":
             return (string) $value;
             break;
         case "name":
             return $this->instance->heading;
             break;
         case "name_menu":
             if (strlen($value) < 1) {
                 $value = $this->instance->name;
             }
             return $value;
             break;
         case "getChildren":
             return $this->instance->getChildNodesIterator();
             break;
         case "rssPage":
             if (strlen($this->instance->rss) < 1) {
                 return NULL;
             } else {
                 return LBoxConfigManagerStructure::getPageById($this->instance->rss);
             }
             break;
         case "in_menu":
             return $this->instance->is_accesible ? $value : false;
             break;
         case "bodyclass":
             return LBoxFront::getDisplayLanguage();
             break;
         case "is_accesible":
             if ($this->instance->superxt == 1) {
                 if (!LBoxXTProject::isLoggedSuperAdmin()) {
                     return false;
                 }
             }
             if ($this->instance->xt == 1) {
                 if (!LBoxXTProject::isLoggedAdmin()) {
                     return false;
                 }
             }
             return true;
             break;
         case "getClass":
             return $this->getClassMenu();
             break;
         case "getClassBreadcrumb":
             return $this->getClassBreadcrumb();
             break;
         default:
             return $value;
     }
 }
Ejemplo n.º 2
0
 /**
  * procedury provadene pred praci s cachi
  */
 protected static function executeInit()
 {
     try {
         $pageCfg = self::getPageCfg();
         if ($pageCfg->remoteip_only) {
             if (LBOX_REQUEST_IP != $pageCfg->remoteip_only) {
                 throw new LBoxExceptionFront(LBoxExceptionFront::MSG_INVALID_REMOTE_IP, LBoxExceptionFront::CODE_INVALID_REMOTE_IP);
             }
         }
         // reloadovat persisted location pokud je
         self::reloadPersistentLocationXT();
         // logout if is to
         if (self::isToLogout()) {
             $loginGroup = strlen(self::getPageCfg()->xt) > 0 ? self::getPageCfg()->xt : 0;
             self::logout($loginGroup);
         }
         if (self::isToLogoutDBFree()) {
             $loginGroup = strlen(self::getPageCfg()->xt) > 0 ? self::getPageCfg()->xt : 0;
             self::logoutDBFree($loginGroup);
         }
         // xt
         if ($pageCfg->xt) {
             if (!LBoxXTProject::isLogged($pageCfg->xt)) {
                 self::reloadXTLogin();
             }
             if (!LBoxXTProject::isLoggedAdmin($pageCfg->xt)) {
                 LBoxXTProject::logout(0);
                 self::reloadHomePage();
             }
         }
         // super xt
         if ($pageCfg->superxt == 1) {
             if (!LBoxXTProject::isLogged()) {
                 self::reloadXTLogin();
             }
             if (!LBoxXTProject::isLoggedSuperAdmin()) {
                 LBoxXTProject::logout(0);
                 self::reloadHomePage();
             }
         }
         // logged reload
         $reloadParam = strlen($pageCfg->reload) > 0 ? trim($pageCfg->reload) : NULL;
         $reload2FirstChildParam = strlen($pageCfg->reload_to_firstchild) > 0 ? trim($pageCfg->reload_to_firstchild) : NULL;
         $reload2LastChildParam = strlen($pageCfg->reload_to_lastchild) > 0 ? trim($pageCfg->reload_to_lastchild) : NULL;
         $reloadParamPartsLoggedDBFree = strlen($pageCfg->xt_reload_logged_dbfree) > 0 ? explode(":", (string) $pageCfg->xt_reload_logged_dbfree) : array();
         $reloadParamPartsLogged = strlen($pageCfg->xt_reload_logged) > 0 ? explode(":", (string) $pageCfg->xt_reload_logged) : array();
         $reloadParamPartsLoggedXT = strlen($pageCfg->xt_reload_logged_xt) > 0 ? explode(":", (string) $pageCfg->xt_reload_logged_xt) : array();
         $reloadParamPartsLoggedSuperXT = strlen($pageCfg->xt_reload_logged_superxt) > 0 ? explode(":", (string) $pageCfg->xt_reload_logged_superxt) : array();
         if ($reloadParam) {
             self::reload(LBoxConfigManagerStructure::getInstance()->getPageById($reloadParam)->url);
         }
         if ($reload2FirstChildParam) {
             if (self::getPage()->config->hasChildrenInMenu()) {
                 self::reload(self::getPage()->config->getChildNodesIterator()->current()->url);
             }
         }
         if ($reload2LastChildParam) {
             if (self::getPage()->config->hasChildrenInMenu()) {
                 foreach (self::getPage()->config->getChildNodesIterator() as $childItem) {
                     $child = $childItem;
                 }
                 self::reload($child->url);
             }
         }
         if (count($reloadParamPartsLoggedSuperXT) > 0) {
             if (LBoxXTProject::isLoggedSuperAdmin($reloadParamPartsLoggedSuperXT[0])) {
                 self::reloadLoggedSuperXT();
             }
         }
         if (count($reloadParamPartsLoggedXT) > 0) {
             if (LBoxXTProject::isLoggedAdmin($reloadParamPartsLoggedXT[0])) {
                 self::reloadLoggedXT();
             }
         }
         if (count($reloadParamPartsLogged) > 0) {
             if (LBoxXTProject::isLogged($reloadParamPartsLogged[0])) {
                 self::reloadLogged();
             }
         }
         if (count($reloadParamPartsLoggedDBFree) > 0) {
             if (LBoxXTDBFree::isLogged($reloadParamPartsLoggedDBFree[0])) {
                 self::reloadLoggedDBFree();
             }
         }
         // prodlouzit init volani procedury do tridy aktualni stranky
         self::getPage()->executeInit();
     } catch (Exception $e) {
         throw $e;
     }
 }