Ejemplo n.º 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;
     }
 }
Ejemplo n.º 2
0
<?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();
Ejemplo n.º 3
0
 /**
  * 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;
     }
 }
Ejemplo n.º 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;
     }
 }
Ejemplo n.º 5
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;
     }
 }
 /**
  * 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;
     }
 }
Ejemplo n.º 7
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;
     }
 }