3158df00d908399359a72e914cddb9704c3fd170
[atutor.git] / mods / phpdoc2 / PhpDocumentor / phpDocumentor / Smarty-2.6.0 / libs / plugins / modifier.debug_print_var.php
1 <?php\r
2 /**\r
3  * Smarty plugin\r
4  * @package Smarty\r
5  * @subpackage plugins\r
6  */\r
7 \r
8 \r
9 /**\r
10  * Smarty debug_print_var modifier plugin\r
11  *\r
12  * Type:     modifier<br>\r
13  * Name:     debug_print_var<br>\r
14  * Purpose:  formats variable contents for display in the console\r
15  * @link http://smarty.php.net/manual/en/language.modifier.debug.print.var.php\r
16  *          debug_print_var (Smarty online manual)\r
17  * @param array|object\r
18  * @param integer\r
19  * @param integer\r
20  * @return string\r
21  */\r
22 function smarty_modifier_debug_print_var($var, $depth = 0, $length = 40)\r
23 {\r
24         $_replace = array("\n"=>'<i>&#92;n</i>', "\r"=>'<i>&#92;r</i>', "\t"=>'<i>&#92;t</i>');\r
25     if (is_array($var)) {\r
26         $results = "<b>Array (".count($var).")</b>";\r
27         foreach ($var as $curr_key => $curr_val) {\r
28             $return = smarty_modifier_debug_print_var($curr_val, $depth+1, $length);\r
29             $results .= "<br>".str_repeat('&nbsp;', $depth*2)."<b>".strtr($curr_key, $_replace)."</b> =&gt; $return";\r
30         }\r
31         return $results;\r
32     } else if (is_object($var)) {\r
33         $object_vars = get_object_vars($var);\r
34         $results = "<b>".get_class($var)." Object (".count($object_vars).")</b>";\r
35         foreach ($object_vars as $curr_key => $curr_val) {\r
36             $return = smarty_modifier_debug_print_var($curr_val, $depth+1, $length);\r
37             $results .= "<br>".str_repeat('&nbsp;', $depth*2)."<b>$curr_key</b> =&gt; $return";\r
38         }\r
39         return $results;\r
40     } else {\r
41         if (empty($var) && $var != "0") {\r
42             return '<i>empty</i>';\r
43         }\r
44         if (strlen($var) > $length ) {\r
45             $results = substr($var, 0, $length-3).'...';\r
46         } else {\r
47             $results = $var;\r
48         }\r
49         $results = htmlspecialchars($results);\r
50         $results = strtr($results, $_replace);\r
51         return $results;\r
52     }\r
53 }\r
54 \r
55 /* vim: set expandtab: */\r
56 \r
57 ?>\r