Scalr\Acl\Acl::getGroups PHP Method

getGroups() public static method

Gets all ACl groups
public static getGroups ( ) : array
return array Returns the list of the Groups looks like array(name => sortOrder)
    public static function getGroups()
    {
        $res = array();
        $cnt = 1;
        $refl = new \ReflectionClass(get_called_class());
        foreach ($refl->getConstants() as $name => $group) {
            if (strpos($name, "GROUP_") === 0) {
                $res[$group] = $cnt;
                $cnt++;
            }
        }
        return $res;
    }

Usage Example

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