fnc_mcErrorHandler.inc.php 3.15 KB
<?php
/**
 *	@filesource 	fnc_mcErrorHandler.inc.php
 *
 * @category losp
 * @copyright Copyright by mensch.coop e.G. 2009
 * @mailto	dev [at] mensch.coop
 * @version 0.4.200901
 * @link http://mensch.coop
 */

function mcErrorHandler($param_typ, $param_notice, $param_file, $param_row, $param_More) {
	
	if(strpos($param_notice, 'XSLTProcessor') !== false) {
		mcXSLErrorEvent::handle($param_typ, $param_notice, $param_file, $param_row, $param_More);
		
	} else {
		switch ($param_typ) {
			case E_ERROR:					// 1
				mcErrorEvent::handle($param_typ, $param_notice, $param_file, $param_row, $param_More);
				die();
				break;
			case E_WARNING:					// 2
				mcNoticeEvent::handle($param_typ, $param_notice, $param_file, $param_row, $param_More);
				break;
			case E_PARSE:					// 4
				mcNoticeEvent::handle($param_typ, $param_notice, $param_file, $param_row, $param_More);
				break;
			case E_NOTICE:					// 8
				mcNoticeEvent::handle($param_typ, $param_notice, $param_file, $param_row, $param_More);
				break;
			case E_CORE_ERROR:				// 16
				mcErrorEvent::handle($param_typ, $param_notice, $param_file, $param_row, $param_More);
				break;
			case E_CORE_WARNING:			// 32
				mcNoticeEvent::handle($param_typ, $param_notice, $param_file, $param_row, $param_More);
				break;
			case E_COMPILE_ERROR:			//	64
				mcErrorEvent::handle($param_typ, $param_notice, $param_file, $param_row, $param_More);
				break;
			case E_COMPILE_WARNING:			//	128
				mcNoticeEvent::handle($param_typ, $param_notice, $param_file, $param_row, $param_More);
				break;
			case E_USER_ERROR:				//	256
				mcErrorEvent::handle($param_typ, $param_notice, $param_file, $param_row, $param_More);
				break;
			case E_USER_WARNING:			//	512
				mcNoticeEvent::handle($param_typ, $param_notice, $param_file, $param_row, $param_More);
				break;
			case E_USER_NOTICE:				//	1024 since PHP 4
				mcNoticeEvent::handle($param_typ, $param_notice, $param_file, $param_row, $param_More);
				break;
			case E_STRICT:					//	2048 since PHP 5
				mcNoticeEvent::handle($param_typ, $param_notice, $param_file, $param_row, $param_More);
				break;
			case E_RECOVERABLE_ERROR :		//	4096 since PHP 5.2.0
				mcErrorEvent::handle($param_typ, $param_notice, $param_file, $param_row, $param_More);
				break;
			case E_DEPRECATED:				//	8192 since PHP 5.3.0
				mcNoticeEvent::handle($param_typ, $param_notice, $param_file, $param_row, $param_More);
				break;
			case E_USER_DEPRECATED:			//	16384 since PHP 5.3.0
				mcNoticeEvent::handle($param_typ, $param_notice, $param_file, $param_row, $param_More);
				break;
			case E_ALL:						//	30719 in PHP 5.3.x, 6143 in PHP 5.2.x, 2047 previously 
				mcNoticeEvent::handle($param_typ, $param_notice, $param_file, $param_row, $param_More);
				break;

			default:
				D::li('___Typ: '.$param_typ.' (E_NOTICE = '.E_NOTICE.'  E_WARNING = '.E_WARNING.' E_ERROR = '.E_ERROR.') <b>[anscheinend ein neuer Typ .. da muss doch gleich mal auf der <a href="http://php.net/manual/en/errorfunc.constants.php">Predefined Constants</a> seite nachgeschaut werden]</b>');
				D::ulli('Notiz: '.$param_notice);
				D::ulli('Datei: '.$param_file);
				D::ulli('Zeile: '.$param_row);
		}		
	}
	
	


//	return FALSE;

}
?>