/** * 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; }