function pre($var, $title = '', $exit = 0)
{
static $index = 0;
static $first = true;
if ($first) {
echo output_message_styles();
$first = false;
}
$exit = $title;
$title = '';
}
$index++;
echo '<div class="php_debug_message_box">' . PHP_EOL;
if ($title != '') {
echo '<div class="php_debug_message_box_title">' . $title . '</div>';
}
echo '<div class="php_debug_message_box_inner">';
if (($var === false) || ($var === '') || ($var === NULL) || ($var === true)) {
} else {
}
echo '</div>';
echo '<i class="backtrace_link" onclick="backtraceToggle(' . $index . ')"><u>debug_backtrace output</u></i>';
echo '<div id="debug_backtrace' . $index . '" class="backtrace_table" style="display:none;"><table>';
foreach ($trace as $item) {
echo '<tr><td>';
if (isset($item['class'])) { echo '<b>' . $item['class'] . '</b>' . $item['type'];
}
if (isset($item['function'])) { if (isset($item['class'])) echo '<span style="color:#f0f">';
echo $item['function'];
if (isset($item['class'])) echo '</span>';
echo '();';
}
echo "</td><td>";
echo "<b>(" . $item['line'] . ")</b>";
echo "</td><td>";
echo str_replace(DIR_ROOT
, '', $item['file']);// DIR_ROOT = $_SERVER['DOCUMENT_ROOT'] echo "</td></tr>";
}
echo '</table></div>';
if ($exit === 1) {
echo '<div class="php_debug_message_box_footer">STOP</div>';
}
echo '</div>';
if ($exit === 1) {
}
}
private static function output_message_styles()
{
$styles = '<style type="text/css">
.php_debug_message_box {font-size:16px;border:1px solid #777;background:#eee;color:#333;max-width:1000px;overflow-x:scroll;margin-bottom:5px;}
.php_debug_message_box_title {background:#BEE8A6;padding:2px 4px;font-family:monospace;}
.php_debug_message_box_footer {background:#FC9494;padding:2px 4px;font-family:monospace;text-align:center;}
.php_debug_message_box_inner {padding:2px 4px;}
.php_debug_message_box_inner pre {margin:0 0 10px 0;white-space:pre}
.backtrace_link {background:#FEF9D4;padding:2px 4px;display:block;font-size:8px;cursor:pointer;}
.backtrace_table {background:#FEF9D4;display:none;font-family:monospace;}
.backtrace_table table {border:1px solid #ddd;border-collapse:collapse;width:100%;}
.backtrace_table td {border:1px solid #ddd;}
</style><script type="text/javascript">
function backtraceToggle(id){
var e = document.getElementById("debug_backtrace"+id);
e.style.display = (e.style.display == "none") ? "block" : "none";
}
</script>';
return $styles;
}