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; } }
/** * 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; } }