Пример #1
0
 /**
  * Replaces all group access levels with the permissions of the group
  * 
  * @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)
 {
     $permissions = array();
     foreach ($value as $accessLevel) {
         $parts = explode('\\', $accessLevel);
         if ($parts[1] === 'Group' && count($parts) === 3) {
             $uuid = $parts[2];
             $groupPermissions = $this->accessControlManager->getPermissionsForUuid($uuid);
             if ($groupPermissions !== false) {
                 foreach ($groupPermissions as $groupPermission) {
                     $permissions[] = $groupPermission;
                 }
             }
         } else {
             $permissions[] = $accessLevel;
         }
     }
     $permissions = array_unique($permissions);
     return $permissions;
 }