\n"; $charset = true; } if ($level>$limit) { if ($plain) { return str_repeat(' ', 4*$level)."...\n"; } else { return "..."; } } if (is_object($object) || (is_array($object) && count($object)>0)) { foreach ($object as $key => $value) { if ($plain) { $result .= str_repeat(' ', 4*$level).$key; } else { if (is_array($object)) { $result .= "".$key.''; } else { $result .= ''.$key.''; } } if (is_object($value) || (is_array($value) && count($value)>0)) { if (is_object($value)) { if ($plain) { $result .= " (".get_class($value).")"; } else { $result .= " ".get_class($value).""; } } else { if ($plain) { $result .= " (array)"; } else { $result .= " array"; } } if ($plain) { $result .= "\n"; } else { $collapse = !($level+1<=1 || $title===true || (is_string($title) && substr($title,0,1)=='*')); $collapse = false; // hack $result .= "\n
\n
".($collapse?'+':'-')."
"; } $result .= debug ($value, $title, $plain, $limit, $level+1); if ($plain) { $result .= ""; } else { $result .= "
\n"; } } else { $result .= " : "; if ($value===null) { if ($plain) { $result .= $color_cyan."null".$color_clear; } else { $result .= "null"; } } else if (is_bool($value)) { if ($value) { if ($plain) { $result .= $color_purple_light."true".$color_clear; } else { $result .= "true"; } } else { if ($plain) { $result .= $color_purple_light."false".$color_clear; } else { $result .= "false"; } } } else if (is_integer($value) || is_float($value)) { if ($plain) { $result .= $color_red_light.$value.$color_clear; } else { $result .= "".$value.""; } } else if (is_array($value)) { if ($plain) { $result .= "[]"; } else { $result .= "[]"; } } else { if ($plain) { $result .= $color_green_light."\"".$value."\"".$color_clear; } else { $result .= "\"".htmlspecialchars ($value,ENT_NOQUOTES,'UTF-8')."\""; } } if ($plain) { $result .= "\n"; } else { $result .= "
\n"; } } } if ($level>0) { return $result; } } else { if ($object===null) { if ($plain) { $result = $color_cyan."null".$color_clear; } else { $result = "null"; } } else if (is_bool($object)) { if ($object) { if ($plain) { $result = $color_purple_light."true".$color_clear; } else { $result = "true"; } } else { if ($plain) { $result = $color_purple_light."false".$color_clear; } else { $result = "false"; } } } else if (is_integer($object) || is_float($object)) { if ($plain) { $result = $color_red_light.$object.$color_clear; } else { $result = "".$object.""; } } else if (is_array($object)) { if ($plain) { $result = "[]"; } else { $result = "[]"; } } else { if ($plain) { $result = $color_green_light."\"".$object."\"".$color_clear; } else { $result = "\"".htmlspecialchars ($object,ENT_NOQUOTES,'UTF-8')."\""; } } if ($plain) { $result .= "\n"; } else { $result .= "
\n"; } } if (is_null($object)) { $type = 'null'; } else if (is_bool($object)) { $type = 'boolean'; } else if (is_object($object)) { $type = get_class($object); } else if (is_array($object)) { $type = 'array'; } else if (is_int($object)) { $type = 'integer'; } else if (is_float($object)) { $type = 'float'; } else { $type = 'string'; } if ($plain) { $header = ''; if ($title) { $header = $color_cyan; $header .= "--------------------------------------\n"; $header .= (is_bool($title) || $title===null)?$type:$title; $header .= "\n--------------------------------------\n"; $header .= $color_clear; } if (is_string($plain)) { if ($plain=='error_log') { error_log ("\n".$header.$result); } else { file_put_contents ($plain, $header.$result, FILE_APPEND); } } else { echo $header.$result; } } else { $trace = debug_backtrace(); $node = reset ($trace); $file = basename($node['file']).":".$node['line']; $debug = "
"; foreach ($trace as $key => $value) { if (isset($value['file']) && $value['line']) { $debug .= "".$value['file']." [".$value['line']."] ".$value['function']."
"; } else { $debug .= "".$value['function']."
"; } } $debug .= "
"; echo "
\n"; echo "
".(($title && !is_bool($title))?$title:$type)."
\n"; echo $result; echo "
\n"; } } ?>