/framework/vendor/smarty2/lib/plugins/modifier.debug_print_var.php
PHP | 57 lines | 33 code | 4 blank | 20 comment | 12 complexity | 08316533750e1d7b0e9c801f99fb5e1f MD5 | raw file
1<?php 2/** 3 * Smarty plugin 4 * @package Smarty 5 * @subpackage plugins 6 */ 7 8 9/** 10 * Smarty debug_print_var modifier plugin 11 * 12 * Type: modifier<br> 13 * Name: debug_print_var<br> 14 * Purpose: formats variable contents for display in the console 15 * @link http://smarty.php.net/manual/en/language.modifier.debug.print.var.php 16 * debug_print_var (Smarty online manual) 17 * @author Monte Ohrt <monte at ohrt dot com> 18 * @param array|object 19 * @param integer 20 * @param integer 21 * @return string 22 */ 23function smarty_modifier_debug_print_var($var, $depth = 0, $length = 40) 24{ 25 $_replace = array("\n"=>'<i>\n</i>', "\r"=>'<i>\r</i>', "\t"=>'<i>\t</i>'); 26 if (is_array($var)) { 27 $results = "<b>Array (".count($var).")</b>"; 28 foreach ($var as $curr_key => $curr_val) { 29 $return = smarty_modifier_debug_print_var($curr_val, $depth+1, $length); 30 $results .= "<br>".str_repeat(' ', $depth*2)."<b>".strtr($curr_key, $_replace)."</b> => $return"; 31 } 32 } else if (is_object($var)) { 33 $object_vars = get_object_vars($var); 34 $results = "<b>".get_class($var)." Object (".count($object_vars).")</b>"; 35 foreach ($object_vars as $curr_key => $curr_val) { 36 $return = smarty_modifier_debug_print_var($curr_val, $depth+1, $length); 37 $results .= "<br>".str_repeat(' ', $depth*2)."<b>$curr_key</b> => $return"; 38 } 39 } else if (is_resource($var)) { 40 $results = '<i>'.(string)$var.'</i>'; 41 } else if (empty($var) && $var != "0") { 42 $results = '<i>empty</i>'; 43 } else { 44 if (strlen($var) > $length ) { 45 $results = substr($var, 0, $length-3).'...'; 46 } else { 47 $results = $var; 48 } 49 $results = htmlspecialchars($results); 50 $results = strtr($results, $_replace); 51 } 52 return $results; 53} 54 55/* vim: set expandtab: */ 56 57?>