/** * prepinac na zobrazovani webadminu * @return bool */ public function isToShow() { try { if (LBoxXTDBFree::isLogged()) { return true; } else { return LBoxXTProject::isLoggedAdmin(); } } catch (Exception $e) { throw $e; } }
/** * pretizeno o dalsi kontroly vztahujici se pouze na metanodes * @return bool */ public function isToShow() { try { if (!parent::isToShow()) { return false; } $forbiddenXTRoles = explode(",", LBoxConfigManagerProperties::getPropertyContentByName("metanodes_forbidden_xtroles")); array_walk($forbiddenXTRoles, "trim"); foreach ($forbiddenXTRoles as $forbiddenXTRole) { if (LBoxXTDBFree::isLogged()) { if (trim($forbiddenXTRole) == LBoxXTDBFree::getUserXTRecord()->ref_xtrole) { return false; } } else { if (trim($forbiddenXTRole) == LBoxXTProject::getUserXTRoleRecord()->id) { return false; } } } return true; } 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();
/** * 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; } }
/** * 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; } }