Imbo\Auth\AccessControl\Adapter\AbstractAdapter::getUsersForResource PHP Method

getUsersForResource() public method

public getUsersForResource ( $publicKey, $resource )
    public function getUsersForResource($publicKey, $resource)
    {
        if (!$publicKey || !$resource) {
            return [];
        }
        $accessList = $this->getAccessListForPublicKey($publicKey);
        // Get all user lists
        $userLists = array_filter(array_map(function ($acl) {
            return isset($acl['users']) ? $acl['users'] : false;
        }, $accessList));
        // Merge user lists
        $users = call_user_func_array('array_merge', $userLists);
        // Check if public key has access to user with same name
        if ($this->hasAccess($publicKey, $resource, $publicKey)) {
            $userList[] = $publicKey;
        }
        // Check for each user specified in acls
        foreach ($users as $user) {
            if ($this->hasAccess($publicKey, $resource, $user)) {
                $userList[] = $user;
            }
        }
        return $userList;
    }