error_handler

initialize_errors($errno, $errmsg, $filename, $linenum, $vars, $errortype)

8: function initialize_errors($errno, $errmsg, $filename, $linenum, $vars, $errortype) {
9: 	$errortype = array (
10: 		E_ERROR => 'Error',
11: 		E_WARNING => 'Warning',
12: 		E_PARSE => 'Parsing Error',
13: 		E_NOTICE => 'Notice',
14: 		E_CORE_ERROR => 'Core Error',
15: 		E_CORE_WARNING => 'Core Warning',
16: 		E_COMPILE_ERROR => 'Compile Error',
17: 		E_COMPILE_WARNING => 'Compile Warning',
18: 		E_USER_ERROR => 'User Error',
19: 		E_USER_WARNING => 'User Warning',
20: 		E_USER_NOTICE => 'User Notice',
21: 		E_STRICT => 'Runtime Notice',
22: 		E_RECOVERABLE_ERROR => 'Catchable Fatal Error'
23: 	);
24: }

File: lib/support/error_handler.php, #line 8

error_debug($debug)

26: function error_debug($debug) {
28: 	foreach ($debug as $trace) {
29: 		if (isset ($trace['file'])) {
30: 			if (!preg_match('#' . realpath(DIR_LIB) . '#', $trace['file']) && !preg_match('#' . realpath(DIR_PUBLIC) . '#', $trace['file'])) {
31: 				return $trace;
32: 			}
33: 		}
34: 	}
35: 	return false;
36: }

File: lib/support/error_handler.php, #line 26

error_handler_default($errno, $errmsg, $filename, $linenum, $vars)

38: function error_handler_default($errno, $errmsg, $filename, $linenum, $vars) {
39: 	initialize_errors(& $errno, & $errmsg, & $filename, & $linenum, & $vars, & $errortype);
40:
42: 	$ignore_errors = array (
43: 		E_STRICT,
44: 		E_NOTICE
45: 	);
46:
47: 	if (!in_array($errno, $ignore_errors)) {
48: 		$error_type = $errortype[$errno];
49:
52: 		$error_message = "{$errmsg}";
53:
55: 		__error(preg_replace('/' . $error_type . ':/', '', strip_tags($error_message)));
56:
58: 		$debug = debug_backtrace();
59:
61: 		if ($trace = error_debug($debug)) {
62: 			$file_bug = file($trace['file']);
63: 			$start_debug_line = $trace['line'] - 3 < 0 ? 1 : $trace['line'] - 3;
64: 			$end_debug_line = $trace['line'] + 3 > count($file_bug) ? count($file_bug) : $trace['line'] + 3;
65: 		}
66:
68: 		if (isset ($vars['this'])) {
69: 			if (is_object($vars['this'])) {
70: 				$class_name = get_class($vars['this']);
72: 				$error_type .= " #{$class_name}";
73: 			}
74: 		}
75:
76: 		$test = explode('/', $trace['file']);
77:
78: 		$class_name = Inflector :: camelize(str_replace('.php', '', end($test)));
79: 		if (class_exists($class_name, false)) {
80: 			$error_type .= " #" . $class_name;
81: 		}
82:
83: 		ob_end_clean();
84: 		ob_start();
85: 		include (DIR_PUBLIC . '/400.phtml');
86: 		$content = ob_get_contents();
87: 		ob_end_clean();
88: 		echo $content;
89: 		exit;
90: 	}
91: }

File: lib/support/error_handler.php, #line 38

error_handler_console($errno, $errmsg, $filename, $linenum, $vars)

93: function error_handler_console($errno, $errmsg, $filename, $linenum, $vars) {
94: 	initialize_errors(& $errno, & $errmsg, & $filename, & $linenum, & $vars, & $errortype);
95:
97: 	$ignore_errors = array (
98: 		E_STRICT,
99: 		E_NOTICE
100: 	);
101:
102: 	if (!in_array($errno, $ignore_errors)) {
103: 		echo Logger :: red($errortype[$errno]) . ": $errmsg n";
104: 		exit;
105: 	}
106: }

File: lib/support/error_handler.php, #line 93

error_handler_test($errno, $errmsg, $filename, $linenum, $vars)

108: function error_handler_test($errno, $errmsg, $filename, $linenum, $vars) {
109: 	initialize_errors(& $errno, & $errmsg, & $filename, & $linenum, & $vars, & $errortype);
110:
112: 	$ignore_errors = array (
113: 		E_STRICT,
114: 		E_NOTICE
115: 	);
116:
118: 	global $test_processor;
119:
121: 	$backtrace = debug_backtrace();
122:
124: 	array_shift($backtrace);
125:
127: 	$test = array_shift($backtrace);
128: 	$error['test_method'] = $test['function'];
129: 	$error['class'] = $test['class'];
130:
132: 	$msg = "{$errortype[$errno]}: {$errmsg} in {$filename} at line {$linenum}";
133:
135: 	$test_processor->queue_error($error, $msg);
136: }

File: lib/support/error_handler.php, #line 108

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>