Merge pull request #4878 from oleibman/first86

First Php8.6 Deprecation
This commit is contained in:
oleibman
2026-05-31 14:37:35 +00:00
committed by GitHub
+28
View File
@@ -40,6 +40,13 @@ class Mpdf extends Pdf
// Create PDF
$config = ['tempDir' => $this->tempDir . '/mpdf'];
$restoreHandler = false;
if (PHP_VERSION_ID >= self::$temporaryVersionCheck) {
// @codeCoverageIgnoreStart
set_error_handler(self::specialErrorHandler(...));
$restoreHandler = true;
// @codeCoverageIgnoreEnd
}
$pdf = $this->createExternalWriterInstance($config);
$ortmp = $orientation;
$pdf->_setPageSize($paperSize, $ortmp);
@@ -83,9 +90,30 @@ class Mpdf extends Pdf
$str = $pdf->Output('', 'S');
fwrite($fileHandle, $str);
if ($restoreHandler) {
restore_error_handler(); // @codeCoverageIgnore
}
parent::restoreStateAfterSave();
}
protected static int $temporaryVersionCheck = 80600;
/**
* Temporary handler for Php8.6 mb_regex_encoding deprecation.
*
* @codeCoverageIgnore
*/
public function specialErrorHandler(int $errno, string $errstr, string $filename, int $lineno): bool
{
if ($errno === E_DEPRECATED) {
if (preg_match('/Function mb_\w+[(][)] is deprecated since 8[.]6/', $errstr) === 1) {
return true;
}
}
return false; // continue error handling
}
/**
* Convert inches to mm.
*/