/** * prepinac na zobrazovani webadminu * @return bool */ public function isToShow() { try { if (LBoxXTDBFree::isLogged()) { return true; } else { return LBoxXTProject::isLoggedAdmin(); } } catch (Exception $e) { throw $e; } }
<?php DEFINE("XT_GROUP", 1); require "../../../../lBox/lib/loader.php"; session_start(); LBoxCacheManagerFront::getInstance()->switchListeningOff(); // check xt session if (!LBoxXTDBFree::isLogged(XT_GROUP) && !LBoxXTProject::isLoggedAdmin(XT_GROUP)) { header("HTTP/1.1 404 Not Found"); die; } $post = LBoxFront::getDataPost(); $postFormData = current($post); // firePHP debug //LBoxFirePHP::table($post, 'POST data debug'); try { ////////////////////////////////////////////////////////////////////// // saving data ////////////////////////////////////////////////////////////////////// foreach ($post as $formID => $data) { $typeRecord = $data["type"]; $idColname = eval("return {$typeRecord}::\$idColName;"); $flagEdit = strlen($postFormData[$idColname]) > 0; $record = strlen($postFormData[$idColname]) < 1 ? new $typeRecord() : new $typeRecord($postFormData[$idColname]); $form = LBoxMetaRecordsManager::getMetaRecord($record)->getForm(); $form->setDoNotReload(true); $form->toString($forceThrow = true); $ret = new stdclass(); // PHP base class // check controls validations errors $exceptions = array();
/** * vymaze cache data konkretni URL pricemz si sam zkontroluje, jestli ma byt stranka na teto URL promazana jen pro momentalne zalogovaneho uzivatele * @param string $url * @param bool $forceCleanForAllXTUsers */ public function cleanURLData($url = "", $forceCleanForAllXTUsers = false) { try { if (strlen($url) < 1) { throw new LBoxExceptionCache(LBoxExceptionCache::MSG_PARAM_STRING_NOTNULL, LBoxExceptionCache::CODE_BAD_PARAM); } if (!array_key_exists($url, (array) $this->recordTypes)) { return; } $config = LBoxConfigManagerStructure::getInstance()->getPageById($this->recordTypes[$url]["pageid"]); if (!$forceCleanForAllXTUsers && !LBoxXTProject::isLoggedAdmin() && $config->cache_by_xtuser) { LBoxCacheFront::getInstance("", "", $this->isPageCachedByXTUserByURL($url))->removeConcrete(LBoxCacheFront::getCacheID(), $url); } else { if ($this->isPageCachedByXTUserByURL($url)) { LBoxCacheFront::getInstance("", "", $this->isPageCachedByXTUserByURL($url))->cleanConcrete($url); } else { LBoxCacheFront::getInstance($url, LBoxCacheFront::getCacheID(), $this->isPageCachedByXTUserByURL($url))->removeConcrete(); } } } catch (Exception $e) { throw $e; } }
/** * jestli ma byt metanode aktivni, nebo ne (pro AJAX editaci) * @return bool */ public function isActive() { try { if (is_bool($this->isActive)) { return $this->isActive; } /* prihlaseni uzivatele kontrolujeme dvema zpusoby * 1) zkontrolujeme LBoxXTDBFree, coz bylo zrizeno specialne pro metanodes * 2) potom se mrkneme jeste na LBoxXTProject::isLoggedAdmin() - priorita #2 */ if (LBoxXTDBFree::isLogged()) { return $this->isActive = true; } else { return $this->isActive = LBoxXTProject::isLoggedAdmin(); } } catch (Exception $e) { throw $e; } }
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; } }
/** * vraci form pro delete clanku * @return LBoxForm * @throws LBoxException */ protected function getFormXTDelete() { try { if (!constant('CLI')) { if (!LBoxXTProject::isLoggedAdmin()) { return ""; } } if ($this->formDelete instanceof LBoxForm) { return $this->formDelete; } $instanceType = get_class($this->instance); $idColName = eval("return {$instanceType}::\$idColName;"); $id = $this->instance->getParamDirect($idColName); $controlID = new LBoxFormControlFillHidden("id", "", $id); foreach ($this->formDeleteValidators as $validatorDeleteID) { $controlID->addValidator($validatorDeleteID); } if (strlen($this->formDeleteTemplateControlID) > 0) { $controlID->setTemplateFileName($this->formDeleteTemplateControlID); } $controlType = new LBoxFormControlFillHidden("type", "", $instanceType); $form = new LBoxForm("record_xt_delete_{$id}", "post", "", "delete"); $form->setTemplateFileName("lbox_form_xt_btn_delete.html"); $form->addControl($controlID); $form->addControl($controlType); $form->addProcessor(new ProcessorRecordDelete()); $form->item_name = strlen($this->instance->name) > 0 ? $this->instance->name : $this->instance->{$idColName}; return $this->formDelete = $form; } catch (Exception $e) { throw $e; } }
/** * 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; } }