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); }
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); }