コード例 #1
0
 public function getNewPasswordPage()
 {
     if ($this->auth->isLoggedIn()) {
         RequestHandler::redirect($this->core->getSettings()->logincontroller->page_after_login);
     }
     // Do some checks
     $tokenUserID = $this->route->getParam(0);
     $token = substr($tokenUserID, 0, 13);
     $userID = substr($tokenUserID, 13);
     $tokenValid = $this->auth->checkToken($token, $userID);
     return $this->generatePage(array('siteTitle' => 'Choose your new password', 'status' => $this->formHelper !== null && $this->formHelper->hasErrors() ? CmsUtils::getErrorsAsHtml($this->formHelper->getErrors()) : null, 'token_valid' => $tokenValid));
 }
コード例 #2
0
 /**
  * Returns a unordered HTML list which includes all the pending messages
  *
  * @return string|null A unordered list with all pending messages or null if no messages are pending
  */
 protected function renderPendingMessage()
 {
     if (isset($_SESSION['cms_backend_msg_key']) === false || is_array($_SESSION['cms_backend_msg_key']) === false) {
         return null;
     }
     $messageHtml = '';
     foreach ($_SESSION['cms_backend_msg_key'] as $msg) {
         if ($msg instanceof CmsBackendMessage === false && isset($this->messages[$msg]) === false) {
             continue;
         }
         /** @var CmsBackendMessage $msgObj */
         $msgObj = $msg instanceof CmsBackendMessage ? $msg : $this->messages[$msg];
         $messageHtml .= CmsUtils::renderMessage($msgObj->getMessage(), $msgObj->getType());
     }
     $_SESSION['cms_backend_msg_key'] = array();
     return $messageHtml;
 }
コード例 #3
0
 public function getRouteEdit()
 {
     $this->abortIfUserHasNotRights('CMS_ROUTES_EDIT');
     $lang = $this->getLocaleHandler()->getLanguage();
     $routeID = $this->route->getParam(0);
     $routeModel = new RouteModel($this->db);
     $routeData = $routeModel->getRouteByID($routeID);
     $pageModel = new PageModel($this->db);
     $pageOptions = array(0 => ' - please choose -');
     /*foreach($pageModel->getAllPages() as $p) {
     			$pagePath = $pageModel->getPagePath($p->ID);
     
     			$pageOptions[$p->ID] = $p->title . ' (' . $p->language_codeFK . ((count($pagePath) > 0)?', ' . implode(' > ', $pagePath):null) . ')';
     		}*/
     $pageOptions += $pageModel->generatePageTreeOpts();
     $routeOptions = array(0 => '- please choose -');
     foreach ($routeModel->getAllRoutes() as $r) {
         if ($r->ID == $this->route->getParam(0)) {
             continue;
         }
         $routeOptions[$r->ID] = $r->pattern;
     }
     $routeTyp = null;
     if ($routeData !== null) {
         if ($routeData->page_IDFK !== null) {
             $routeTyp = 1;
         } elseif ($routeData->redirect_route_IDFK !== null) {
             $routeTyp = 2;
         }
     }
     $moduleModel = new ModuleModel($this->db);
     $moduleOptions = array(0 => '- please choose -');
     foreach ($moduleModel->getModulesWithFrontendController() as $mod) {
         $moduleOptions[$mod->ID] = $mod->manifest_content->name->{$lang};
     }
     $tplVars = array('siteTitle' => $routeData !== null ? 'Edit route #' . $routeID : 'Create new route', 'form_status' => $this->formHelper !== null && $this->formHelper->hasErrors() ? CmsUtils::getErrorsAsHtml($this->formHelper->getErrors()) : null, 'form_pattern' => $routeData !== null ? substr($routeData->pattern, 1) : null, 'form_robots' => $routeData !== null ? $routeData->robots : null, 'form_regexp' => $routeData !== null ? $routeData->regex : null, 'form_page' => $routeData !== null ? $routeData->page_IDFK : null, 'form_redirect' => $routeData !== null ? $routeData->redirect_route_IDFK : null, 'form_route_typ' => $routeTyp, 'form_module' => $routeData !== null ? $routeData->mod_IDFK : null, 'opts_page' => $pageOptions, 'opts_routes' => $routeOptions, 'opts_modules' => $moduleOptions, 'domain' => $this->httpRequest->getHost() . '/');
     if ($this->formHelper !== null && $this->formHelper->sent()) {
         $tplVars['form_pattern'] = $this->formHelper->getFieldValue('pattern');
         $tplVars['form_robots'] = $this->formHelper->getFieldValue('robots');
         $tplVars['form_regexp'] = $this->formHelper->getFieldValue('regexp');
         $tplVars['form_page'] = $this->formHelper->getFieldValue('page');
         $tplVars['form_redirect'] = $this->formHelper->getFieldValue('redirect');
         $tplVars['form_route_typ'] = $this->formHelper->getFieldValue('route_typ');
     }
     return $this->generatePageFromTemplate('backend-route-edit', $tplVars);
 }
