Beispiel #1
0
 public function editAction()
 {
     $request = $this->getRequest();
     $template = $request->getParam('template_id');
     $this->view->template = $template;
     $pageId = $request->getParam('page_id');
     $page = Modules_Core_Services_Page::getById($pageId);
     if (null == $page) {
         return;
     }
     $page['template_id'] = $template;
     $this->view->pageData = $page;
     $dbRoutesPage = Modules_Core_Services_Page::dbPages('route');
     $routes = array();
     if ($dbRoutesPage) {
         foreach ($dbRoutesPage as $index => $route) {
             $routes[] = $route['route'];
         }
     }
     $this->view->dbRoutesPage = $routes;
     $routesFrontend = Gio_Core_Route::getInstance()->getRoutes(true);
     $this->view->routesFrontend = $routesFrontend;
     if ($request->isPost()) {
         $pageData = $request->getPost('page');
         $pageData = Modules_Core_Services_Page::validate($pageData);
         if (isset($pageData['messages_error']) && $pageData['messages_error']) {
             $this->view->errorMessages = $pageData['messages'];
             $pageData['page_id'] = $pageId;
             $pageData['template_id'] = $template;
             $this->view->pageData = $pageData;
             return;
         }
         if (in_array($pageData['route'], $routes) && $page['route'] != $pageData['route']) {
             Gio_Core_Messenger::getInstance()->addMessage($this->view->TRANSLATOR->translator('page_actions_edit_exist'));
             $this->redirect($this->view->url('core_page_edit', $page));
             return;
         }
         Modules_Core_Services_Page::update($pageData);
         Gio_Core_Messenger::getInstance()->addMessage($this->view->TRANSLATOR->translator('page_actions_edit_success'));
         $this->redirect($this->view->url('core_page_edit', $page));
     }
 }