mirror of
				https://github.com/phpbb/phpbb.git
				synced 2025-10-26 05:06:12 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			57 lines
		
	
	
		
			932 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			932 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
| *
 | |
| * @package phpBB
 | |
| * @copyright (c) 2011 phpBB Group
 | |
| * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
 | |
| *
 | |
| */
 | |
| 
 | |
| namespace phpbb;
 | |
| 
 | |
| class error_collector
 | |
| {
 | |
| 	var $errors;
 | |
| 
 | |
| 	function __construct()
 | |
| 	{
 | |
| 		$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;
 | |
| 
 | |
| 			// Prevent leakage of local path to phpBB install
 | |
| 			$errfile = phpbb_filter_root_path($errfile);
 | |
| 
 | |
| 			$text .= "Errno $errno: $msg_text at $errfile line $errline";
 | |
| 		}
 | |
| 
 | |
| 		return $text;
 | |
| 	}
 | |
| }
 |