Example #1
0
 /**
  * Add action method
  *
  * @return void
  */
 public function add()
 {
     $this->prepareView('views/add.phtml');
     $this->view->title = 'Views : Add';
     $fields = $this->application->config()['forms']['Phire\\Views\\Form\\View'];
     if ($this->application->isRegistered('phire-fields')) {
         $models = $this->application->module('phire-fields')->config()['models'];
         foreach ($models as $model => $type) {
             $fields[2]['model_1']['value'][$model] = $model;
         }
     }
     $this->view->form = new Form\View($fields);
     if ($this->request->isPost()) {
         $this->view->form->addFilter('strip_tags')->addFilter('htmlentities', [ENT_QUOTES, 'UTF-8'])->setFieldValues($this->request->getPost());
         if ($this->view->form->isValid()) {
             $this->view->form->clearFilters()->addFilter('html_entity_decode', [ENT_QUOTES, 'UTF-8'])->filter();
             $view = new Model\View();
             $view->save($this->view->form->getFields());
             $this->view->id = $view->id;
             $this->sess->setRequestValue('saved', true);
             $this->redirect(BASE_PATH . APP_URI . '/views/edit/' . $view->id);
         }
     }
     $this->send();
 }