/** * Registers the groups as access levels. * * @access public * @param \Zepi\Turbo\Framework $framework * @param \Zepi\Turbo\Request\RequestAbstract $request * @param \Zepi\Turbo\Response\Response $response * @param mixed $value * @return mixed */ public function execute(Framework $framework, RequestAbstract $request, Response $response, $value = null) { $accessLevels = $value; $dataRequest = new DataRequest(1, 0, 'name', 'ASC'); foreach ($this->groupManager->find($dataRequest) as $group) { $accessLevels[] = new GroupAccessLevel('\\Group\\' . $group->getUuid(), $this->translationManager->translate('Group', '\\Zepi\\Web\\AccessControl') . ' ' . $group->getName(), $this->translationManager->translate('Inherits all permissions from this group.', '\\Zepi\\Web\\AccessControl'), '\\Group'); } return $accessLevels; }
/** * 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; }
/** * Gives the string to translate and the domain to the translation manager * and returns the value * * @access public * @param string $string * @param string $namespace * @param array $arguments * @return string */ public function translate($string, $namespace, $arguments = array()) { return $this->translationManager->translate($string, $namespace, $arguments); }