/** * Internal function used with dump(); * * @access private * @version 3.0 * @since 1.0.0 * @author Dan Aldridge * * @param variable $var * @param string $var_name * @param string $indent * @param string $reference * * @return string */ function doDump(&$var, $var_name = null, $indent = null, $reference = null, $counter = 0) { $do_dump_indent = ' '; $reference = $reference . $var_name; $keyvar = 'the_do_dump_recursion_protection_scheme'; $keyname = 'referenced_object_name'; $return = ''; #if($counter >= 14){ return; } $return .= '<li>'; if (is_array($var) && isset($var[$keyvar])) { $real_var =& $var[$keyvar]; $real_name =& $var[$keyname]; $type = ucfirst(gettype($real_var)); $return .= $indent . $var_name . '<span class="ident">' . $type . '</span> = <span style="color:#e87800;">&' . $real_name . '</span><br />'; } else { $var = array($keyvar => $var, $keyname => $reference); $avar =& $var[$keyvar]; $type = ucfirst(gettype($avar)); $type_color = '<span style="color:black">'; $color = 'black'; if ($type == 'String') { $type_color = '<span style="color:green">'; $color = 'green'; } elseif ($type == 'Integer') { $type_color = '<span style="color:red">'; $color = 'red'; } elseif ($type == 'Double') { $type_color = '<span style="color:#0099c5">'; $type = 'Float'; $color = '#0099c5'; } elseif ($type == 'Boolean') { $type_color = '<span style="color:#92008d">'; $color = '#92008d'; } elseif ($type == 'null') { $type_color = '<span style="color:black">'; $color = 'black'; } elseif ($type == 'Resource') { $type_color = '<span style="color:#00c19f">'; $color = '#00c19f'; } $keyNames = array('["password"]', '["pin"]'); $avar = in_array($var_name, $keyNames) ? str_pad('', strlen($avar), '*') : $avar; if (is_array($avar)) { $count = count($avar); $return .= '' . $indent . ($var_name ? $var_name . ' => ' : '') . '<span class="ident">' . $type . '(' . $count . ')</span>' . $indent . '<ul>('; $keys = array_keys($avar); foreach ($keys as $name) { $value =& $avar[$name]; $return .= doDump($value, '["' . $name . '"]', $indent . $do_dump_indent, $reference, 1); } $return .= ")</ul>"; } elseif (is_object($avar)) { $return .= $indent . $var_name . ' <span class="ident">' . $type . '</span>' . $indent . '<ul>('; $_indent = $indent . $do_dump_indent; $avar = (array) $avar; foreach ($avar as $key => $value) { $return .= doDump($value, "->" . $key, $indent . $do_dump_indent, $reference, $counter++); } $return .= ")</ul>"; } elseif (is_int($avar)) { $return .= $indent . $var_name . ' = <span class="ident">' . $type . '(' . strlen($avar) . ')</span> ' . $type_color . $avar . '</span>'; } elseif (is_string($avar)) { $return .= $indent . $var_name . ' = <span class="ident">' . $type . '(' . strlen($avar) . ')</span> ' . $type_color . '"' . str_replace(str_split("\t\n\r\v"), '', htmlspecialchars($avar)) . '"</span>'; } elseif (is_float($avar)) { $return .= $indent . $var_name . ' = <span class="ident">' . $type . '(' . strlen($avar) . ')</span> ' . $type_color . $avar . '</span>'; } elseif (is_bool($avar)) { $return .= $indent . $var_name . ' = <span class="ident">' . $type . '(' . strlen($avar) . ')</span> ' . $type_color . ($avar == 1 ? 'true' : 'false') . '</span>'; } elseif (is_null($avar)) { $return .= $indent . $var_name . ' = <span class="ident">' . $type . '(' . strlen($avar) . ')</span> ' . $type_color . 'NULL</span>'; } elseif (is_resource($avar)) { $return .= $indent . $var_name . ' = <span class="ident">' . $type . '</span> ' . $type_color . $avar . '</span>'; } else { $return .= $indent . $var_name . ' = <span class="ident">' . $type . '(' . strlen($avar) . ')</span> ' . "{$avar}"; } $var = $var[$keyvar]; } $return .= '</li>'; return $return; }
/** * Internal function used with dump(); * * @access private * @version 2.0 * @since 1.0.0 * @author xLink * * @param variable $var * @param string $var_name * @param string $indent * @param string $reference * * @return string */ function doDump(&$var, $var_name = null, $indent = null, $reference = null) { $do_dump_indent = '<span style="color:#eeeeee;">|</span> '; $reference = $reference . $var_name; $keyvar = 'the_do_dump_recursion_protection_scheme'; $keyname = 'referenced_object_name'; $return = ''; if (is_array($var) && isset($var[$keyvar])) { $real_var =& $var[$keyvar]; $real_name =& $var[$keyname]; $type = ucfirst(gettype($real_var)); $return .= $indent . $var_name . '<span style="color:#a2a2a2">' . $type . '</span> = <span style="color:#e87800;">&' . $real_name . '</span><br />'; } else { $var = array($keyvar => $var, $keyname => $reference); $avar =& $var[$keyvar]; $type = ucfirst(gettype($avar)); if ($type == 'String') { $type_color = '<span style="color:green">'; } elseif ($type == 'Integer') { $type_color = '<span style="color:red">'; } elseif ($type == 'Double') { $type_color = '<span style="color:#0099c5">'; $type = 'Float'; } elseif ($type == 'Boolean') { $type_color = '<span style="color:#92008d">'; } elseif ($type == 'null') { $type_color = '<span style="color:black">'; } elseif ($type == 'Resource') { $type_color = '<span style="color:#00c19f">'; } $keyNames = array('[\'password\']', '[\'pin\']'); $avar = in_array($var_name, $keyNames) ? str_pad('', strlen($avar), '*') : $avar; if (is_array($avar)) { $count = count($avar); $return .= $indent . ($var_name ? $var_name . '=> ' : '') . '<span style="color:#a2a2a2">' . $type . '(' . $count . ')</span><br />' . $indent . '(<br />'; $keys = array_keys($avar); foreach ($keys as $name) { $value =& $avar[$name]; $return .= doDump($value, "['{$name}']", $indent . $do_dump_indent, $reference); } $return .= "{$indent})<br />"; } elseif (is_object($avar)) { $return .= "{$indent}{$var_name} <span style='color:#a2a2a2'>{$type}</span><br />{$indent}(<br />"; $_indent = $indent . $do_dump_indent; foreach ($avar as $key => $value) { $return .= "{$_indent}{$key} <span style='color:#a2a2a2'>{$type}</span><br />{$_indent}(<br />{$_indent})<br />"; } $return .= "{$indent})<br />"; } elseif (is_int($avar)) { $return .= "{$indent}{$var_name} = <span style='color:#a2a2a2'>{$type}(" . strlen($avar) . ")</span> " . "{$type_color}{$avar}</span><br />"; } elseif (is_string($avar)) { $return .= "{$indent}{$var_name} = <span style='color:#a2a2a2'>{$type}(" . strlen($avar) . ")</span> " . "{$type_color}\"" . str_replace(str_split("\t\n\r\v"), '', htmlspecialchars($avar)) . "\"</span><br />"; } elseif (is_float($avar)) { $return .= "{$indent}{$var_name} = <span style='color:#a2a2a2'>{$type}(" . strlen($avar) . ")</span> " . "{$type_color}{$avar}</span><br />"; } elseif (is_bool($avar)) { $return .= "{$indent}{$var_name} = <span style='color:#a2a2a2'>{$type}(" . strlen($avar) . ")</span> " . "{$type_color}" . ($avar == 1 ? "true" : "false") . "</span><br />"; } elseif (is_null($avar)) { $return .= "{$indent}{$var_name} = <span style='color:#a2a2a2'>{$type}(" . strlen($avar) . ")</span> {$type_color}NULL</span><br />"; } elseif (is_resource($avar)) { $return .= "{$indent}{$var_name} = <span style='color:#a2a2a2'>{$type}</span> {$type_color}{$avar}</span><br />"; } else { $return .= "{$indent}{$var_name} = <span style='color:#a2a2a2'>{$type}(" . strlen($avar) . ")</span> " . "{$avar}<br />"; } $var = $var[$keyvar]; return $return; } }