public function getResources()
{
$em = $this->doctrine->getManager();
$permissions = $em->getRepository('Newscoop\\Entity\\Acl\\Permission')->createQueryBuilder('p')->select('p.name')->getQuery()->getArrayResult();
$resources = array();
foreach ($permissions as $permission) {
try {
list($resource, $action) = PermissionToAcl::translate($permission['name']);
} catch (\InvalidArgumentException $e) {
// ignore obsolete permissions
continue;
}
if (!isset($resources[$resource])) {
$resources[$resource] = array();
}
$resources[$resource][] = $action;
}
return $resources;
}