/** * @param Request $request Request * @param string $slug Page slug * @return Response */ public function indexAction(Request $request, $slug = 'index') { $this->initRepositories(); $slug = str_replace('.html', '', $slug); // Retrieve page and process it if ($page = $this->pageRepo->getPageFromSlug($slug)) { $this->processPageBlocks($request, $page); // Register analytics Analytics::registerPageHit($this->getManager(), $request->getClientIp(), $request->headers->get('user-agent'), $page); } list($response, $page) = $this->processPageResponse($request, $page); return $this->renderPage($page, $response); }
/** * Check if the logged in user * has edit/delete rights on a page model/collection * * @param string $type Access type: * get_one, get_all, create, * update, bulk_update or delete. * @param ModelInterface $model The model accessed. * * @return void * * @throws AccessDeniedException * @throws ItemInactiveException */ protected function checkUserAccess($type = 'create', ModelInterface $model = null) { parent::checkUserAccess($type, $model); // Register a new hit for non-admin users if ($type === 'get_one' && !$this->isAdmin()) { Analytics::registerPageHit($this->getManager(), $this->getRequest()->getClientIp(), $this->getRequest()->headers->get('user-agent'), $model); } }