public function process() { try { LBoxXTProject::login(array_key_exists("email", $this->form->getControls()) ? $this->getNickByEmail($this->form->getControlByName("email")->getValue()) : $this->form->getControlByName("nick")->getValue(), $this->form->getControlByName("password")->getValue(), $remember = true); } catch (Exception $e) { throw $e; } }
public function validate(LBoxFormControl $control = NULL) { try { if (!LBoxXTProject::isLogged()) { throw new LBoxExceptionFormValidator(LBoxExceptionXT::MSG_NOT_LOGGED, LBoxExceptionXT::CODE_NOT_LOGGED); } } catch (Exception $e) { throw $e; } }
protected function executeStart() { try { parent::executeStart(); if (LBoxXTProject::isLogged()) { LBoxFront::reloadHomePage(); } } catch (Exception $e) { throw $e; } }
public function validate(LBoxFormControl $control = NULL) { try { if (strlen($control->getForm()->getControlByName("nick")->getValue()) > 0 && strlen($control->getForm()->getControlByName("password")->getValue()) > 0) { if (LBoxXTProject::isLoggedParalellyByLogin($control->getForm()->getControlByName("nick")->getValue(), $control->getForm()->getControlByName("password")->getValue())) { throw new LBoxExceptionFormValidator(LBoxExceptionFormValidatorsLogin::MSG_FORM_VALIDATION_LOGIN_PARALEL, LBoxExceptionFormValidatorsLogin::CODE_FORM_VALIDATION_LOGIN_PARALEL); } } } catch (Exception $e) { throw $e; } }
/** * 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();
/** * 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; } }
/** * vraci cache id podle momentalne (ne)zalogovaneho uzivatele * @return string */ public static function getCacheID() { try { switch (true) { case is_numeric(self::$xTUserIDForce) && self::$xTUserIDForce > 0: return self::getCacheIDByXTUserID(self::$xTUserIDForce); break; case LBoxXTProject::isLogged(): return self::getCacheIDByXTUserID(LBoxXTProject::getUserXTRecord()->id); break; default: return self::getCacheIDByXTUserID(); } } 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; } }
/** * vraci form pro editaci profilu * @return LBoxForm */ public function getForm() { try { if ($this->form instanceof LBoxForm) { return $this->form; } $controls["id"] = new LBoxFormControlFillHidden("id", "", LBoxXTProject::isLogged() ? LBoxXTProject::getUserXTRecord()->id : ""); $controls["id"]->addFilter(new LBoxFormFilterTrim()); $controls["id"]->addValidator(new ValidatorProfileNotExists(LBoxXTProject::isLogged() ? LBoxXTProject::getUserXTRecord()->id : "")); $controls["nick"] = new LBoxFormControlFill("nick", "přezdívka", LBoxXTProject::isLogged() ? LBoxXTProject::getUserXTRecord()->nick : "", 255); $controls["nick"]->addFilter(new LBoxFormFilterTrim()); $controls["nick"]->addValidator(new ValidatorProfileNotExistsByNick(LBoxXTProject::isLogged() ? LBoxXTProject::getUserXTRecord()->id : "", 255)); $controls["nick"]->setTemplateFilename("lbox_form_control_nick.html"); $controls["nick"]->setRequired(); $controls["email"] = new LBoxFormControlFill("email", "e-mail", LBoxXTProject::isLogged() ? LBoxXTProject::getUserXTRecord()->email : "", 255); $controls["email"]->addFilter(new LBoxFormFilterTrim()); $controls["email"]->addValidator(new ValidatorProfileNotExistsByEmail(LBoxXTProject::isLogged() ? LBoxXTProject::getUserXTRecord()->id : "")); $controls["email"]->addValidator(new LBoxFormValidatorEmail()); $controls["email"]->setTemplateFilename("lbox_form_control_email.html"); $controls["email"]->setRequired(); $subControls["passwords"]["password1"] = new LBoxFormControlPassword("password1", "Heslo", "", 30); $subControls["passwords"]["password1"]->setTemplateFilename("lbox_form_control_password.html"); $subControls["passwords"]["password1"]->setRequired(); $subControls["passwords"]["password2"] = new LBoxFormControlPassword("password2", "Heslo podruhé", "", 30); $subControls["passwords"]["password2"]->setTemplateFilename("lbox_form_control_password.html"); $subControls["passwords"]["password2"]->setRequired(); $controls["passwords"] = new LBoxFormControlMultiple("passwords"); foreach ($subControls["passwords"] as $subControl) { $controls["passwords"]->addControl($subControl); } $controls["passwords"]->addValidator(new LBoxFormValidatorPasswords()); $controls["passwords"]->setTemplateFilename("lbox_form_control_multi_passwords.html"); $controls["name"] = new LBoxFormControlFill("name", "jméno", LBoxXTProject::isLogged() ? LBoxXTProject::getUserXTRecord()->name : "", 255); $controls["name"]->addFilter(new LBoxFormFilterTrim()); $controls["name"]->setTemplateFilename("lbox_form_control_name.html"); $controls["name"]->setRequired(); $controls["surname"] = new LBoxFormControlFill("surname", "příjmení", LBoxXTProject::isLogged() ? LBoxXTProject::getUserXTRecord()->surname : "", 255); $controls["surname"]->addFilter(new LBoxFormFilterTrim()); $controls["surname"]->setTemplateFilename("lbox_form_control_surname.html"); $controls["surname"]->setRequired(); $controls["phone"] = new LBoxFormControlFill("phone", "telefon", LBoxXTProject::isLogged() ? LBoxXTProject::getUserXTRecord()->phone : "", 12); $controls["phone"]->addFilter(new LBoxFormFilterTrim()); $controls["phone"]->addFilter(new LBoxFormFilterPhoneNumberCSWithPreselection()); $controls["phone"]->addValidator(new ValidatorProfileNotExistsByPhone(LBoxXTProject::isLogged() ? LBoxXTProject::getUserXTRecord()->id : "")); $controls["phone"]->addValidator(new LBoxFormValidatorPhone()); $controls["phone"]->setTemplateFilename("lbox_form_control_phone.html"); $controls["phone"]->setRequired(); $controls["street"] = new LBoxFormControlFill("street", "Ulice", LBoxXTProject::isLogged() ? LBoxXTProject::getUserXTRecord()->street : "", 255); $controls["street"]->addFilter(new LBoxFormFilterTrim()); $controls["street"]->setTemplateFilename("lbox_form_control_street.html"); $controls["street"]->setRequired(); $controls["street_number"] = new LBoxFormControlFill("street_number", "Číslo domu", LBoxXTProject::isLogged() ? LBoxXTProject::getUserXTRecord()->street_number : "", 11); $controls["street_number"]->addFilter(new LBoxFormFilterTrim()); $controls["street_number"]->setTemplateFilename("lbox_form_control_streetnumber.html"); $controls["street_number"]->setRequired(); $controls["city"] = new LBoxFormControlFill("city", "město", LBoxXTProject::isLogged() ? LBoxXTProject::getUserXTRecord()->city : "", 255); $controls["city"]->addFilter(new LBoxFormFilterTrim()); $controls["city"]->setTemplateFilename("lbox_form_control_city.html"); $controls["city"]->setRequired(); $controls["zip"] = new LBoxFormControlFill("zip", "PSČ", LBoxXTProject::isLogged() ? LBoxXTProject::getUserXTRecord()->zip : "", 5); $controls["zip"]->addFilter(new LBoxFormFilterEraseSpaces()); $controls["zip"]->addValidator(new LBoxFormValidatorZIPCS()); $controls["zip"]->setTemplateFilename("lbox_form_control_zip.html"); $controls["zip"]->setRequired(); $this->form = new LBoxForm("profile", "post", LBoxXTProject::isLogged() ? "Úprava profilu" : "Vytvořit profil", "Uložit"); $this->form->addProcessor($processorSaveProfile = new ProcessorSaveProfile()); $this->form->addProcessor(new ProcessorRegistrationSendConfirmMail($processorSaveProfile)); foreach ($controls as $control) { $this->form->addControl($control); } return $this->form; } 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; } }
LBoxCacheManagerFront::getInstance()->switchListeningOff(); // check xt session if (!LBoxXTDBFree::isLogged(XT_GROUP) && !LBoxXTProject::isLoggedAdmin(XT_GROUP)) { header("HTTP/1.1 404 Not Found"); die; } // firePHP debug //LBoxFirePHP::log(LBoxConfigSystem::getInstance()->getParamByPath("metanodes/images/path")); //LBoxFirePHP::table($_FILES['image'], "uploaded image data"); try { ////////////////////////////////////////////////////////////////////// // saving data ////////////////////////////////////////////////////////////////////// if (strlen($tmpPath = $_FILES['image']['tmp_name']) > 0) { $imgName = $_FILES["image"]["name"]; $userRecord = LBoxXTProject::isLogged() ? LBoxXTProject::getUserXTRecord() : LBoxXTDBFree::getUserXTRecord(); $dirTarget = LBoxUtil::fixPathSlashes(LBoxConfigSystem::getInstance()->getParamByPath("metanodes/images/path") . SLASH . $userRecord->nick . SLASH . date("Ym")); $imgNameTarget = date("YmdHis") . "." . LBoxUtil::getExtByFilename($imgName); $imageURL = str_replace('\\', '/', LBoxUtil::fixPathSlashes(str_replace(LBOX_PATH_PROJECT, "", "{$dirTarget}/{$imgNameTarget}"))); LBoxUtil::createDirByPath($dirTarget); if (!move_uploaded_file($tmpPath, "{$dirTarget}" . SLASH . "{$imgNameTarget}")) { throw new LBoxExceptionFilesystem(LBoxExceptionFilesystem::MSG_FILE_UPLOAD_ERROR, LBoxExceptionFilesystem::CODE_FILE_UPLOAD_ERROR); } $ret = new stdclass(); // PHP base class $ret->status = "UPLOADED"; $ret->image_url = $imageURL; header("HTTP/1.1 200 OK"); header("content-type: text/html"); die(json_encode($ret)); }
/** * logout client user * @param int $loginGroup login group to logout */ public static function logout($loginGroup = 1) { try { LBoxXTProject::logout($loginGroup); LBoxXTDBFree::logout($loginGroup); self::reload(LBoxUtil::getURLWithoutParams(array(self::getURLParamNameLogout()))); } catch (Exception $e) { throw $e; } }