From fcb07072cd790c0c3470c835188b6200d9a0d955 Mon Sep 17 00:00:00 2001 From: mohrt Date: Fri, 19 Dec 2003 19:23:09 +0000 Subject: [PATCH] add debug console persistance feature --- libs/Smarty.class.php | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/libs/Smarty.class.php b/libs/Smarty.class.php index e5663261..ecbebb67 100644 --- a/libs/Smarty.class.php +++ b/libs/Smarty.class.php @@ -1141,11 +1141,26 @@ class Smarty $_smarty_old_error_level = $this->debugging ? error_reporting() : error_reporting(isset($this->tpl_error_reporting) ? $this->tpl_error_reporting : error_reporting() & ~E_NOTICE); - if (!$this->debugging && $this->debugging_ctrl == 'URL' - && @strstr(($this->request_use_auto_globals) ? $_SERVER['QUERY_STRING'] : $GLOBALS['HTTP_SERVER_VARS']['QUERY_STRING'], $this->_smarty_debug_id)) { - // enable debugging from URL - $this->debugging = true; - } + if (!$this->debugging && $this->debugging_ctrl == 'URL') { + $_query_string = $this->request_use_auto_globals ? $_SERVER['QUERY_STRING'] : $GLOBALS['HTTP_SERVER_VARS']['QUERY_STRING']; + if (@strstr($_query_string, $this->_smarty_debug_id)) { + if (@strstr($_query_string, $this->_smarty_debug_id . '=on')) { + // enable debugging for this browser session + @setcookie('SMARTY_DEBUG', true); + $this->debugging = true; + } elseif (@strstr($_query_string, $this->_smarty_debug_id . '=off')) { + // disable debugging for this browser session + @setcookie('SMARTY_DEBUG', false); + $this->debugging = false; + } else { + // enable debugging for this page + $this->debugging = true; + } + } else { + $_cookie_var = $this->request_use_auto_globals ? $_COOKIE['SMARTY_DEBUG'] : $GLOBALS['HTTP_COOKIE_VARS']['SMARTY_DEBUG']; + $this->debugging = $_cookie_var ? true : false; + } + } if ($this->debugging) { // capture time for debugging info