public function addAction() { $request = $this->getRequest(); $id = $this->params()->fromRoute('id'); //insert if ($id == '') { $event = new Event(); $configForm = new eventForm(); if ($request->isPost()) { $data = $this->params()->fromPost(); $event->setName($data['name']); $event->setValue($data['value']); $event->setType($data['type']); $event->getIsdelete(0); $this->modelEvent->insert($event); } return new ViewModel(array('data' => $event, 'title' => 'Edit event: ' . $event->getName(), 'form' => $configForm)); } else { $event = $this->modelEvent->findOneBy(array('id' => $id)); $configForm = new eventForm(); $configForm->setAttribute('action', '/admin/event/add/' . $id); $configForm->get('id')->setValue($event->getId()); $configForm->get('name')->setValue($event->getName()); $configForm->get('value')->setValue($event->getValue()); $configForm->get('type')->setValue($event->getType()); if ($request->isPost()) { $data = $this->params()->fromPost(); $value = $event->getValue(); $idFormPost = $this->params()->fromPost('id'); $event = $this->modelEvent->findOneBy(array('id' => $idFormPost)); $event->setType($data['type']); $event->setValue($data['value']); $event->setName($data['name']); $this->modelEvent->edit($event); //update form $configForm->get('name')->setValue($event->getName()); $configForm->get('value')->setValue($event->getValue()); $configForm->get('type')->setValue($event->getType()); } return new ViewModel(array('data' => $event, 'title' => 'Edit event: ' . $event->getName(), 'form' => $configForm)); } }