]> git.wh0rd.org - tt-rss.git/blob - include/errorhandler.php
21cc9a94d13d7ce2e5fa9bffed954762a601fbbd
[tt-rss.git] / include / errorhandler.php
1 <?php
2 function ttrss_error_handler($errno, $errstr, $file, $line, $context) {
3 global $logger;
4 global $last_query;
5
6 if (error_reporting() == 0 || !$errno) return false;
7
8 $file = substr(str_replace(dirname(dirname(__FILE__)), "", $file), 1);
9
10 if ($last_query) $errstr .= " [Last query: $last_query]";
11
12 if (class_exists("Logger"))
13 return Logger::get()->log_error($errno, $errstr, $file, $line, $context);
14 }
15
16 function ttrss_fatal_handler() {
17 global $logger;
18 global $last_query;
19
20 $error = error_get_last();
21
22 if ($error !== NULL) {
23 $errno = $error["type"];
24 $file = $error["file"];
25 $line = $error["line"];
26 $errstr = $error["message"];
27
28 if (!$errno) return false;
29
30 $context = debug_backtrace();
31
32 $file = substr(str_replace(dirname(dirname(__FILE__)), "", $file), 1);
33
34 if ($last_query) $errstr .= " [Last query: $last_query]";
35
36 if (class_exists("Logger"))
37 return Logger::get()->log_error($errno, $errstr, $file, $line, $context);
38 }
39
40 return false;
41 }
42
43 register_shutdown_function('ttrss_fatal_handler');
44 set_error_handler('ttrss_error_handler');
45 ?>