public function process() { try { if (array_key_exists("id", $this->form->getControls())) { $record = new InquiriesRecord($this->form->getControlByName("id")->getValue()); } else { $record = new InquiriesRecord(); $record->question = $this->form->getControlByName("question")->getValue(); } $record->is_active = (int) $this->form->getControlByName("is_active")->isSelected(); $record->store(); if (!array_key_exists("id", $this->form->getControls())) { for ($i = 1; $i <= LBoxConfigManagerProperties::getPropertyContentByName("inquiries_answers_count"); $i++) { if (strlen($this->form->getControlByName("answer-{$i}")->getValue()) < 1) { continue; } $optionsRecords[$i] = new InquiriesOptionsRecord(); $optionsRecords[$i]->ref_inquiry = $record->id; $optionsRecords[$i]->answer = $this->form->getControlByName("answer-{$i}")->getValue(); $optionsRecords[$i]->store(); } } LBoxFront::reload(LBoxFront::getPage()->url . ":" . $record->id); } catch (Exception $e) { throw $e; } }
public function process() { try { $parent = new DiscussionsRecord($this->form->getControlByName("pid")->getValue()); $record = new DiscussionsRecord(); $classNameRecord = get_class($record); foreach ($this->form->getControls() as $control) { if ($control instanceof LBoxFormControlMultiple) { continue; } if ($control instanceof LBoxFormControlSpamDefense) { continue; } if ($control->getName() == "pid") { continue; } if ($control->getName() == eval("return {$classNameRecord}::\$idColName;")) { continue; } $colName = $control->getName(); $record->{$colName} = strlen($control->getValue()) > 0 ? $control->getValue() : "<<NULL>>"; } $record->pageId = LBoxFront::getPage()->id; $record->store(); $parent->addChild($record); // u odpovedi reloadovat na hlavni vlakno if ($parent->hasParent()) { LBoxFront::reload(LBoxUtil::getURLWithoutParamsByPattern(array("/" . $this->patternURLParamReplyTo . "/"))); } } catch (Exception $e) { throw $e; } }
/** * getter na fotogalerii * @return PhotogalleriesRecord */ protected function getPhotogallery() { try { if (!$this->photoGallery instanceof PhotogalleriesRecord) { $this->photoGallery = LBoxFront::getPage()->getRecord(); } if (!$this->photoGallery instanceof PhotogalleriesRecord) { $class = get_class($this); throw new LBoxExceptionPage("You have to set photogallery database record via setPhotoGalleryRecord() setter before get values via '{$class}' instance!"); } return $this->photoGallery; } catch (Exception $e) { throw $e; } }
/** * zjistuje, jestli je na aktualne zobrazene strance povolen resize * @return bool */ public function isAllowedResize() { try { $pagesAllowedResize = LBoxConfigManagerProperties::getPropertyContentByName("metanodes_allow_resize_pages"); $pagesAllowedResizeArr = explode(" ", $pagesAllowedResize); foreach ($pagesAllowedResizeArr as $pageAllowedResize) { $pageAllowedResize = trim($pageAllowedResize); switch (true) { case strtolower($pageAllowedResize) == "all": case $pageAllowedResize == LBoxFront::getPage()->id: return true; break; } } return false; } catch (Exception $e) { throw $e; } }
public function prepare($name = "", $value = NULL) { switch ($name) { case "title": if (!LBoxFront::getPage()->getRecord() instanceof ArticlesRecord) { $class = get_class($this); throw new LBoxExceptionPage("Wrong data returns by LBoxFront::getPage()->getRecord(): " . get_class(LBoxFront::getPage()->getRecord()) . "!"); } $webTitle = LBoxConfigManagerProperties::getInstance()->getPropertyByName("web_title")->getContent(); $pageTitlePattern = LBoxConfigManagerProperties::getInstance()->getPropertyByName("page_title_pattern_article")->getContent(); $pageTitle = $pageTitlePattern; $pageTitle = str_replace("\$properties_web_title", $webTitle, $pageTitle); $pageTitle = str_replace("\$page_title", $value, $pageTitle); $pageTitle = str_replace("\$record_name", LBoxFront::getPage()->getRecord()->heading, $pageTitle); $pageTitle = str_replace("\$article_name", LBoxFront::getPage()->getRecord()->heading, $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 "description": return (string) LBoxFront::getPage()->getRecord()->getParamDirect($name); break; case "heading": return LBoxFront::getPage()->getRecord()->getParamDirect($name); break; case "nameBreadcrumb": case "headingBreadcrumb": return $this->instance->heading; break; default: return parent::prepare($name, $value); } }
/** * preneseni commit success z formu na validatory */ public function commitProcessSuccess() { try { foreach ($this->validators as $validator) { $validator->commitProcessSuccess(); } // uchovat hodnotu pro pripadnou persistenci $_SESSION["LBox"]["Forms"][$this->form->getName()]["Controls"][$this->getName()]["value"][LBoxFront::getPage()->url] = $this->getValue(); } catch (Exception $e) { throw $e; } }
/** * Vraci config home page * @return LBoxConfigItemStructure * @throws LBoxException */ public function getHomePageCfg() { try { $page = LBoxConfigManagerStructure::getInstance()->getHomePage(); if (LBoxFront::getPage()->config->getOutputFilter() instanceof LBoxOutputFilter) { $outputFilterClassName = get_class(LBoxFront::getPage()->config->getOutputFilter()); $page->setOutputFilter(new $outputFilterClassName($page)); } return $page; } catch (Exception $e) { throw $e; } }
/** * vraci, jestli je cache na aktualni strance zapnuta * @return bool */ public function isCacheON() { try { switch (true) { case !LBoxConfigManagerProperties::gpcn("cache_front"): case LBoxFront::getPage()->cache_off: case LBoxFront::getPage()->cache_only_notlogged && LBoxXTProject::isLogged(): return false; break; default: return true; } } catch (Exception $e) { throw $e; } }
/** * Vrati XT roli uzivatele pokud je j*z zalogovan * @param int $loginGroup * @return XTRolesRecord * @throws LBoxExceptionXT */ public static function getUserXTRoleRecord($loginGroup = 0) { try { if ($loginGroup < 1) { if (strlen(LBoxFront::getPage()->xt) > 0) { $loginGroup = LBoxFront::getPage()->xt; } else { $loginGroup = 1; } } if (!self::isLogged($loginGroup)) { throw new LBoxExceptionXT(LBoxExceptionXT::MSG_NOT_LOGGED, LBoxExceptionXT::CODE_NOT_LOGGED); } if (array_key_exists(self::getUserXTRecord($loginGroup)->id, self::$xtRoleRecords) && self::$xtRoleRecords[self::getUserXTRecord($loginGroup)->id] instanceof XTRolesRecord) { return self::$xtRoleRecords[self::getUserXTRecord($loginGroup)->id]; } return self::$xtRoleRecords[self::getUserXTRecord($loginGroup)->id] = self::getUserXTRecord($loginGroup)->getRole(); } catch (Exception $e) { throw $e; } }
/** * Vraci aktualni stranku, nebo NULL pokud jde o 404 * @return LBoxPage */ protected function getPage() { try { // pokud je aktualni stranka 404, tak vracet NULL, aby byl formular nastaven na vytvoreni nove stranky return LBoxFront::getPage()->id == LBoxConfigSystem::getInstance()->getParamByPath("pages/page404") ? NULL : LBoxFront::getPage(); } 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; } }
/** * kvuli kompatibilite s LBoxXT::getUserXTRecord() se jmenuje stejne, ale vraci LBoxConfigItemAuthDBFree * @param int $loginGroup * @return LBoxConfigItemAuthDBFree * @throws LBoxExceptionXT */ public static function getUserXTRecord($loginGroup = 0) { try { if ($loginGroup < 1) { if (strlen(LBoxFront::getPage()->xt) > 0) { $loginGroup = LBoxFront::getPage()->xt; } else { $loginGroup = 1; } } if (!self::isLogged($loginGroup)) { throw new LBoxExceptionXT(LBoxExceptionXT::MSG_NOT_LOGGED, LBoxExceptionXT::CODE_NOT_LOGGED); } if (self::$xtUserRecords[$loginGroup] instanceof LBoxConfigItemAuthDBFree) { return self::$xtUserRecords[$loginGroup]; } return self::$xtUserRecords[$loginGroup] = LBoxConfigManagerAuthDBFree::getInstance()->getLoginByName($_SESSION["lbox"][self::SESSION_ARRAY_NAME][$loginGroup]["usernick"]); } catch (Exception $e) { throw $e; } }