]>
Commit | Line | Data |
---|---|---|
889a5f9f AD |
1 | <?php |
2 | // TODO: make configurable | |
3 | require_once "classes/logger.php"; | |
4 | require_once "classes/logger/sql.php"; | |
5 | ||
6 | function ttrss_error_handler($errno, $errstr, $file, $line, $context) { | |
7 | global $logger; | |
8 | ||
7a51032c AD |
9 | if (error_reporting() == 0) return false; |
10 | ||
889a5f9f AD |
11 | if (!$logger) $logger = new Logger_SQL(); |
12 | ||
4e53956a | 13 | $file = substr(str_replace(dirname(dirname(__FILE__)), "", $file), 1); |
889a5f9f AD |
14 | |
15 | if ($logger) { | |
16 | return $logger->log_error($errno, $errstr, $file, $line, $context); | |
17 | } | |
18 | ||
19 | return false; | |
20 | } | |
21 | ||
22 | function ttrss_fatal_handler() { | |
23 | global $logger; | |
24 | ||
25 | $file = "UNKNOWN FILE"; | |
26 | $errstr = "UNKNOWN"; | |
27 | $errno = E_CORE_ERROR; | |
28 | $line = -1; | |
29 | ||
30 | $error = error_get_last(); | |
31 | ||
32 | if ($error !== NULL) { | |
33 | $errno = $error["type"]; | |
34 | $file = $error["file"]; | |
35 | $line = $error["line"]; | |
36 | $errstr = $error["message"]; | |
37 | ||
38 | $context = debug_backtrace(); | |
39 | ||
4e53956a | 40 | $file = substr(str_replace(dirname(dirname(__FILE__)), "", $file), 1); |
889a5f9f AD |
41 | |
42 | if (!$logger) $logger = new Logger_SQL(); | |
43 | ||
44 | if ($logger) { | |
45 | $logger->log_error($errno, $errstr, $file, $line, $context); | |
46 | } | |
47 | } | |
48 | } | |
49 | ||
50 | register_shutdown_function('ttrss_fatal_handler'); | |
51 | set_error_handler('ttrss_error_handler'); | |
52 | ?> |