Pop\Auth\Role::factory PHP Method

factory() public static method

Static method to instantiate the role object and return itself to facilitate chaining methods together.
public static factory ( string $name ) : Role
$name string
return Role
    public static function factory($name)
    {
        return new self($name);
    }

Usage Example

Ejemplo n.º 1
0
 /**
  * Get all roles, resources and permissions
  *
  * @param  int $typeId
  * @return array
  */
 public static function getAllRoles($typeId)
 {
     $results = array('roles' => array(), 'resources' => array());
     if (null !== $typeId) {
         $roles = self::findAll('id ASC', array('type_id' => $typeId));
         if (isset($roles->rows[0])) {
             foreach ($roles->rows as $role) {
                 $r = \Pop\Auth\Role::factory($role->name);
                 $results['resources'][$role->name] = array('allow' => array(), 'deny' => array());
                 $permissions = null !== $role->permissions ? unserialize($role->permissions) : array();
                 if (isset($permissions[0])) {
                     foreach ($permissions as $permission) {
                         if (!isset($results['resources'][$role->name]['allow'][$permission['resource']])) {
                             if ($permission['allow']) {
                                 $results['resources'][$role->name]['allow'][$permission['resource']] = array();
                             } else {
                                 if (!isset($results['resources'][$role->name]['deny'][$permission['resource']])) {
                                     $results['resources'][$role->name]['deny'][$permission['resource']] = array();
                                 }
                             }
                         }
                         if ($permission['permission'] != '') {
                             $r->addPermission($permission['permission']);
                             if ($permission['resource'] != '') {
                                 if ($permission['allow']) {
                                     $results['resources'][$role->name]['allow'][$permission['resource']][] = $permission['permission'];
                                 } else {
                                     $results['resources'][$role->name]['deny'][$permission['resource']][] = $permission['permission'];
                                 }
                             }
                         }
                     }
                 }
                 $results['roles'][] = $r;
             }
         }
     }
     return $results;
 }
All Usage Examples Of Pop\Auth\Role::factory