/** * 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(); }