From 4434e128c67de0578af1c32147828ae429dc3b53 Mon Sep 17 00:00:00 2001 From: Simon Wisselink Date: Wed, 19 Jul 2023 12:27:17 +0200 Subject: muteUndefinedOrNullWarnings() now also mutes PHP8 warnings for undefined properties (#891) --- libs/sysplugins/smarty_internal_errorhandler.php | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'libs') diff --git a/libs/sysplugins/smarty_internal_errorhandler.php b/libs/sysplugins/smarty_internal_errorhandler.php index f57cc21f..6f526c38 100644 --- a/libs/sysplugins/smarty_internal_errorhandler.php +++ b/libs/sysplugins/smarty_internal_errorhandler.php @@ -17,6 +17,12 @@ class Smarty_Internal_ErrorHandler */ public $allowUndefinedVars = true; + /** + * Allows {$foo->propName} where propName is undefined. + * @var bool + */ + public $allowUndefinedProperties = true; + /** * Allows {$foo.bar} where bar is unset and {$foo.bar1.bar2} where either bar1 or bar2 is unset. * @var bool @@ -80,6 +86,13 @@ class Smarty_Internal_ErrorHandler return; // suppresses this error } + if ($this->allowUndefinedProperties && preg_match( + '/^(Undefined property)/', + $errstr + )) { + return; // suppresses this error + } + if ($this->allowUndefinedArrayKeys && preg_match( '/^(Undefined index|Undefined array key|Trying to access array offset on value of type)/', $errstr -- cgit v1.3