summaryrefslogtreecommitdiff
path: root/libs/plugins/modifier.debug_print_var.php
diff options
context:
space:
mode:
Diffstat (limited to 'libs/plugins/modifier.debug_print_var.php')
-rw-r--r--libs/plugins/modifier.debug_print_var.php40
1 files changed, 29 insertions, 11 deletions
diff --git a/libs/plugins/modifier.debug_print_var.php b/libs/plugins/modifier.debug_print_var.php
index 013337ae..bac589c1 100644
--- a/libs/plugins/modifier.debug_print_var.php
+++ b/libs/plugins/modifier.debug_print_var.php
@@ -12,12 +12,11 @@
* 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 $
+ * @param array|object $var variable to be formatted
+ * @param integer $depth maximum recursion depth if $var is an array
+ * @param integer $length maximum string length if $var is a string
* @return string
*/
function smarty_modifier_debug_print_var ($var, $depth = 0, $length = 40)
@@ -37,6 +36,7 @@ function smarty_modifier_debug_print_var ($var, $depth = 0, $length = 40)
$depth--;
}
break;
+
case 'object' :
$object_vars = get_object_vars($var);
$results = '<b>' . get_class($var) . ' Object (' . count($object_vars) . ')</b>';
@@ -47,6 +47,7 @@ function smarty_modifier_debug_print_var ($var, $depth = 0, $length = 40)
$depth--;
}
break;
+
case 'boolean' :
case 'NULL' :
case 'resource' :
@@ -61,23 +62,40 @@ function smarty_modifier_debug_print_var ($var, $depth = 0, $length = 40)
}
$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) . '...';
- }
+ if (SMARTY_MBSTRING /* ^phpunit */&&empty($_SERVER['SMARTY_PHPUNIT_DISABLE_MBSTRING'])/* phpunit$ */) {
+ if (mb_strlen($var, SMARTY_RESOURCE_CHAR_SET) > $length) {
+ $results = mb_substr($var, 0, $length - 3, SMARTY_RESOURCE_CHAR_SET) . '...';
+ }
+ } else {
+ 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) . '...';
- }
+ if (SMARTY_MBSTRING /* ^phpunit */&&empty($_SERVER['SMARTY_PHPUNIT_DISABLE_MBSTRING'])/* phpunit$ */) {
+ if (mb_strlen($results, SMARTY_RESOURCE_CHAR_SET) > $length) {
+ $results = mb_substr($results, 0, $length - 3, SMARTY_RESOURCE_CHAR_SET) . '...';
+ }
+ } else {
+ if (strlen($results) > $length) {
+ $results = substr($results, 0, $length - 3) . '...';
+ }
+ }
+
$results = htmlspecialchars($results);
}