/**
* 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;
}