diff options
author | friendica <info@friendica.com> | 2014-12-12 00:28:46 -0800 |
---|---|---|
committer | friendica <info@friendica.com> | 2014-12-12 00:28:46 -0800 |
commit | b30ea4c2c51f893bf0cffbea38e875cb01c6c431 (patch) | |
tree | 07c6f125256c73bfa29fe2dfed0f601def167adc /library/Smarty/libs/sysplugins/smarty_internal_debug.php | |
parent | d3465802d6433bcd4cf24971951e0633161b0665 (diff) | |
parent | 967ab871b836f618107fe144978bd1453c3c6634 (diff) | |
download | volse-hubzilla-b30ea4c2c51f893bf0cffbea38e875cb01c6c431.tar.gz volse-hubzilla-b30ea4c2c51f893bf0cffbea38e875cb01c6c431.tar.bz2 volse-hubzilla-b30ea4c2c51f893bf0cffbea38e875cb01c6c431.zip |
Merge https://github.com/friendica/red into pending_merge
Diffstat (limited to 'library/Smarty/libs/sysplugins/smarty_internal_debug.php')
-rw-r--r-- | library/Smarty/libs/sysplugins/smarty_internal_debug.php | 78 |
1 files changed, 63 insertions, 15 deletions
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_debug.php b/library/Smarty/libs/sysplugins/smarty_internal_debug.php index 2aea13f30..e5175d51d 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_debug.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_debug.php @@ -1,22 +1,21 @@ <?php /** * Smarty Internal Plugin Debug - * * Class to collect data for the Smarty Debugging Consol * - * @package Smarty + * @package Smarty * @subpackage Debug - * @author Uwe Tews + * @author Uwe Tews */ /** * Smarty Internal Plugin Debug Class * - * @package Smarty + * @package Smarty * @subpackage Debug */ -class Smarty_Internal_Debug extends Smarty_Internal_Data { - +class Smarty_Internal_Debug extends Smarty_Internal_Data +{ /** * template data * @@ -25,13 +24,52 @@ class Smarty_Internal_Debug extends Smarty_Internal_Data { public static $template_data = array(); /** + * List of uid's which shall be ignored + * + * @var array + */ + public static $ignore_uid = array(); + + /** + * Ignore template + * + * @param object $template + */ + public static function ignore($template) + { + // calculate Uid if not already done + if ($template->source->uid == '') { + $template->source->filepath; + } + self::$ignore_uid[$template->source->uid] = true; + } + + /** * Start logging of compile time * * @param object $template */ public static function start_compile($template) { - $key = self::get_key($template); + static $_is_stringy = array('string' => true, 'eval' => true); + if (!empty($template->compiler->trace_uid)) { + $key = $template->compiler->trace_uid; + if (!isset(self::$template_data[$key])) { + if (isset($_is_stringy[$template->source->type])) { + self::$template_data[$key]['name'] = '\'' . substr($template->source->name, 0, 25) . '...\''; + } else { + self::$template_data[$key]['name'] = $template->source->filepath; + } + self::$template_data[$key]['compile_time'] = 0; + self::$template_data[$key]['render_time'] = 0; + self::$template_data[$key]['cache_time'] = 0; + } + } else { + if (isset(self::$ignore_uid[$template->source->uid])) { + return; + } + $key = self::get_key($template); + } self::$template_data[$key]['start_time'] = microtime(true); } @@ -42,7 +80,15 @@ class Smarty_Internal_Debug extends Smarty_Internal_Data { */ public static function end_compile($template) { - $key = self::get_key($template); + if (!empty($template->compiler->trace_uid)) { + $key = $template->compiler->trace_uid; + } else { + if (isset(self::$ignore_uid[$template->source->uid])) { + return; + } + + $key = self::get_key($template); + } self::$template_data[$key]['compile_time'] += microtime(true) - self::$template_data[$key]['start_time']; } @@ -115,6 +161,7 @@ class Smarty_Internal_Debug extends Smarty_Internal_Data { $smarty->left_delimiter = '{'; $smarty->right_delimiter = '}'; $smarty->debugging = false; + $smarty->debugging_ctrl = 'NONE'; $smarty->force_compile = false; $_template = new Smarty_Internal_Template($smarty->debug_tpl, $smarty); $_template->caching = false; @@ -138,7 +185,8 @@ class Smarty_Internal_Debug extends Smarty_Internal_Data { /** * Recursively gets variables from all template/data scopes * - * @param Smarty_Internal_Template|Smarty_Data $obj object to debug + * @param Smarty_Internal_Template|Smarty_Data $obj object to debug + * * @return StdClass */ public static function get_debug_vars($obj) @@ -169,14 +217,16 @@ class Smarty_Internal_Debug extends Smarty_Internal_Data { } } } + return (object) array('tpl_vars' => $tpl_vars, 'config_vars' => $config_vars); } /** * Return key into $template_data for template * - * @param object $template template object - * @return string key into $template_data + * @param object $template template object + * + * @return string key into $template_data */ private static function get_key($template) { @@ -190,17 +240,15 @@ class Smarty_Internal_Debug extends Smarty_Internal_Data { return $key; } else { if (isset($_is_stringy[$template->source->type])) { - self::$template_data[$key]['name'] = '\''.substr($template->source->name,0,25).'...\''; + self::$template_data[$key]['name'] = '\'' . substr($template->source->name, 0, 25) . '...\''; } else { self::$template_data[$key]['name'] = $template->source->filepath; } self::$template_data[$key]['compile_time'] = 0; self::$template_data[$key]['render_time'] = 0; self::$template_data[$key]['cache_time'] = 0; + return $key; } } - } - -?>
\ No newline at end of file |