コード例 #4
0
 public function processPageRightEdit($params)
 {
     $this->formHelper = new FormHelper(FormHelper::METHOD_POST);
     $pageID = isset($params[0]) ? $params[0] : null;
     $rightGroupModel = new RightGroupModel($this->cmsController->getDB());
     $optsRightGroups = array();
     foreach ($rightGroupModel->getRightGroups() as $g) {
         if ($g->isRoot() === true) {
             continue;
         }
         $optsRightGroups[$g->getID()] = $g->getGroupName();
     }
     $this->formHelper->addField('rightgroup', null, FormHelper::TYPE_OPTION, true, array('missingError' => 'Please choose a group', 'invalidError' => 'Please choose a valid group', 'options' => $optsRightGroups));
     $this->formHelper->addField('rights', null, FormHelper::TYPE_MULTIOPTIONS, false, array('missingError' => 'Please choose one or more rights', 'invalidError' => 'Please choose one or more valid rights', 'options' => array('read' => 'read', 'write' => 'write')));
     $this->formHelper->addField('date_from', null, FormHelper::TYPE_DATE, true, array('missingError' => 'Please enter a date from where the group should have access', 'invalidError' => 'Please enter a valid date from where the group should habe acess'));
     $this->formHelper->addField('date_to', null, FormHelper::TYPE_DATE, false, array('invalidError' => 'Please enter a valid date till when the group should habe acess'));
     if (!$this->formHelper->sent() || !$this->formHelper->validate()) {
         return $this->getPageRightEdit($params);
     }
     $dateFrom = $this->formHelper->getFieldValue('date_from');
     $dateTo = $this->formHelper->getFieldValue('date_to');
     if ($dateFrom !== null) {
         $dtFrom = new \DateTime($this->formHelper->getFieldValue('date_from'));
     }
     if ($dateTo !== null) {
         $dtTo = new \DateTime($this->formHelper->getFieldValue('date_to'));
     }
     $rights = $this->formHelper->getFieldValue('rights');
     try {
         $stmntSaveRightGroup = $this->cmsController->getDB()->prepare("\n\t\t\t\tINSERT INTO page_has_rightgroup SET page_IDFK = ?, rightgroup_IDFK = ?, start_date = ?, end_date = ?, rights = ?\n\t\t\t\tON DUPLICATE KEY UPDATE start_date = ?, end_date = ?, rights = ?\n\t\t\t");
         $this->cmsController->getDB()->insert($stmntSaveRightGroup, array($pageID, $this->formHelper->getFieldValue('rightgroup'), $dateFrom !== null ? $dtFrom->format('Y-m-d H:i:s') : null, $dateTo !== null ? $dtTo->format('Y-m-d H:i:s') : null, CmsUtils::getRightsAsDec(in_array('read', $rights) ? '1' : '0', in_array('write', $rights) ? '1' : '0'), $dateFrom !== null ? $dtFrom->format('Y-m-d H:i:s') : null, $dateTo !== null ? $dtTo->format('Y-m-d H:i:s') : null, CmsUtils::getRightsAsDec(in_array('read', $rights) ? '1' : '0', in_array('write', $rights) ? '1' : '0')));
     } catch (\Exception $e) {
         $this->formHelper->addError(null, 'Could not save right information');
     }
     if ($this->formHelper->hasErrors()) {
         return $this->getPageRightEdit($params);
     }
     RequestHandler::redirect($this->baseLink . '/page/' . $pageID);
 }
