From e623ba34d802c31c1d2628206ab500173ff7a2c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Randy=20=C4=8Cupi=C4=87?= Date: Wed, 2 Oct 2024 12:51:18 +0200 Subject: [PATCH] Force JPG format for image preview --- bundle/Resources/config/remote_media.yaml | 10 ++++++++++ .../Twig/Runtime/RemoteMediaIbexaRuntime.php | 7 ++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/bundle/Resources/config/remote_media.yaml b/bundle/Resources/config/remote_media.yaml index 020e14c..5b57841 100644 --- a/bundle/Resources/config/remote_media.yaml +++ b/bundle/Resources/config/remote_media.yaml @@ -4,8 +4,18 @@ image_variations: transformations: - { name: limit, params: [600] } - { name: quality, params: ['auto', 'eco'] } + preview_image: + transformations: + - { name: limit, params: [ 600 ] } + - { name: quality, params: [ 'auto', 'eco' ] } + - { name: format, params: [ 'jpg' ] } preview_protected: transformations: - { name: limit, params: [600] } - { name: quality, params: ['auto', 'eco'] } - { name: effect, params: ['pixelate', 5] } + preview_protected_image: + transformations: + - { name: limit, params: [ 600 ] } + - { name: quality, params: [ 'auto', 'eco' ] } + - { name: effect, params: [ 'pixelate', 5 ] } diff --git a/bundle/Templating/Twig/Runtime/RemoteMediaIbexaRuntime.php b/bundle/Templating/Twig/Runtime/RemoteMediaIbexaRuntime.php index d2d62e9..44d3580 100644 --- a/bundle/Templating/Twig/Runtime/RemoteMediaIbexaRuntime.php +++ b/bundle/Templating/Twig/Runtime/RemoteMediaIbexaRuntime.php @@ -6,6 +6,7 @@ use Netgen\RemoteMedia\API\ProviderInterface; use Netgen\RemoteMedia\API\Values\AuthToken; +use Netgen\RemoteMedia\API\Values\RemoteResource; use Netgen\RemoteMedia\API\Values\RemoteResourceLocation; use Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface; @@ -24,10 +25,14 @@ public function getIbexaAdminPreviewHtmlTag(RemoteResourceLocation $remoteResour ? $remoteResourceLocation : $this->remoteMediaProvider->authenticateRemoteResourceLocation($remoteResourceLocation, AuthToken::fromDuration(600)); + $isImage = $remoteResourceLocation->getRemoteResource()->getType() === RemoteResource::TYPE_IMAGE; + $variationName = $canRead ? 'preview' : 'preview_protected'; + $variationName = $isImage ? $variationName . '_image' : $variationName; + return $this->remoteMediaProvider->generateVariationHtmlTag( location: $remoteResourceLocation, variationGroup: 'ibexa_admin', - variationName: $canRead ? 'preview' : 'preview_protected', + variationName: $variationName, forceVideo: true, useThumbnail: !$canRead, );