getPermissions() 공개 메소드

Returns all permissions in the system.
public getPermissions ( ) : Permission[]
리턴 Permission[] all permissions in the system. The array is indexed by the permission names.
예제 #1
0
 /**
  * Get available and assigned routes
  *
  * @return array
  */
 public function getRoutes()
 {
     $routes = $this->getAppRoutes();
     $exists = [];
     foreach (array_keys($this->manager->getPermissions()) as $name) {
         if ($name[0] !== '/') {
             continue;
         }
         $exists[] = $name;
         unset($routes[$name]);
     }
     return ['available' => array_keys($routes), 'assigned' => $exists];
 }
예제 #2
0
 /**
  * Get all available and assigned roles and permissions
  *
  * @return array
  */
 public function getItems()
 {
     $available = [];
     $assigned = [];
     foreach (array_keys($this->manager->getRoles()) as $name) {
         $available[$name] = 'role';
     }
     foreach (array_keys($this->manager->getPermissions()) as $name) {
         if ($name[0] != '/') {
             $available[$name] = 'permission';
         }
     }
     foreach ($this->manager->getAssignments($this->userId) as $item) {
         $assigned[$item->roleName] = $available[$item->roleName];
         unset($available[$item->roleName]);
     }
     return ['available' => $available, 'assigned' => $assigned];
 }
예제 #3
0
 /**
  * Get all available and assigned roles, permission and routes
  *
  * @return array
  */
 public function getItems()
 {
     $available = [];
     $assigned = [];
     if ($this->type == Item::TYPE_ROLE) {
         foreach (array_keys($this->manager->getRoles()) as $name) {
             $available[$name] = 'role';
         }
     }
     foreach (array_keys($this->manager->getPermissions()) as $name) {
         $available[$name] = $name[0] == '/' ? 'route' : 'permission';
     }
     foreach ($this->manager->getChildren($this->_item->name) as $item) {
         $assigned[$item->name] = $item->type == 1 ? 'role' : ($item->name[0] == '/' ? 'route' : 'permission');
         unset($available[$item->name]);
     }
     unset($available[$this->name]);
     return ['available' => $available, 'assigned' => $assigned];
 }