/** * Return single resource * * @param mixed $id Id to retrieve * * @return JsonModel|Response */ public function get($id) { if (!$this->rcmIsSiteAdmin($this->currentSite)) { $response = new Response(); $response->setStatusCode('401'); return $response; } $userName = $this->params('username'); $doc = $this->api->getEmbed($userName, $id); return new JsonModel($doc); }
/** * Test Process Rcm Responses * * @return void * * @covers \Rcm\EventListener\EventFinishListener::processRcmResponses */ public function testProcessRcmResponses() { $mockResponseHandler = $this->getMockBuilder('Rcm\\Service\\ResponseHandler')->disableOriginalConstructor()->getMock(); $mockResponseHandler->expects($this->once())->method('processResponse'); /** @var \Rcm\Service\ResponseHandler $mockResponseHandler */ $listener = new EventFinishListener($mockResponseHandler); $event = new MvcEvent(); $response = new Response(); $response->setStatusCode(404); $event->setResult($response); $listener->processRcmResponses($event); }
/** * Test Process Rcm Responses * * @return void * * @covers \Rcm\EventListener\ViewEventListener::processRcmResponses */ public function testProcessRcmResponsesIgnoresJsonRenderer() { $event = new ViewEvent(); $response = new Response(); $response->setStatusCode(404); $mockResponseHandler = $this->getMockBuilder('Rcm\\Service\\ResponseHandler')->disableOriginalConstructor()->getMock(); $mockResponseHandler->expects($this->never())->method('processResponse'); $mockContainerPlugin = $this->getMockBuilder('\\Rcm\\View\\Helper\\Container')->disableOriginalConstructor()->getMock(); $mockContainerPlugin->expects($this->any())->method('getResponse')->will($this->returnValue($response)); $mockRenderer = $this->getMockBuilder('\\Zend\\View\\Renderer\\JsonRenderer')->disableOriginalConstructor()->getMock(); $mockRenderer->expects($this->any())->method('plugin')->will($this->returnValue($mockContainerPlugin)); /** @var \Zend\View\Renderer\PhpRenderer $mockRenderer */ $event->setRenderer($mockRenderer); /** @var \Rcm\Service\ResponseHandler $mockResponseHandler */ $listener = new ViewEventListener($mockResponseHandler); $listener->processRcmResponses($event); }
/** * Process 401 Response Objects. This will redirect the visitor to the * sites configured login page. * * @return Response */ protected function processNotAuthorized() { $loginPage = $this->currentSite->getLoginPage(); $notAuthorized = $this->currentSite->getNotAuthorizedPage(); $returnToUrl = urlencode($this->request->getServer('REQUEST_URI')); $newResponse = new Response(); $newResponse->setStatusCode('302'); if (!$this->userService->hasIdentity()) { $newResponse->getHeaders()->addHeaderLine('Location: ' . $loginPage . '?redirect=' . $returnToUrl); } else { $newResponse->getHeaders()->addHeaderLine('Location: ' . $notAuthorized); } return $newResponse; }
/** * 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; }