/** * Returns Site Node object for the given Repository $location. * * @throws \Netgen\EzPlatformSiteApi\Core\Site\Exceptions\TranslationNotMatchedException * * @param \eZ\Publish\API\Repository\Values\Content\Location $location * * @return \Netgen\EzPlatformSiteApi\API\Values\Node */ private function getSiteNode(APILocation $location) { $versionInfo = $this->contentService->loadVersionInfoById($location->contentInfo->id); $languageCode = $this->getLanguage($versionInfo->languageCodes, $versionInfo->contentInfo->mainLanguageCode, $versionInfo->contentInfo->alwaysAvailable); if ($languageCode === null) { throw new TranslationNotMatchedException($versionInfo->contentInfo->id, $this->getContext($versionInfo)); } return $this->domainObjectMapper->mapNode($location, $this->contentService->loadContent($location->contentInfo->id, [$languageCode], $location->contentInfo->currentVersionNo), $languageCode); }
/** * Loads a version info of the given content object id. * * If no version number is given, the method returns the current version * * @throws \eZ\Publish\API\Repository\Exceptions\NotFoundException - if the version with the given number does not exist * @throws \eZ\Publish\API\Repository\Exceptions\UnauthorizedException if the user is not allowed to load this version * * @param mixed $contentId * @param int $versionNo the version number. If not given the current version is returned. * * @return \eZ\Publish\API\Repository\Values\Content\VersionInfo */ public function loadVersionInfoById($contentId, $versionNo = null) { return $this->service->loadVersionInfoById($contentId, $versionNo); }