From 34062d45b7e0f3e8ab4509d284cc2f80adcfd5b6 Mon Sep 17 00:00:00 2001 From: uwetews Date: Tue, 29 Dec 2015 16:54:15 +0100 Subject: [PATCH] - bugfix Smarty::error_reporting was not observed when display() or fetch() was called on template objects https://github.com/smarty-php/smarty/issues/145 --- change_log.txt | 4 +++- libs/sysplugins/smarty_internal_templatebase.php | 5 ++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/change_log.txt b/change_log.txt index af5db492..08e6feb6 100644 --- a/change_log.txt +++ b/change_log.txt @@ -1,4 +1,7 @@  ===== 3.1.30-dev ===== (xx.xx.xx) + 29.12.2015 + - bugfix Smarty::error_reporting was not observed when display() or fetch() was called on template objects https://github.com/smarty-php/smarty/issues/145 + 28.12.2015 - optimization of {foreach} code size and processing @@ -13,7 +16,6 @@ - optimization replace hhvm extension by inline code - new feature If ACP is enabled force an apc_compile_file() when compiled or cached template was updated - 24.12.2015 - new feature Compiler does now observe the template_dir setting and will create separate compiled files if required - bugfix post filter did fail on template inheritance https://github.com/smarty-php/smarty/issues/144 diff --git a/libs/sysplugins/smarty_internal_templatebase.php b/libs/sysplugins/smarty_internal_templatebase.php index b0282b70..3c05246c 100644 --- a/libs/sysplugins/smarty_internal_templatebase.php +++ b/libs/sysplugins/smarty_internal_templatebase.php @@ -174,7 +174,7 @@ abstract class Smarty_Internal_TemplateBase extends Smarty_Internal_Data $level = ob_get_level(); try { $_smarty_old_error_level = - ($this->_objType == 1 && isset($smarty->error_reporting)) ? error_reporting($smarty->error_reporting) : + isset($smarty->error_reporting) ? error_reporting($smarty->error_reporting) : null; if ($function == 2) { if ($template->caching) { @@ -204,6 +204,9 @@ abstract class Smarty_Internal_TemplateBase extends Smarty_Internal_Data while (ob_get_level() > $level) { ob_end_clean(); } + if (isset($_smarty_old_error_level)) { + error_reporting($_smarty_old_error_level); + } throw $e; } }