Example #1
0
 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;
     }
 }
Example #3
0
 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;
     }
 }
Example #5
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;
     }
 }
Example #6
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;
     }
 }
Example #7
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();
 /**
  * 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;
     }
 }
Example #9
0
 /**
  * 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;
     }
 }
Example #10
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;
     }
 }
Example #11
0
 /**
  * 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;
     }
 }
Example #12
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;
     }
 }
Example #14
0
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));
    }
Example #15
0
 /**
  * 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;
     }
 }