/** * Update one static page. * * @return array|\Zend\Http\Response|ViewModel */ public function updateAction() { $sm = $this->getServiceLocator(); $pageService = $sm->get('Stjornvisi\\Service\\Page'); //PAGE FOUND // if (($page = $pageService->getObject($this->params()->fromRoute('id', 0))) != false) { $form = new Page(); if ($this->request->isPost()) { $form->setData($this->request->getPost()); if ($form->isValid()) { $data = $form->getData(); unset($data['submit']); $pageService->update($page->id, $data); return $this->redirect()->toUrl($page->label); } else { return new ViewModel(['form' => $form]); } } else { $form->bind(new \ArrayObject((array) $page)); return new ViewModel(['form' => $form]); } //NOT FOUND // 404 } else { return $this->notFoundAction(); } }