getPermissions() public method

Get permissions
public getPermissions ( boolean $forceReload = false ) : array
$forceReload boolean Force reload
return array
Beispiel #1
0
 /**
  * Initialize permissions
  *
  * @param array $userPermissions Optional
  *
  * @return \Config\Form\Role
  */
 public function initPermissions($userPermissions = array())
 {
     $permissionsTable = new Permission\Collection();
     $resources = $permissionsTable->getPermissions();
     $element = new Element('permissions');
     $data = array();
     foreach ($resources as $resource => $permissions) {
         if (empty($data[$resource])) {
             $data[$resource] = array();
         }
         foreach ($permissions as $permissionId => $permission) {
             $path = explode('/', $permission);
             if (count($path) > 1) {
                 $name = $path[0];
             } else {
                 $name = $permission;
             }
             $array = array('id' => $permissionId, 'name' => empty($path[1]) ? $permission : $path[1], 'value' => false);
             if (!empty($userPermissions[$resource]) and array_key_exists($permissionId, $userPermissions[$resource])) {
                 $array['value'] = true;
             }
             if (empty($data[$resource][$name])) {
                 $data[$resource][$name] = array();
             }
             $data[$resource][$name][] = $array;
         }
     }
     $element->setValue($data);
     $this->add($element);
 }