/** * Optimizes the given css content. * * @access public * @param array $accessLevels * @param \Zepi\Web\AccessControl\Entity\User $editedGroup * @param \Zepi\Web\AccessControl\Entity\Group $editedGroup * @return string */ public function transformAccessLevels($accessLevels, User $user, Group $editedGroup = null) { $selectorItems = array(); foreach ($accessLevels as $accessLevel) { $disabled = false; if (!$user->hasAccess($accessLevel->getKey()) || $editedGroup !== null && $this->isEditedGroup($accessLevel->getKey(), $editedGroup)) { $disabled = true; } $name = $accessLevel->getName(); $description = $accessLevel->getDescription(); if ($accessLevel instanceof GroupAccessLevel) { $icon = 'mdi mdi-group'; } else { $icon = 'mdi mdi-toll'; $name = $this->translationManager->translate($name, $accessLevel->getNamespace()); $description = $this->translationManager->translate($description, $accessLevel->getNamespace()); } $selectorItems[] = new SelectorItem($accessLevel->getKey(), $name, $description, $icon, $disabled); } return $selectorItems; }
/** * Returns true if the user of this session has acces * to the given access level, return false otherwise. * * @access public * @param string $accessLevel * @return boolean */ public function hasAccess($accessLevel) { return $this->user->hasAccess($accessLevel); }