/** * Редактирование параметров конкретного сайта */ public function editAction() { // вывод заголовков $this->view->title = "Изменить параметры сайта."; $this->view->headTitle($this->view->title, 'PREPEND'); // модели $site = new Application_Model_Sites(); $group = new Application_Model_SiteGroups(); // форма $form = new Application_Form_EditSite(); // костыль с валидатором $validator = new Zend_Validate_Hostname(); // данные $post = $this->_request->getPost(); $site_id = $this->_getParam('id'); $site_params = $site->getSite($site_id); // заполняем форму $form->populate($site_params); if (isset($post) && !empty($post['url'])) { $url = parse_url($post['url'], PHP_URL_HOST); if ($form->isValid($post) && $validator->isValid($url)) { $url = $post['url'] . '/'; if ($post['newgroup']) { $id_group = $group->addGroup($post['newgroup']); $site->editSite($site_id, $post['name'], $url, $id_group); } else { $site->editSite($site_id, $post['name'], $url, $post['group']); } $this->_redirect('/'); } else { // вывод в шаблон $this->view->message = 'Некорректная ссылка на сайт.'; $form->populate($post); } } // вывод в шаблон $this->view->form = $form; }