Scalr\Acl\Acl::getRolesComputed PHP Method

getRolesComputed() public method

This method guarantees that all resources with unique permissions will be returned.
public getRolesComputed ( ) : array
return array Returns array of all base roles
    public function getRolesComputed()
    {
        $groups = self::getGroups();
        $baseRoles = array();
        foreach ($this->getRoles() as $role) {
            $baseRole = array('id' => $role->getRoleId(), 'name' => $role->getName(), 'resources' => null);
            foreach ($role->getIteratorResources() as $resource) {
                $r = array('id' => $resource->getResourceId(), 'granted' => $role->isAllowed($resource->getResourceId()) ? 1 : 0, 'name' => $resource->getName(), 'group' => $resource->getGroup(), 'groupOrder' => isset($groups[$resource->getGroup()]) ? $groups[$resource->getGroup()] : 0, 'permissions' => null);
                foreach ($resource->getPermissions() as $permissionId => $permissionDescription) {
                    $r['permissions'][$permissionId] = $role->isAllowed($resource->getResourceId(), $permissionId) ? 1 : 0;
                }
                $baseRole['resources'][] = $r;
            }
            $baseRoles[] = $baseRole;
        }
        return $baseRoles;
    }