From 71f0945e3cbf818d3846bd355966dffc82b36c62 Mon Sep 17 00:00:00 2001 From: Alexander O'Neill Date: Wed, 16 Aug 2023 11:09:52 -0300 Subject: [PATCH] =?UTF-8?q?959=20Use=20image=20dimension=20properties=20in?= =?UTF-8?q?=20IIIF=20Manifest=20if=20they=20exist=E2=80=A6=20(#969)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 959-use-image-dimensions Use image dimension properties if they exist when generating IIIF manifests. 959-use-image-dimensions Address PHPCS error. 959-use-image-dimensions Address PHPCS error. * 959-use-image-dimensions Make image dimension values numeric per the spec. --- .../islandora_iiif/src/Plugin/views/style/IIIFManifest.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/modules/islandora_iiif/src/Plugin/views/style/IIIFManifest.php b/modules/islandora_iiif/src/Plugin/views/style/IIIFManifest.php index 9d31d760..5a2fb63b 100644 --- a/modules/islandora_iiif/src/Plugin/views/style/IIIFManifest.php +++ b/modules/islandora_iiif/src/Plugin/views/style/IIIFManifest.php @@ -313,6 +313,12 @@ class IIIFManifest extends StylePluginBase { * The width and height of the image. */ protected function getCanvasDimensions(string $iiif_url, FieldItemInterface $image, string $mime_type) { + + if (isset($image->width) && is_numeric($image->width) + && isset($image->height) && is_numeric($image->height)) { + return [intval($image->width), intval($image->height)]; + } + try { $info_json = $this->httpClient->get($iiif_url)->getBody(); $resource = json_decode($info_json, TRUE);