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