protected function getRepositoriesInternal($repositoryId = null)
    {
        $repositoryUrlCache = $this->getRepositoryUrlCache();

        if ($repositoryId === null) {
            // no repository id provided -> get all
            $url = $repositoryUrlCache->buildUrl($this->getServiceUrl());
        } else {
            // use URL of the specified repository
            $url = $repositoryUrlCache->getRepositoryUrl($repositoryId, Constants::SELECTOR_REPOSITORY_INFO) ??
                $repositoryUrlCache->buildUrl($this->getServiceUrl());
        }

        $repositoryInfos = [];
        $result = $this->readJson($url);
        if (!is_array($result)) {
            throw new CmisConnectionException(
                'Could not fetch repository info! Response is not a valid JSON.',
                1416343166
            );
        }
        foreach ($result as $item) {
            if (is_array($item)) {
                $repositoryInfo = $this->getJsonConverter()->convertRepositoryInfo($item);

                if ($repositoryInfo instanceof RepositoryInfoBrowserBinding) {
                    $id = $repositoryInfo->getId();
                    $repositoryUrl = $repositoryInfo->getRepositoryUrl();
                    $rootUrl = $repositoryInfo->getRootUrl();

                    if (empty($id) || empty($repositoryUrl) || empty($rootUrl)) {
                        throw new CmisConnectionException(
                            sprintf('Found invalid Repository Info! (id: %s)', $id),
                            1415187765
                        );
                    }

                    $this->getRepositoryUrlCache()->addRepository($id, $repositoryUrl, $rootUrl);

                    $repositoryInfos[] = $repositoryInfo;
                }
            } else {
                throw new CmisConnectionException(
                    sprintf(
                        'Found invalid repository info! Value of type "array" was expected'
                        . 'but value of type "%s" was given.',
                        gettype($item)
                    ),
                    1415187764
                );
            }
        }

        return $repositoryInfos;
    }
protected function getRepositoriesInternal($repositoryId = null)
    {
        $repositoryUrlCache = $this->getRepositoryUrlCache();

        if ($repositoryId === null) {
            // no repository id provided -> get all
            $url = $repositoryUrlCache->buildUrl($this->getServiceUrl());
        } else {
            // use URL of the specified repository
            $url = $repositoryUrlCache->getRepositoryUrl($repositoryId, Constants::SELECTOR_REPOSITORY_INFO) ??
                $repositoryUrlCache->buildUrl($this->getServiceUrl());
        }

        $repositoryInfos = [];
        $result = $this->readJson($url);
        if (!is_array($result)) {
            throw new CmisConnectionException(
                'Could not fetch repository info! Response is not a valid JSON.',
                1416343166
            );
        }
        foreach ($result as $item) {
            if (is_array($item)) {
                $repositoryInfo = $this->getJsonConverter()->convertRepositoryInfo($item);

                if ($repositoryInfo instanceof RepositoryInfoBrowserBinding) {
                    $id = $repositoryInfo->getId();
                    $repositoryUrl = $repositoryInfo->getRepositoryUrl();
                    $rootUrl = $repositoryInfo->getRootUrl();

                    if (empty($id) || empty($repositoryUrl) || empty($rootUrl)) {
                        throw new CmisConnectionException(
                            sprintf('Found invalid Repository Info! (id: %s)', $id),
                            1415187765
                        );
                    }

                    $this->getRepositoryUrlCache()->addRepository($id, $repositoryUrl, $rootUrl);

                    $repositoryInfos[] = $repositoryInfo;
                }
            } else {
                throw new CmisConnectionException(
                    sprintf(
                        'Found invalid repository info! Value of type "array" was expected'
                        . 'but value of type "%s" was given.',
                        gettype($item)
                    ),
                    1415187764
                );
            }
        }

        return $repositoryInfos;
    }
protected function getRepositoriesInternal ( $ repositoryId = null ) { $ repositoryUrlCache = $ this -> getRepositoryUrlCache ( ) ; if ( $ repositoryId === null ) { // no repository id provided -> get all $ url = $ repositoryUrlCache -> buildUrl ( $ this -> getServiceUrl ( ) ) ; } else { // use URL of the specified repository $ url = $ repositoryUrlCache -> getRepositoryUrl ( $ repositoryId , Constants :: SELECTOR_REPOSITORY_INFO ) ?? $ repositoryUrlCache -> buildUrl ( $ this -> getServiceUrl ( ) ) ; } $ repositoryInfos = [ ] ; $ result = $ this -> readJson ( $ url ) ; if ( ! is_array ( $ result ) ) { throw new CmisConnectionException ( 'Could not fetch repository info! Response is not a valid JSON.' , 1416343166 ) ; } foreach ( $ result as $ item ) { if ( is_array ( $ item ) ) { $ repositoryInfo = $ this -> getJsonConverter ( ) -> convertRepositoryInfo ( $ item ) ; if ( $ repositoryInfo instanceof RepositoryInfoBrowserBinding ) { $ id = $ repositoryInfo -> getId ( ) ; $ repositoryUrl = $ repositoryInfo -> getRepositoryUrl ( ) ; $ rootUrl = $ repositoryInfo -> getRootUrl ( ) ; if ( empty ( $ id ) || empty ( $ repositoryUrl ) || empty ( $ rootUrl ) ) { throw new CmisConnectionException ( sprintf ( 'Found invalid Repository Info! (id: %s)' , $ id ) , 1415187765 ) ; } $ this -> getRepositoryUrlCache ( ) -> addRepository ( $ id , $ repositoryUrl , $ rootUrl ) ; $ repositoryInfos [ ] = $ repositoryInfo ; } } else { throw new CmisConnectionException ( sprintf ( 'Found invalid repository info! Value of type "array" was expected' . 'but value of type "%s" was given.' , gettype ( $ item ) ) , 1415187764 ) ; } } return $ repositoryInfos ; }
Retrieves the the repository info objects.

@param string|null $repositoryId
@throws CmisConnectionException
@return RepositoryInfo[] Returns ALL Repository Infos that are available and not just the one requested by id.
Retrieves the the repository info objects .