From a7fdd142f2a0ef1e59cd8a8d4843810dd1aa7039 Mon Sep 17 00:00:00 2001 From: Johan Cwiklinski Date: Wed, 24 Nov 2021 06:03:34 +0100 Subject: [PATCH] PHP 8.1 fixes Improve slim patch Add TCPDF patch --- galette/composer.json | 3 ++- galette/lib/Galette/Entity/PdfModel.php | 6 +++--- patches/slim-php81.patch | 12 ++++++++++++ patches/tcpdf-php81.patch | 24 ++++++++++++++++++++++++ 4 files changed, 41 insertions(+), 4 deletions(-) create mode 100644 patches/tcpdf-php81.patch diff --git a/galette/composer.json b/galette/composer.json index b9d724476..da8404e08 100644 --- a/galette/composer.json +++ b/galette/composer.json @@ -66,7 +66,8 @@ "patch -d vendor/slim/slim/ -p3 < ../patches/slim-php81.patch", "patch -d vendor/smarty/smarty/ -p3 < ../patches/smarty-php81.patch", "patch -d vendor/mathmarques/smarty-view/ -p3 < ../patches/smarty-view-php81.patch", - "patch -d vendor/laminas/ -p2 < ../patches/laminas-php81.patch" + "patch -d vendor/laminas/ -p2 < ../patches/laminas-php81.patch", + "patch -d vendor/tecnickcom/tcpdf/ -p3 < ../patches/tcpdf-php81.patch" ] } } diff --git a/galette/lib/Galette/Entity/PdfModel.php b/galette/lib/Galette/Entity/PdfModel.php index ba559f82b..a9ccef3db 100644 --- a/galette/lib/Galette/Entity/PdfModel.php +++ b/galette/lib/Galette/Entity/PdfModel.php @@ -330,8 +330,9 @@ abstract class PdfModel global $lang; switch ($name) { - case 'name': case 'id': + return (int)$this->$name; + case 'name': case 'header': case 'footer': case 'body': @@ -341,8 +342,7 @@ abstract class PdfModel case 'styles': case 'patterns': case 'replaces': - return $this->$name; - break; + return $this->$name ?? ''; case 'hstyles': $value = null; diff --git a/patches/slim-php81.patch b/patches/slim-php81.patch index 67c5340d8..28ca5f7a1 100644 --- a/patches/slim-php81.patch +++ b/patches/slim-php81.patch @@ -116,3 +116,15 @@ diff -up vendor/slim/slim/Slim/Http/Uri.php.patch vendor/slim/slim/Slim/Http/Uri ); } +diff -up vendor/slim/slim/Slim/Http/Stream.php.patch vendor/slim/slim/Slim/Http/Stream.php +--- vendor/slim/slim/Slim/Http/Stream.php.patch 2021-11-24 05:52:35.953125135 +0100 ++++ vendor/slim/slim/Slim/Http/Stream.php 2021-11-24 06:02:19.388606169 +0100 +@@ -399,7 +399,7 @@ class Stream implements StreamInterface + */ + public function write($string) + { +- if (!$this->isWritable() || ($written = fwrite($this->stream, $string)) === false) { ++ if (!$this->isWritable() || ($written = fwrite($this->stream, $string ?? '')) === false) { + throw new RuntimeException('Could not write to stream'); + } + diff --git a/patches/tcpdf-php81.patch b/patches/tcpdf-php81.patch new file mode 100644 index 000000000..ed9ba5317 --- /dev/null +++ b/patches/tcpdf-php81.patch @@ -0,0 +1,24 @@ +diff -up vendor/tecnickcom/tcpdf/include/tcpdf_images.php.patch vendor/tecnickcom/tcpdf/include/tcpdf_images.php +--- vendor/tecnickcom/tcpdf/include/tcpdf_images.php.patch 2021-11-24 06:24:49.340507070 +0100 ++++ vendor/tecnickcom/tcpdf/include/tcpdf_images.php 2021-11-24 06:25:00.907754698 +0100 +@@ -79,7 +79,7 @@ class TCPDF_IMAGES { + } + } + if (empty($type)) { +- $type = strtolower(trim(pathinfo(parse_url($imgfile, PHP_URL_PATH), PATHINFO_EXTENSION))); ++ $type = strtolower(trim(pathinfo(parse_url($imgfile, PHP_URL_PATH) ?? '', PATHINFO_EXTENSION))); + } + if ($type == 'jpg') { + $type = 'jpeg'; +diff -up vendor/tecnickcom/tcpdf/tcpdf.php.patch vendor/tecnickcom/tcpdf/tcpdf.php +--- vendor/tecnickcom/tcpdf/tcpdf.php.patch 2021-11-24 05:56:44.695440293 +0100 ++++ vendor/tecnickcom/tcpdf/tcpdf.php 2021-11-24 05:58:00.574064870 +0100 +@@ -7357,7 +7357,7 @@ class TCPDF { + $color = imagecolorat($img, $xpx, $ypx); + // get and correct gamma color + $alpha = $this->getGDgamma($img, $color); +- imagesetpixel($imgalpha, $xpx, $ypx, $alpha); ++ imagesetpixel($imgalpha, intval($xpx), intval($ypx), intval($alpha)); + } + } + imagepng($imgalpha, $tempfile_alpha); -- 2.39.2