mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-10 05:18:52 +00:00
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
45 lines
731 B
PHP
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;
|
|
}
|
|
}
|