/** * Edit script * * @return \Zend\Script\Model\ScriptModel */ public function editAction() { $scriptId = $this->getRouteMatch()->getParam('id', null); $scriptModel = Script\Model::fromId($scriptId); if (empty($scriptId) or empty($scriptModel)) { return $this->redirect()->toRoute('development/script'); } $scriptForm = new ScriptForm(); $scriptForm->setAttribute('action', $this->url()->fromRoute('development/script/edit', array('id' => $scriptId))); $scriptForm->loadValues($scriptModel); if ($this->getRequest()->isPost()) { $data = $this->getRequest()->getPost()->toArray(); $scriptForm->setData($data); if (!$scriptForm->isValid()) { $this->flashMessenger()->addErrorMessage('Can not save script'); $this->useFlashMessenger(); } else { $scriptModel->setName($scriptForm->getValue('name')); $scriptModel->setIdentifier($scriptForm->getValue('identifier')); $scriptModel->setDescription($scriptForm->getValue('description')); $scriptModel->setContent($scriptForm->getValue('content')); $scriptModel->save(); $this->flashMessenger()->addSuccessMessage('This script has been saved'); return $this->redirect()->toRoute('development/script/edit', array('id' => $scriptId)); } } return array('form' => $scriptForm, 'scriptId' => $scriptId); }