]> git.wh0rd.org Git - 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 ?>