Ejemplo n.º 1
0
 /**
  * Edit action method
  *
  * @param  int $id
  * @return void
  */
 public function edit($id)
 {
     $field = new Model\Field();
     $field->getById($id);
     $fields = $this->application->config()['forms']['Phire\\Fields\\Form\\Field'];
     if (!file_exists(getcwd() . CONTENT_PATH . '/modules/phire/assets/js/ckeditor')) {
         unset($fields[1]['editor']['value']['ckeditor-local']);
     }
     if (!file_exists(getcwd() . CONTENT_PATH . '/modules/phire/assets/js/tinymce')) {
         unset($fields[1]['editor']['value']['tinymce-local']);
     }
     if (null !== $field->editor) {
         $fields[1]['editor']['attributes']['style'] = 'display: block;';
     }
     $groups = Table\FieldGroups::findAll();
     foreach ($groups->rows() as $group) {
         $fields[0]['group_id']['value'][$group->id] = $group->name;
     }
     $models = $this->application->module('phire-fields')->config()['models'];
     foreach ($models as $model => $type) {
         $fields[4]['model_1']['value'][$model] = $model;
     }
     $this->prepareView('fields/edit.phtml');
     $this->view->title = 'Fields : Edit';
     $this->view->field_name = $field->name;
     $fields[2]['name']['attributes']['onkeyup'] = 'phire.changeTitle(this.value);';
     $this->view->form = new Form\Field($fields);
     $this->view->form->addFilter('htmlentities', [ENT_QUOTES, 'UTF-8'])->setFieldValues($field->toArray());
     if ($this->request->isPost()) {
         $this->view->form->addFilter('strip_tags')->setFieldValues($this->request->getPost());
         if ($this->view->form->isValid()) {
             $this->view->form->clearFilters()->addFilter('html_entity_decode', [ENT_QUOTES, 'UTF-8'])->filter();
             $field = new Model\Field();
             $field->update($this->view->form->getFields());
             $this->view->id = $field->id;
             $this->sess->setRequestValue('saved', true);
             $this->redirect(BASE_PATH . APP_URI . '/fields/edit/' . $field->id);
         }
     }
     $this->send();
 }