コード例 #5
0
 public function getEditUser()
 {
     $this->abortIfUserHasNotRights('BACKEND_USERS_EDIT');
     $rightgroupModel = new RightGroupModel($this->db);
     $formVars = array('form_name' => null, 'form_email' => null, 'form_rightgroups' => array(), 'form_active' => 0);
     if ($this->formHelper !== null && $this->formHelper->sent()) {
         $formVars['form_name'] = $this->formHelper->getFieldValue('name');
         $formVars['form_email'] = $this->formHelper->getFieldValue('email');
         $formVars['form_active'] = $this->formHelper->getFieldValue('active');
         $formVars['form_rightgroups'] = $this->formHelper->getFieldValue('rightgroups');
     } elseif ($this->route->getParam(0)) {
         $formVars['form_name'] = null;
         $formVars['form_email'] = null;
         $formVars['form_active'] = null;
         $formVars['form_rightgroups'] = null;
     }
     $rightgroups = array();
     foreach ($rightgroupModel->getRightGroups() as $rg) {
         $rightgroups[$rg->ID] = $rg->groupname;
     }
     $tplVars = array('siteTitle' => $this->route->getParam(0) === null ? 'Create new user' : 'Edit user', 'opts_rightgroups' => $rightgroups, 'submit_label' => $this->route->getParam(0) === null ? 'Create' : 'Save changes', 'form_status' => $this->formHelper !== null && $this->formHelper->hasErrors() ? CmsUtils::getErrorsAsHtml($this->formHelper->getErrors()) : null);
     return $this->generatePageFromTemplate('backend-account-user-edit', array_merge($tplVars, $formVars));
 }
コード例 #6
0
 public function getEditNavHasEntry($params)
 {
     $entriesChosen = array();
     $entriesPool = array();
     $form_hidden = 0;
     if (isset($params[0])) {
         $formHiddenStmnt = $this->cmsController->getDB()->prepare("\n\t\t\t\tSELECT hidden FROM navigation_has_entry WHERE navigation_IDFK = ? AND navigation_entry_IDFK = ?\n\t\t\t");
         $resFormHidden = $this->cmsController->getDB()->select($formHiddenStmnt, array($params[0], $params[1]));
         if (count($resFormHidden) > 0) {
             $form_hidden = $resFormHidden[0]->hidden;
         }
         $navigationEntries = $this->navigationModel->getEntriesByNavID($params[0], null, $params[1]);
         foreach ($navigationEntries as $e) {
             $entriesChosen[$e->navigation_entry_IDFK] = $e->title . '<span>' . $e->pattern . '</span>';
         }
     }
     $allEntries = $this->navigationModel->getAllNavigationEntries();
     $entriesChosenKeys = array_keys($entriesChosen);
     foreach ($allEntries as $e) {
         if (in_array($e->ID, $entriesChosenKeys)) {
             continue;
         }
         $entriesPool[$e->ID] = $e->title . '<span>' . $e->pattern . '</span>';
     }
     $tplVars = array('siteTitle' => 'Edit entry #' . $params[1] . ' in navigation  #' . $params[0], 'form_message' => $this->formHelper !== null && $this->formHelper->sent() && $this->formHelper->hasErrors() ? CmsUtils::getErrorsAsHtml($this->formHelper->getErrors()) : null, 'form_hidden' => $this->formHelper !== null && $this->formHelper->sent() && $this->formHelper->hasErrors() ? $this->formHelper->getFieldValue('hidden') : $form_hidden, 'entries_chosen' => $entriesChosen, 'entries_pool' => $entriesPool);
     return $this->renderModuleContent('mod-navigation-edit-nav-has-entry', $tplVars);
 }
コード例 #7
0
 public static function getRightsAsString($value, \stdClass $record, $selector, TableRenderer $tableRenderer)
 {
     return CmsUtils::getRightsAsString($value);
 }