/** * Gets all resources * * Current exclude filters will be applied. * This method will return all predefined resources with its names * * @return array Returns array looks like * array(array( * 'id' => resource_id, * 'name' => resource_name, * 'group' => associative_group, * 'granted' => [1|0] is resource allowed, * 'permissions' => array( * permissionId => [1|0] is permission allowed * ), * )) */ public function getArray() { $groupOrder = Acl::getGroups(); $ret = array(); foreach (Resource\Definition::getAll() as $resource) { /* @var $resource Resource\ResourceObject */ $rec = array('id' => $resource->getResourceId(), 'name' => $resource->getName(), 'group' => $resource->getGroup(), 'groupOrder' => isset($groupOrder[$resource->getGroup()]) ? $groupOrder[$resource->getGroup()] : 0, 'granted' => $this->isAllowed($resource->getResourceId()) ? 1 : 0); $permissions = $resource->getPermissions(); if (!empty($permissions)) { $rec['permissions'] = array(); foreach ($permissions as $permissionId => $description) { $rec['permissions'][$permissionId] = $this->isAllowed($resource->getResourceId(), $permissionId) ? 1 : 0; } } $ret[] = $rec; } return $ret; }