public function VarDump($var, $depth = 0) { if ($depth == 0) { self::$object_cache = array(); } if (!isset(self::$id_count)) { self::$id_count = 1; } $_replace = array("\n" => '<i>\n</i>', "\r" => '<i>\r</i>', "\t" => '<i>\t</i>'); if (is_array($var)) { $results = '<b style="color:white;background-color:blue">Array (' . count($var) . ')</b>'; if (!empty($var)) { self::$id_count++; $results = '<span onClick="swap_content(\'debug' . self::$id_count . '\')" style="cursor:pointer;white-space:nowrap;color:white;background-color:blue">' . $results . '</span>'; $results .= '<span id="debug' . self::$id_count . '" style="display:none;white-space:nowrap;background-color:blue">'; foreach ($var as $curr_key => $curr_val) { $return = self::VarDump($curr_val, $depth + 1); $results .= "<br />" . str_repeat(' ', $depth * 2) . '<b style="color:white;background-color:blue">' . strtr($curr_key, $_replace) . ' =></b> ' . $return; } $results .= '</span>'; } } else { if (is_object($var)) { $seen = false; if (!self::$DebugRD && is_a($var, 'RD')) { $results = 'RDT_HTMLDebug::DebugRD == false'; } else { foreach (self::$object_cache as $object) { if ($object === $var) { $seen = true; } } if (!$seen) { self::$object_cache[] = $var; if (in_array('BaseObject', get_parent_classes($var))) { $object_vars = $var->toArray(); $object_name = 'Propel BaseObject'; } else { $object_vars = get_object_vars($var); $object_name = 'Object'; } $results = '<b style="color:white;background-color:blue">' . get_class($var) . ' ' . $object_name . ' (' . count($object_vars) . ')</b>'; if (!empty($object_vars)) { self::$id_count++; $results = "<span onClick=\"swap_content('debug" . self::$id_count . "')\" style=\"cursor:pointer;white-space:nowrap\">" . $results . '</span></b>'; $results .= "<span id=\"debug" . self::$id_count . "\" style=\"display:none;white-space:nowrap;background-color:blue\">"; foreach ($object_vars as $curr_key => $curr_val) { $return = self::VarDump($curr_val, $depth + 1); $results .= '<br />' . str_repeat(' ', $depth * 2) . '<b style="color:white;background-color:blue">' . strtr($curr_key, $_replace) . ' =></b> ' . $return; } $results .= '</span>'; } } else { $results = 'recursion blocked'; } } } else { if (is_resource($var)) { $results = '<i style="color:white;background-color:red">' . (string) $var . '</i>'; } else { if (is_bool($var)) { $results = '<b style="color:'; $results .= $var ? 'green">true' : 'red">false'; $results .= '</b>'; /* } else if (is_binary($var)) { $results = '<b style="red">BINARY</b>'; */ } else { if (is_float($var) || is_int($var)) { $results = '<b style="color:red">' . (string) $var . '</b>'; } else { if (is_null($var)) { $results = '<b style="color:red">NULL</b>'; } else { if ($var === "" || $var === '') { $results = '<i style="color:white;background-color:red">empty</i>'; } else { $results = '<i style="color:white;background-color:green">"' . strtr(htmlspecialchars($var), $_replace) . '"</i>'; } } } } } } } // if (!self::$SwapContentDisplayed) { $results .= self::$SwapContentJS; self::$SwapContentDisplayed = true; // } return $results; }