Example #1
0
 /**
  * savePageAction
  *
  * @return Response|\Zend\Http\Response
  */
 public function savePageAction()
 {
     if (!$this->rcmIsAllowed('sites.' . $this->currentSite->getSiteId() . '.pages', 'edit')) {
         $response = new Response();
         $response->setStatusCode('401');
         return $response;
     }
     // @todo - might validate these against the data coming in
     $pageName = $this->getEvent()->getRouteMatch()->getParam('rcmPageName', 'index');
     $pageRevision = $this->getEvent()->getRouteMatch()->getParam('rcmPageRevision', null);
     $pageType = $this->getEvent()->getRouteMatch()->getParam('rcmPageType', 'n');
     /** @var \Zend\Http\Request $request */
     $request = $this->getRequest();
     if ($request->isPost()) {
         /** @var \Zend\Stdlib\Parameters $data */
         $data = $request->getPost()->toArray();
         $this->prepSaveData($data);
         $result = $this->pageRepo->savePage($this->currentSite, $pageName, $pageRevision, $pageType, $data, $this->rcmUserGetCurrentUser()->getName());
         if (empty($result)) {
             $return['redirect'] = $this->urlToPage($pageName, $pageType, $pageRevision);
         } else {
             $return['redirect'] = $this->urlToPage($pageName, $pageType, $result);
         }
         return $this->getJsonResponse($return);
     }
     $response = new Response();
     $response->setStatusCode('404');
     return $response;
 }