/** * Get the Admin Menu Bar * * @return mixed */ public function getAdminWrapperAction() { $allowed = $this->cmsPermissionChecks->siteAdminCheck($this->currentSite); if (!$allowed) { return null; } /** @var RouteMatch $routeMatch */ $routeMatch = $this->getEvent()->getRouteMatch(); $siteId = $this->currentSite->getSiteId(); $sourcePageName = $routeMatch->getParam('page', 'index'); if ($sourcePageName instanceof Page) { $sourcePageName = $sourcePageName->getName(); } $pageType = $routeMatch->getParam('pageType', 'n'); $view = new ViewModel(); $view->setVariable('restrictions', false); if ($this->cmsPermissionChecks->isPageRestricted($siteId, $pageType, $sourcePageName, 'read') == true) { $view->setVariable('restrictions', true); } $view->setVariable('adminMenu', $this->adminPanelConfig); $view->setTemplate('rcm-admin/admin/admin'); return $view; }
/** * Check an individual link * * @param NavLink $link Link to check * * @return bool */ public function checkLink(NavLink $link) { $siteAdmin = $this->permissionChecks->siteAdminCheck($this->currentSite); $userHasPermissions = $this->usersRoleHasPermissions($link->getPermissions()); if ($link->isLoginLink() && $this->permissionChecks->isCurrentUserLoggedIn()) { $link->addSystemClass('HiddenLink'); } elseif ($link->isLogoutLink() && !$this->permissionChecks->isCurrentUserLoggedIn()) { $link->addSystemClass('HiddenLink'); } elseif ($siteAdmin && !$userHasPermissions) { $link->addSystemClass('HiddenLink'); } if ($siteAdmin || $userHasPermissions) { return true; } return false; }
/** * isAdmin * * @param Site $site Site to check * * @return \Zend\Http\Response */ public function __invoke(Site $site) { return $this->checker->siteAdminCheck($site); }