コード例 #1
0
 /**
  * Редактирование параметров конкретного сайта 
  */
 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;
 }