예제 #1
0
 /**
  * prepinac na zobrazovani webadminu
  * @return bool
  */
 public function isToShow()
 {
     try {
         if (LBoxXTDBFree::isLogged()) {
             return true;
         } else {
             return LBoxXTProject::isLoggedAdmin();
         }
     } catch (Exception $e) {
         throw $e;
     }
 }
예제 #2
0
 /**
  * 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;
     }
 }
예제 #3
0
파일: index.php 프로젝트: palmic/lbox
<?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();
예제 #4
0
 /**
  * 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;
     }
 }
예제 #5
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;
     }
 }