From 7bc69c409fc7530b8cad18997eb30df9b3fd911d Mon Sep 17 00:00:00 2001 From: Sukhwinder Dhillon Date: Tue, 2 Dec 2025 16:44:32 +0100 Subject: [PATCH 1/3] PHP 8.4: Change implicit nullable type declaration to explicit Since PHP 8.4 implicitly nullable parameter types are deprecated. --- library/Pdfexport/HeadlessChrome.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/Pdfexport/HeadlessChrome.php b/library/Pdfexport/HeadlessChrome.php index b342ece..7dc0e8f 100644 --- a/library/Pdfexport/HeadlessChrome.php +++ b/library/Pdfexport/HeadlessChrome.php @@ -637,7 +637,7 @@ private function communicate(Client $ws, $method, $params = null) return $response['result']; } - private function waitFor(Client $ws, $eventName, array $expectedParams = null) + private function waitFor(Client $ws, $eventName, ?array $expectedParams = null) { if ($eventName !== self::WAIT_FOR_NETWORK) { Logger::debug( From 9dfbcc6cc329b95c399e9425d2a2ff863bfd6c2d Mon Sep 17 00:00:00 2001 From: Sukhwinder Dhillon Date: Thu, 18 Dec 2025 16:45:39 +0100 Subject: [PATCH 2/3] Cleanup leftovers from dependency replacement bc4d059 replaced dependencies but left outdated code, addressed here: - Catch `Throwable` instead of removed `WebSocket\ConnectionException` - Remove patch for replaced library --- library/Pdfexport/HeadlessChrome.php | 3 +- patches/iio-libmergepdf-support-php82.patch | 67 --------------------- 2 files changed, 1 insertion(+), 69 deletions(-) delete mode 100644 patches/iio-libmergepdf-support-php82.patch diff --git a/library/Pdfexport/HeadlessChrome.php b/library/Pdfexport/HeadlessChrome.php index 7dc0e8f..e9c400f 100644 --- a/library/Pdfexport/HeadlessChrome.php +++ b/library/Pdfexport/HeadlessChrome.php @@ -18,7 +18,6 @@ use React\Promise\ExtendedPromiseInterface; use Throwable; use WebSocket\Client; -use WebSocket\ConnectionException; class HeadlessChrome { @@ -535,7 +534,7 @@ private function printToPDF($socket, $browserId, array $parameters) try { $browser->close(); - } catch (ConnectionException $e) { + } catch (Throwable $e) { // For some reason, the browser doesn't send a response Logger::debug(sprintf('Failed to close browser connection: ' . $e->getMessage())); } diff --git a/patches/iio-libmergepdf-support-php82.patch b/patches/iio-libmergepdf-support-php82.patch deleted file mode 100644 index 460f106..0000000 --- a/patches/iio-libmergepdf-support-php82.patch +++ /dev/null @@ -1,67 +0,0 @@ -diff --git a/vendor/iio/libmergepdf/tcpdi/fpdf_tpl.php b/vendor/iio/libmergepdf/tcpdi/fpdf_tpl.php -index 0da7d7b..5322fa8 100644 ---- a/vendor/iio/libmergepdf/tcpdi/fpdf_tpl.php -+++ b/vendor/iio/libmergepdf/tcpdi/fpdf_tpl.php -@@ -145,7 +145,7 @@ class FPDF_TPL extends FPDF { - function endTemplate() { - if (is_subclass_of($this, 'TCPDF')) { - $args = func_get_args(); -- return call_user_func_array(array($this, 'TCPDF::endTemplate'), $args); -+ return call_user_func_array(array('TCPDF', 'endTemplate'), $args); - } - - if ($this->_intpl) { -@@ -275,7 +275,7 @@ class FPDF_TPL extends FPDF { - public function SetFont($family, $style = '', $size = 0, $fontfile='', $subset='default', $out=true) { - if (is_subclass_of($this, 'TCPDF')) { - $args = func_get_args(); -- return call_user_func_array(array($this, 'TCPDF::SetFont'), $args); -+ return call_user_func_array(array('TCPDF', 'SetFont'), $args); - } - - parent::SetFont($family, $style, $size); -@@ -299,7 +299,7 @@ class FPDF_TPL extends FPDF { - ) { - if (is_subclass_of($this, 'TCPDF')) { - $args = func_get_args(); -- return call_user_func_array(array($this, 'TCPDF::Image'), $args); -+ return call_user_func_array(array('TCPDF', 'Image'), $args); - } - - $ret = parent::Image($file, $x, $y, $w, $h, $type, $link); -@@ -320,7 +320,7 @@ class FPDF_TPL extends FPDF { - function AddPage($orientation = '', $format = '', $keepmargins = false, $tocpage = false) { - if (is_subclass_of($this, 'TCPDF')) { - $args = func_get_args(); -- return call_user_func_array(array($this, 'TCPDF::AddPage'), $args); -+ return call_user_func_array(array('TCPDF', 'AddPage'), $args); - } - - if ($this->_intpl) -@@ -335,7 +335,7 @@ class FPDF_TPL extends FPDF { - function Link($x, $y, $w, $h, $link, $spaces = 0) { - if (is_subclass_of($this, 'TCPDF')) { - $args = func_get_args(); -- return call_user_func_array(array($this, 'TCPDF::Link'), $args); -+ return call_user_func_array(array('TCPDF', 'Link'), $args); - } - - if ($this->_intpl) -@@ -347,7 +347,7 @@ class FPDF_TPL extends FPDF { - function AddLink() { - if (is_subclass_of($this, 'TCPDF')) { - $args = func_get_args(); -- return call_user_func_array(array($this, 'TCPDF::AddLink'), $args); -+ return call_user_func_array(array('TCPDF', 'AddLink'), $args); - } - - if ($this->_intpl) -@@ -358,7 +358,7 @@ class FPDF_TPL extends FPDF { - function SetLink($link, $y = 0, $page = -1) { - if (is_subclass_of($this, 'TCPDF')) { - $args = func_get_args(); -- return call_user_func_array(array($this, 'TCPDF::SetLink'), $args); -+ return call_user_func_array(array('TCPDF', 'SetLink'), $args); - } - - if ($this->_intpl) \ No newline at end of file From 53f546a0b08115435d8dac2c2a79490caf41d644 Mon Sep 17 00:00:00 2001 From: Sukhwinder Dhillon Date: Wed, 3 Dec 2025 17:53:07 +0100 Subject: [PATCH 3/3] Cleanup phpstan baseline --- phpstan-baseline.neon | 200 +++++++++++++++++++++++++----------------- 1 file changed, 120 insertions(+), 80 deletions(-) diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon index b1ca24d..93cd4b3 100644 --- a/phpstan-baseline.neon +++ b/phpstan-baseline.neon @@ -1,321 +1,361 @@ parameters: ignoreErrors: - - message: "#^Method Icinga\\\\Module\\\\Pdfexport\\\\Controllers\\\\ConfigController\\:\\:chromeAction\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Pdfexport\\Controllers\\ConfigController\:\:chromeAction\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/controllers/ConfigController.php - - message: "#^Cannot call method addError\\(\\) on Zend_Form_Element\\|null\\.$#" + message: '#^Cannot call method addError\(\) on Zend_Form_Element\|null\.$#' + identifier: method.nonObject count: 4 path: application/forms/ChromeBinaryForm.php - - message: "#^Method Icinga\\\\Module\\\\Pdfexport\\\\Forms\\\\ChromeBinaryForm\\:\\:createElements\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Pdfexport\\Forms\\ChromeBinaryForm\:\:createElements\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: application/forms/ChromeBinaryForm.php - - message: "#^Method Icinga\\\\Module\\\\Pdfexport\\\\Forms\\\\ChromeBinaryForm\\:\\:createElements\\(\\) has parameter \\$formData with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Pdfexport\\Forms\\ChromeBinaryForm\:\:createElements\(\) has parameter \$formData with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: application/forms/ChromeBinaryForm.php - - message: "#^Parameter \\#2 \\$port of method Icinga\\\\Module\\\\Pdfexport\\\\HeadlessChrome\\:\\:setRemote\\(\\) expects int, mixed given\\.$#" + message: '#^Parameter \#2 \$port of method Icinga\\Module\\Pdfexport\\HeadlessChrome\:\:setRemote\(\) expects int, mixed given\.$#' + identifier: argument.type count: 1 path: application/forms/ChromeBinaryForm.php - - message: "#^Access to an undefined property object\\:\\:\\$stderr\\.$#" + message: '#^Access to an undefined property object\:\:\$stderr\.$#' + identifier: property.notFound count: 1 path: library/Pdfexport/HeadlessChrome.php - - message: "#^Access to an undefined property object\\:\\:\\$stdout\\.$#" + message: '#^Access to an undefined property object\:\:\$stdout\.$#' + identifier: property.notFound count: 1 path: library/Pdfexport/HeadlessChrome.php - - message: "#^Cannot access offset 'Browser' on array\\|bool\\.$#" + message: '#^Cannot access offset ''Browser'' on array\|bool\.$#' + identifier: offsetAccess.nonOffsetAccessible count: 1 path: library/Pdfexport/HeadlessChrome.php - - message: "#^Cannot access offset 'code' on mixed\\.$#" + message: '#^Cannot access offset ''code'' on mixed\.$#' + identifier: offsetAccess.nonOffsetAccessible count: 1 path: library/Pdfexport/HeadlessChrome.php - - message: "#^Cannot access offset 'error' on mixed\\.$#" + message: '#^Cannot access offset ''error'' on mixed\.$#' + identifier: offsetAccess.nonOffsetAccessible count: 1 path: library/Pdfexport/HeadlessChrome.php - - message: "#^Cannot access offset 'message' on mixed\\.$#" + message: '#^Cannot access offset ''message'' on mixed\.$#' + identifier: offsetAccess.nonOffsetAccessible count: 1 path: library/Pdfexport/HeadlessChrome.php - - message: "#^Cannot access offset 'method' on mixed\\.$#" + message: '#^Cannot access offset ''method'' on mixed\.$#' + identifier: offsetAccess.nonOffsetAccessible count: 1 path: library/Pdfexport/HeadlessChrome.php - - message: "#^Cannot access offset 'result' on mixed\\.$#" + message: '#^Cannot access offset ''result'' on mixed\.$#' + identifier: offsetAccess.nonOffsetAccessible count: 1 path: library/Pdfexport/HeadlessChrome.php - - message: "#^Cannot call method on\\(\\) on React\\\\Stream\\\\ReadableStreamInterface\\|React\\\\Stream\\\\WritableStreamInterface\\|null\\.$#" + message: '#^Method Icinga\\Module\\Pdfexport\\HeadlessChrome\:\:communicate\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Pdfexport/HeadlessChrome.php - - message: "#^Method Icinga\\\\Module\\\\Pdfexport\\\\HeadlessChrome\\:\\:asyncToPdf\\(\\) should return React\\\\Promise\\\\ExtendedPromiseInterface but returns React\\\\Promise\\\\PromiseInterface\\.$#" + message: '#^Method Icinga\\Module\\Pdfexport\\HeadlessChrome\:\:communicate\(\) has parameter \$method with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Pdfexport/HeadlessChrome.php - - message: "#^Method Icinga\\\\Module\\\\Pdfexport\\\\HeadlessChrome\\:\\:communicate\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Pdfexport\\HeadlessChrome\:\:communicate\(\) has parameter \$params with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Pdfexport/HeadlessChrome.php - - message: "#^Method Icinga\\\\Module\\\\Pdfexport\\\\HeadlessChrome\\:\\:communicate\\(\\) has parameter \\$method with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Pdfexport\\HeadlessChrome\:\:getFileStorage\(\) return type has no value type specified in iterable type Icinga\\File\\Storage\\StorageInterface\.$#' + identifier: missingType.iterableValue count: 1 path: library/Pdfexport/HeadlessChrome.php - - message: "#^Method Icinga\\\\Module\\\\Pdfexport\\\\HeadlessChrome\\:\\:communicate\\(\\) has parameter \\$params with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Pdfexport\\HeadlessChrome\:\:getRemote\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Pdfexport/HeadlessChrome.php - - message: "#^Method Icinga\\\\Module\\\\Pdfexport\\\\HeadlessChrome\\:\\:getFileStorage\\(\\) return type has no value type specified in iterable type Icinga\\\\File\\\\Storage\\\\StorageInterface\\.$#" + message: '#^Method Icinga\\Module\\Pdfexport\\HeadlessChrome\:\:jsonVersion\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Pdfexport/HeadlessChrome.php - - message: "#^Method Icinga\\\\Module\\\\Pdfexport\\\\HeadlessChrome\\:\\:getRemote\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Pdfexport\\HeadlessChrome\:\:jsonVersion\(\) should return array\|bool but returns mixed\.$#' + identifier: return.type count: 1 path: library/Pdfexport/HeadlessChrome.php - - message: "#^Method Icinga\\\\Module\\\\Pdfexport\\\\HeadlessChrome\\:\\:jsonVersion\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Pdfexport\\HeadlessChrome\:\:parseApiResponse\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Pdfexport/HeadlessChrome.php - - message: "#^Method Icinga\\\\Module\\\\Pdfexport\\\\HeadlessChrome\\:\\:jsonVersion\\(\\) should return array\\|bool but returns mixed\\.$#" + message: '#^Method Icinga\\Module\\Pdfexport\\HeadlessChrome\:\:printToPDF\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Pdfexport/HeadlessChrome.php - - message: "#^Method Icinga\\\\Module\\\\Pdfexport\\\\HeadlessChrome\\:\\:parseApiResponse\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Pdfexport\\HeadlessChrome\:\:printToPDF\(\) has parameter \$browserId with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Pdfexport/HeadlessChrome.php - - message: "#^Method Icinga\\\\Module\\\\Pdfexport\\\\HeadlessChrome\\:\\:parseApiResponse\\(\\) has parameter \\$payload with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Pdfexport\\HeadlessChrome\:\:printToPDF\(\) has parameter \$parameters with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Pdfexport/HeadlessChrome.php - - message: "#^Method Icinga\\\\Module\\\\Pdfexport\\\\HeadlessChrome\\:\\:printToPDF\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Pdfexport\\HeadlessChrome\:\:printToPDF\(\) has parameter \$socket with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Pdfexport/HeadlessChrome.php - - message: "#^Method Icinga\\\\Module\\\\Pdfexport\\\\HeadlessChrome\\:\\:printToPDF\\(\\) has parameter \\$browserId with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Pdfexport\\HeadlessChrome\:\:registerEvent\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Pdfexport/HeadlessChrome.php - - message: "#^Method Icinga\\\\Module\\\\Pdfexport\\\\HeadlessChrome\\:\\:printToPDF\\(\\) has parameter \\$parameters with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Pdfexport\\HeadlessChrome\:\:registerEvent\(\) has parameter \$method with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Pdfexport/HeadlessChrome.php - - message: "#^Method Icinga\\\\Module\\\\Pdfexport\\\\HeadlessChrome\\:\\:printToPDF\\(\\) has parameter \\$socket with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Pdfexport\\HeadlessChrome\:\:registerEvent\(\) has parameter \$params with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Pdfexport/HeadlessChrome.php - - message: "#^Method Icinga\\\\Module\\\\Pdfexport\\\\HeadlessChrome\\:\\:registerEvent\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Pdfexport\\HeadlessChrome\:\:renderApiCall\(\) has parameter \$method with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Pdfexport/HeadlessChrome.php - - message: "#^Method Icinga\\\\Module\\\\Pdfexport\\\\HeadlessChrome\\:\\:registerEvent\\(\\) has parameter \\$method with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Pdfexport\\HeadlessChrome\:\:renderApiCall\(\) has parameter \$options with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Pdfexport/HeadlessChrome.php - - message: "#^Method Icinga\\\\Module\\\\Pdfexport\\\\HeadlessChrome\\:\\:registerEvent\\(\\) has parameter \\$params with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Pdfexport\\HeadlessChrome\:\:renderArgumentList\(\) has parameter \$arguments with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Pdfexport/HeadlessChrome.php - - message: "#^Method Icinga\\\\Module\\\\Pdfexport\\\\HeadlessChrome\\:\\:renderApiCall\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Pdfexport\\HeadlessChrome\:\:setFileStorage\(\) has parameter \$fileStorage with no value type specified in iterable type Icinga\\File\\Storage\\StorageInterface\.$#' + identifier: missingType.iterableValue count: 1 path: library/Pdfexport/HeadlessChrome.php - - message: "#^Method Icinga\\\\Module\\\\Pdfexport\\\\HeadlessChrome\\:\\:renderApiCall\\(\\) has parameter \\$method with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Pdfexport\\HeadlessChrome\:\:waitFor\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Pdfexport/HeadlessChrome.php - - message: "#^Method Icinga\\\\Module\\\\Pdfexport\\\\HeadlessChrome\\:\\:renderApiCall\\(\\) has parameter \\$options with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Pdfexport\\HeadlessChrome\:\:waitFor\(\) has parameter \$eventName with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Pdfexport/HeadlessChrome.php - - message: "#^Method Icinga\\\\Module\\\\Pdfexport\\\\HeadlessChrome\\:\\:renderArgumentList\\(\\) has parameter \\$arguments with no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Pdfexport\\HeadlessChrome\:\:waitFor\(\) has parameter \$expectedParams with no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Pdfexport/HeadlessChrome.php - - message: "#^Method Icinga\\\\Module\\\\Pdfexport\\\\HeadlessChrome\\:\\:setFileStorage\\(\\) has parameter \\$fileStorage with no value type specified in iterable type Icinga\\\\File\\\\Storage\\\\StorageInterface\\.$#" + message: '#^Parameter \#2 \.\.\.\$values of function sprintf expects bool\|float\|int\|string\|null, mixed given\.$#' + identifier: argument.type count: 1 path: library/Pdfexport/HeadlessChrome.php - - message: "#^Method Icinga\\\\Module\\\\Pdfexport\\\\HeadlessChrome\\:\\:waitFor\\(\\) has no return type specified\\.$#" + message: '#^Parameter \#3 \.\.\.\$values of function sprintf expects bool\|float\|int\|string\|null, mixed given\.$#' + identifier: argument.type count: 1 path: library/Pdfexport/HeadlessChrome.php - - message: "#^Method Icinga\\\\Module\\\\Pdfexport\\\\HeadlessChrome\\:\\:waitFor\\(\\) has parameter \\$eventName with no type specified\\.$#" + message: '#^Property Icinga\\Module\\Pdfexport\\HeadlessChrome\:\:\$fileStorage type has no value type specified in iterable type Icinga\\File\\Storage\\StorageInterface\.$#' + identifier: missingType.iterableValue count: 1 path: library/Pdfexport/HeadlessChrome.php - - message: "#^Method Icinga\\\\Module\\\\Pdfexport\\\\HeadlessChrome\\:\\:waitFor\\(\\) has parameter \\$expectedParams with no value type specified in iterable type array\\.$#" + message: '#^Property Icinga\\Module\\Pdfexport\\HeadlessChrome\:\:\$interceptedEvents type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Pdfexport/HeadlessChrome.php - - message: "#^Parameter \\#2 \\.\\.\\.\\$values of function sprintf expects bool\\|float\\|int\\|string\\|null, mixed given\\.$#" + message: '#^Property Icinga\\Module\\Pdfexport\\HeadlessChrome\:\:\$interceptedRequests type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Pdfexport/HeadlessChrome.php - - message: "#^Parameter \\#3 \\.\\.\\.\\$values of function sprintf expects bool\\|float\\|int\\|string\\|null, mixed given\\.$#" + message: '#^Property Icinga\\Module\\Pdfexport\\HeadlessChrome\:\:\$remote type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Pdfexport/HeadlessChrome.php - - message: "#^Property Icinga\\\\Module\\\\Pdfexport\\\\HeadlessChrome\\:\\:\\$fileStorage type has no value type specified in iterable type Icinga\\\\File\\\\Storage\\\\StorageInterface\\.$#" - count: 1 - path: library/Pdfexport/HeadlessChrome.php - - - - message: "#^Property Icinga\\\\Module\\\\Pdfexport\\\\HeadlessChrome\\:\\:\\$interceptedEvents type has no value type specified in iterable type array\\.$#" - count: 1 - path: library/Pdfexport/HeadlessChrome.php - - - - message: "#^Property Icinga\\\\Module\\\\Pdfexport\\\\HeadlessChrome\\:\\:\\$interceptedRequests type has no value type specified in iterable type array\\.$#" - count: 1 - path: library/Pdfexport/HeadlessChrome.php - - - - message: "#^Property Icinga\\\\Module\\\\Pdfexport\\\\HeadlessChrome\\:\\:\\$remote type has no value type specified in iterable type array\\.$#" - count: 1 - path: library/Pdfexport/HeadlessChrome.php - - - - message: "#^Method Icinga\\\\Module\\\\Pdfexport\\\\PrintStyleSheet\\:\\:collect\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Pdfexport\\PrintStyleSheet\:\:collect\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Pdfexport/PrintStyleSheet.php - - message: "#^Cannot call method getName\\(\\) on mixed\\.$#" + message: '#^Cannot call method getName\(\) on mixed\.$#' + identifier: method.nonObject count: 3 path: library/Pdfexport/PrintableHtmlDocument.php - - message: "#^Cannot call method getStaticAssetPath\\(\\) on mixed\\.$#" + message: '#^Cannot call method getStaticAssetPath\(\) on mixed\.$#' + identifier: method.nonObject count: 1 path: library/Pdfexport/PrintableHtmlDocument.php - - message: "#^Method Icinga\\\\Module\\\\Pdfexport\\\\PrintableHtmlDocument\\:\\:assemble\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Pdfexport\\PrintableHtmlDocument\:\:assemble\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Pdfexport/PrintableHtmlDocument.php - - message: "#^Method Icinga\\\\Module\\\\Pdfexport\\\\PrintableHtmlDocument\\:\\:getPrintParameters\\(\\) return type has no value type specified in iterable type array\\.$#" + message: '#^Method Icinga\\Module\\Pdfexport\\PrintableHtmlDocument\:\:getPrintParameters\(\) return type has no value type specified in iterable type array\.$#' + identifier: missingType.iterableValue count: 1 path: library/Pdfexport/PrintableHtmlDocument.php - - message: "#^Parameter \\#1 \\$content of static method ipl\\\\Html\\\\Text\\:\\:create\\(\\) expects string, string\\|null given\\.$#" + message: '#^Parameter \#1 \$content of static method ipl\\Html\\Text\:\:create\(\) expects string, string\|null given\.$#' + identifier: argument.type count: 1 path: library/Pdfexport/PrintableHtmlDocument.php - - message: "#^Parameter \\#3 \\.\\.\\.\\$content of class ipl\\\\Html\\\\HtmlElement constructor expects ipl\\\\Html\\\\ValidHtml, ipl\\\\Html\\\\ValidHtml\\|null given\\.$#" + message: '#^Parameter \#3 \.\.\.\$content of class ipl\\Html\\HtmlElement constructor expects ipl\\Html\\ValidHtml, ipl\\Html\\ValidHtml\|null given\.$#' + identifier: argument.type count: 2 path: library/Pdfexport/PrintableHtmlDocument.php - - message: "#^Cannot call method isSupported\\(\\) on mixed\\.$#" + message: '#^Cannot call method isSupported\(\) on mixed\.$#' + identifier: method.nonObject count: 1 path: library/Pdfexport/ProvidedHook/Pdfexport.php - - message: "#^Method Icinga\\\\Module\\\\Pdfexport\\\\ProvidedHook\\\\Pdfexport\\:\\:first\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Pdfexport\\ProvidedHook\\Pdfexport\:\:first\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Pdfexport/ProvidedHook/Pdfexport.php - - message: "#^Method Icinga\\\\Module\\\\Pdfexport\\\\ProvidedHook\\\\Pdfexport\\:\\:getBinary\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Pdfexport\\ProvidedHook\\Pdfexport\:\:getBinary\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Pdfexport/ProvidedHook/Pdfexport.php - - message: "#^Method Icinga\\\\Module\\\\Pdfexport\\\\ProvidedHook\\\\Pdfexport\\:\\:getForceTempStorage\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Pdfexport\\ProvidedHook\\Pdfexport\:\:getForceTempStorage\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Pdfexport/ProvidedHook/Pdfexport.php - - message: "#^Method Icinga\\\\Module\\\\Pdfexport\\\\ProvidedHook\\\\Pdfexport\\:\\:getHost\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Pdfexport\\ProvidedHook\\Pdfexport\:\:getHost\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Pdfexport/ProvidedHook/Pdfexport.php - - message: "#^Method Icinga\\\\Module\\\\Pdfexport\\\\ProvidedHook\\\\Pdfexport\\:\\:getPort\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Pdfexport\\ProvidedHook\\Pdfexport\:\:getPort\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Pdfexport/ProvidedHook/Pdfexport.php - - message: "#^Method Icinga\\\\Module\\\\Pdfexport\\\\ProvidedHook\\\\Pdfexport\\:\\:htmlToPdf\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Pdfexport\\ProvidedHook\\Pdfexport\:\:htmlToPdf\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Pdfexport/ProvidedHook/Pdfexport.php - - message: "#^Method Icinga\\\\Module\\\\Pdfexport\\\\ProvidedHook\\\\Pdfexport\\:\\:htmlToPdf\\(\\) has parameter \\$html with no type specified\\.$#" + message: '#^Method Icinga\\Module\\Pdfexport\\ProvidedHook\\Pdfexport\:\:htmlToPdf\(\) has parameter \$html with no type specified\.$#' + identifier: missingType.parameter count: 1 path: library/Pdfexport/ProvidedHook/Pdfexport.php - - message: "#^Method Icinga\\\\Module\\\\Pdfexport\\\\ProvidedHook\\\\Pdfexport\\:\\:streamPdfFromHtml\\(\\) has no return type specified\\.$#" + message: '#^Method Icinga\\Module\\Pdfexport\\ProvidedHook\\Pdfexport\:\:streamPdfFromHtml\(\) has no return type specified\.$#' + identifier: missingType.return count: 1 path: library/Pdfexport/ProvidedHook/Pdfexport.php - - message: "#^Parameter \\#1 \\$object of function get_class expects object, mixed given\\.$#" + message: '#^Parameter \#1 \$object of function get_class expects object, mixed given\.$#' + identifier: argument.type count: 1 path: library/Pdfexport/ProvidedHook/Pdfexport.php - - message: "#^Parameter \\#1 \\$process of function proc_get_status expects resource, resource\\|null given\\.$#" + message: '#^Parameter \#1 \$process of function proc_get_status expects resource, resource\|null given\.$#' + identifier: argument.type count: 1 path: library/Pdfexport/ShellCommand.php - - message: "#^Property Icinga\\\\Module\\\\Pdfexport\\\\ShellCommand\\:\\:\\$resource \\(resource\\|null\\) does not accept resource\\|false\\.$#" + message: '#^Property Icinga\\Module\\Pdfexport\\ShellCommand\:\:\$resource \(resource\|null\) does not accept resource\|false\.$#' + identifier: assign.propertyType count: 1 path: library/Pdfexport/ShellCommand.php