Example #1
0
 /**
  * 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();
     }
 }