phpbb/phpBB/includes/error_collector.php
Oleg Pudeyev 24834543ee [ticket/10057] Moved error collector class into its own file.
This will make it autoloadable in 3.1. This commit breaks 3.0
since no code includes the error collector. Such include code
will be in its own commit since it will need to be reverted in 3.1.

PHPBB3-10057
2011-03-06 20:16:17 -05:00

45 lines
731 B
PHP

<?php
class phpbb_error_collector
{
var $errors;
function phpbb_error_collector()
{
$this->errors = array();
}
function install()
{
set_error_handler(array(&$this, 'error_handler'));
}
function uninstall()
{
restore_error_handler();
}
function error_handler($errno, $msg_text, $errfile, $errline)
{
$this->errors[] = array($errno, $msg_text, $errfile, $errline);
}
function format_errors()
{
$text = '';
foreach ($this->errors as $error)
{
if (!empty($text))
{
$text .= "<br />\n";
}
list($errno, $msg_text, $errfile, $errline) = $error;
$text .= "Errno $errno: $msg_text";
if (defined('DEBUG'))
{
$text .= " at $errfile line $errline";
}
}
return $text;
}
}