/[cvs]/nfo/php/libs/net.php.smarty/plugins/modifier.debug_print_var.php
ViewVC logotype

Diff of /nfo/php/libs/net.php.smarty/plugins/modifier.debug_print_var.php

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by cvsjoko, Wed Oct 9 00:53:36 2002 UTC revision 1.2 by joko, Wed Jun 16 21:58:17 2004 UTC
# Line 1  Line 1 
1  <?php  <?php
2    /**
 /*  
3   * Smarty plugin   * Smarty plugin
4   * -------------------------------------------------------------   * @package Smarty
5   * Type:     modifier   * @subpackage plugins
6   * Name:     debug_print_var   */
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   * 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     * @param array|object
18     * @param integer
19     * @param integer
20     * @return string
21   */   */
22  function smarty_modifier_debug_print_var($var, $depth = 0, $length = 40)  function smarty_modifier_debug_print_var($var, $depth = 0, $length = 40)
23  {  {
24        $_replace = array("\n"=>'<i>&#92;n</i>', "\r"=>'<i>&#92;r</i>', "\t"=>'<i>&#92;t</i>');
25      if (is_array($var)) {      if (is_array($var)) {
26          $results = "<b>Array (".count($var).")</b>";          $results = "<b>Array (".count($var).")</b>";
27          foreach ($var as $curr_key => $curr_val) {          foreach ($var as $curr_key => $curr_val) {
28              $return = smarty_modifier_debug_print_var($curr_val, $depth+1);              $return = smarty_modifier_debug_print_var($curr_val, $depth+1, $length);
29              $results .= '<br>\r'.str_repeat('&nbsp;', $depth*2)."<b>$curr_key</b> =&gt; $return";              $results .= "<br>".str_repeat('&nbsp;', $depth*2)."<b>".strtr($curr_key, $_replace)."</b> =&gt; $return";
30          }          }
         return $results;  
31      } else if (is_object($var)) {      } else if (is_object($var)) {
32          $object_vars = get_object_vars($var);          $object_vars = get_object_vars($var);
33          $results = "<b>".get_class($var)." Object (".count($object_vars).")</b>";          $results = "<b>".get_class($var)." Object (".count($object_vars).")</b>";
34          foreach ($object_vars as $curr_key => $curr_val) {          foreach ($object_vars as $curr_key => $curr_val) {
35              $return = smarty_modifier_debug_print_var($curr_val, $depth+1);              $return = smarty_modifier_debug_print_var($curr_val, $depth+1, $length);
36              $results .= '<br>\r'.str_repeat('&nbsp;', $depth*2)."<b>$curr_key</b> =&gt; $return";              $results .= "<br>".str_repeat('&nbsp;', $depth*2)."<b>$curr_key</b> =&gt; $return";
37          }          }
38          return $results;      } else if (is_resource($var)) {
39            $results = '<i>'.(string)$var.'</i>';
40        } else if (empty($var) && $var != "0") {
41            $results = '<i>empty</i>';
42      } else {      } else {
         if (empty($var) && $var != "0") {  
             return '<i>empty</i>';  
         }  
43          if (strlen($var) > $length ) {          if (strlen($var) > $length ) {
44              $results = substr($var, 0, $length-3).'...';              $results = substr($var, 0, $length-3).'...';
45          } else {          } else {
46              $results = $var;              $results = $var;
47          }          }
48          $results = preg_replace("![\r\t\n]!", " ", $results);          $results = htmlspecialchars($results);
49          $results = htmlspecialchars(htmlspecialchars($results));          $results = strtr($results, $_replace);
         return $results;  
50      }      }
51        return $results;
52  }  }
53    
54  /* vim: set expandtab: */  /* vim: set expandtab: */

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

MailToCvsAdmin">MailToCvsAdmin
ViewVC Help
Powered by ViewVC 1.1.26 RSS 2.0 feed