Blame | Letzte Änderung | Log anzeigen | RSS feed
<?php/*** Smarty plugin* @package Smarty* @subpackage plugins*//*** Smarty debug_print_var modifier plugin** Type: modifier<br>* Name: debug_print_var<br>* Purpose: formats variable contents for display in the console* @link http://smarty.php.net/manual/en/language.modifier.debug.print.var.php* debug_print_var (Smarty online manual)* @author Monte Ohrt <monte at ohrt dot com>* @param array|object* @param integer* @param integer* @return string*/function smarty_modifier_debug_print_var($var, $depth = 0, $length = 40){$_replace = array("\n" => '<i>\n</i>',"\r" => '<i>\r</i>',"\t" => '<i>\t</i>');switch (gettype($var)) {case 'array' :$results = '<b>Array (' . count($var) . ')</b>';foreach ($var as $curr_key => $curr_val) {$results .= '<br>' . str_repeat(' ', $depth * 2). '<b>' . strtr($curr_key, $_replace) . '</b> => '. smarty_modifier_debug_print_var($curr_val, ++$depth, $length);$depth--;}break;case 'object' :$object_vars = get_object_vars($var);$results = '<b>' . get_class($var) . ' Object (' . count($object_vars) . ')</b>';foreach ($object_vars as $curr_key => $curr_val) {$results .= '<br>' . str_repeat(' ', $depth * 2). '<b> ->' . strtr($curr_key, $_replace) . '</b> = '. smarty_modifier_debug_print_var($curr_val, ++$depth, $length);$depth--;}break;case 'boolean' :case 'NULL' :case 'resource' :if (true === $var) {$results = 'true';} elseif (false === $var) {$results = 'false';} elseif (null === $var) {$results = 'null';} else {$results = htmlspecialchars((string) $var);}$results = '<i>' . $results . '</i>';break;case 'integer' :case 'float' :$results = htmlspecialchars((string) $var);break;case 'string' :$results = strtr($var, $_replace);if (strlen($var) > $length ) {$results = substr($var, 0, $length - 3) . '...';}$results = htmlspecialchars('"' . $results . '"');break;case 'unknown type' :default :$results = strtr((string) $var, $_replace);if (strlen($results) > $length ) {$results = substr($results, 0, $length - 3) . '...';}$results = htmlspecialchars($results);}return $results;}/* vim: set expandtab: */?>