]> git.agnieray.net Git - galette.git/commitdiff
PHP 8.1 fixes
authorJohan Cwiklinski <johan@x-tnd.be>
Wed, 24 Nov 2021 05:03:34 +0000 (06:03 +0100)
committerJohan Cwiklinski <johan@x-tnd.be>
Wed, 24 Nov 2021 06:48:58 +0000 (07:48 +0100)
Improve slim patch
Add TCPDF patch

galette/composer.json
galette/lib/Galette/Entity/PdfModel.php
patches/slim-php81.patch
patches/tcpdf-php81.patch [new file with mode: 0644]

index b9d724476072f4abc2f50214f557876d1494d6d4..da8404e08f1ee4229906a621ebae95a6a6588a5d 100644 (file)
@@ -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"
         ]
     }
 }
index ba559f82b1c67f24fb60b390c779d088bdae7e2c..a9ccef3db3abc65e87f958d9eeb9955d27b2c371 100644 (file)
@@ -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;
 
index 67c5340d8b0fab837dea8ebc9c759dcbb27bac38..28ca5f7a11bb9cd903b468a686facb2895050346 100644 (file)
@@ -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 (file)
index 0000000..ed9ba53
--- /dev/null
@@ -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);