public static function parse_backtrace($bt_raw)
{
$backtrace = array();
foreach ($bt_raw as $bt) {
if (isset($bt['function']) && __FUNCTION__ == $bt['function'] && isset($bt['class']) && __CLASS__ == $bt['class']) {
continue;
// don't bother backtracing
}
if (isset($bt['file'], $bt['line'])) {
$trace = $bt['file'] . '#' . $bt['line'];
} else {
$trace = '';
}
if (isset($bt['class']) && isset($bt['function'])) {
$trace .= " {$bt['class']}::{$bt['function']}(...)";
} elseif (isset($bt['function'])) {
$trace .= " {$bt['function']}(...)";
}
$backtrace[] = $trace;
}
return $backtrace;
}