diff --git a/code_samples/back_office/images/src/Connector/Dam/Handler/WikimediaCommonsHandler.php b/code_samples/back_office/images/src/Connector/Dam/Handler/WikimediaCommonsHandler.php index 32398396d8..485374ac61 100644 --- a/code_samples/back_office/images/src/Connector/Dam/Handler/WikimediaCommonsHandler.php +++ b/code_samples/back_office/images/src/Connector/Dam/Handler/WikimediaCommonsHandler.php @@ -14,6 +14,8 @@ class WikimediaCommonsHandler implements HandlerInterface { + private const USER_AGENT = 'Ibexa DXP Commons Dam Connector'; + public function search(Query $query, int $offset = 0, int $limit = 20): AssetSearchResult { $searchUrl = 'https://commons.wikimedia.org/w/api.php?action=query&list=search&format=json&srnamespace=6' @@ -22,7 +24,16 @@ public function search(Query $query, int $offset = 0, int $limit = 20): AssetSea . '&srlimit=' . $limit ; - $jsonResponse = file_get_contents($searchUrl); + $opts = [ + 'http' => [ + 'method' => 'GET', + 'header' => [ + 'User-Agent: ' . self::USER_AGENT, + ], + ], + ]; + + $jsonResponse = file_get_contents($searchUrl, false, stream_context_create($opts)); if ($jsonResponse === false) { return new AssetSearchResult(0, new AssetCollection([])); } @@ -50,7 +61,16 @@ public function fetchAsset(string $id): Asset . '&titles=File%3a' . urlencode($id) ; - $jsonResponse = file_get_contents($metadataUrl); + $opts = [ + 'http' => [ + 'method' => 'GET', + 'header' => [ + 'User-Agent: ' . self::USER_AGENT, + ], + ], + ]; + + $jsonResponse = file_get_contents($metadataUrl, false, stream_context_create($opts)); if ($jsonResponse === false) { throw new \RuntimeException('Couldn\'t retrieve asset metadata'); } diff --git a/code_samples/back_office/images/templates/themes/standard/commons_asset_view.html.twig b/code_samples/back_office/images/templates/themes/standard/commons_asset_view.html.twig index 00a5bac1cd..33affc3362 100644 --- a/code_samples/back_office/images/templates/themes/standard/commons_asset_view.html.twig +++ b/code_samples/back_office/images/templates/themes/standard/commons_asset_view.html.twig @@ -4,7 +4,7 @@ {{ parent() }}
Image - {% if asset.assetMetadata.author %} by {{ asset.assetMetadata.author }}{% endif %} + {% if asset.assetMetadata.author %} by {{ asset.assetMetadata.author|striptags }}{% endif %} {% if asset.assetMetadata.license and asset.assetMetadata.license_url %} under {{ asset.assetMetadata.license }} {% endif %}.