Esempio n. 1
0
 /**
  * {@inheritdoc}
  */
 public function hasPermission($permission)
 {
     if ($this->allow === true) {
         if (!isset($this->deny[$permission])) {
             return true;
         }
     }
     if (isset($this->allow[$permission])) {
         return true;
     }
     if (isset($this->parent)) {
         return $this->parent->hasPermission($permission);
     }
     return false;
 }
Esempio n. 2
0
 /**
  * Sets permissions
  *
  * @param   array|PermissionList $permissions
  * @return  RoleDefinitionProperties
  */
 public function setPermissions($permissions = null)
 {
     if (!$permissions instanceof PermissionList) {
         $permissionList = new PermissionList();
         foreach ($permissions as $permission) {
             if (!$permission instanceof PermissionData) {
                 $permissionData = PermissionData::initArray($permission);
             } else {
                 $permissionData = $permission;
             }
             $permissionList->append($permissionData);
         }
     } else {
         $permissionList = $permissions;
     }
     return $this->__call(__FUNCTION__, [$permissionList]);
 }