From 66e9603b04df9134036b474f70cb22fd357e19a5 Mon Sep 17 00:00:00 2001
From: Benni Mack <benni@typo3.org>
Date: Wed, 22 Dec 2021 11:08:53 +0100
Subject: [PATCH] [BUGFIX] Avoid PHP 8 warnings in LocalCropScaleMaskHelper
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Resolves: #96344
Releases: main, 11.5
Change-Id: I986945e16e0a2adef827fc0532a431be7ab25e03
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/72770
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Stefan Bürk <stefan@buerk.tech>
Reviewed-by: Oliver Bartsch <bo@cedev.de>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: core-ci <typo3@b13.com>
Tested-by: Stefan Bürk <stefan@buerk.tech>
Tested-by: Oliver Bartsch <bo@cedev.de>
Tested-by: Benni Mack <benni@typo3.org>
---
 .../Resource/Processing/LocalCropScaleMaskHelper.php     | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/typo3/sysext/core/Classes/Resource/Processing/LocalCropScaleMaskHelper.php b/typo3/sysext/core/Classes/Resource/Processing/LocalCropScaleMaskHelper.php
index 583248378b7e..432042bdd9e2 100644
--- a/typo3/sysext/core/Classes/Resource/Processing/LocalCropScaleMaskHelper.php
+++ b/typo3/sysext/core/Classes/Resource/Processing/LocalCropScaleMaskHelper.php
@@ -82,13 +82,14 @@ class LocalCropScaleMaskHelper
             // check if it is a json object
             $cropData = json_decode($configuration['crop']);
             if ($cropData) {
-                $crop = implode(',', [(int)$cropData->x, (int)$cropData->y, (int)$cropData->width, (int)$cropData->height]);
+                $offsetLeft = (int)($cropData->x ?? 0);
+                $offsetTop = (int)($cropData->y ?? 0);
+                $newWidth = (int)($cropData->width ?? 0);
+                $newHeight = (int)($cropData->height ?? 0);
             } else {
-                $crop = $configuration['crop'];
+                [$offsetLeft, $offsetTop, $newWidth, $newHeight] = explode(',', $configuration['crop'], 4);
             }
 
-            [$offsetLeft, $offsetTop, $newWidth, $newHeight] = explode(',', $crop, 4);
-
             $backupPrefix = $gifBuilder->filenamePrefix;
             $gifBuilder->filenamePrefix = 'crop_';
 
-- 
GitLab