]>
Commit | Line | Data |
---|---|---|
889a5f9f AD |
1 | <?php |
2 | // TODO: make configurable | |
aca75cb5 AD |
3 | require_once "classes/logger.php"; |
4 | require_once "classes/logger/sql.php"; | |
889a5f9f AD |
5 | |
6 | function ttrss_error_handler($errno, $errstr, $file, $line, $context) { | |
7 | global $logger; | |
8 | ||
eefaa2df | 9 | if (error_reporting() == 0 || !$errno) return false; |
7a51032c | 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 | ||
889a5f9f AD |
25 | $error = error_get_last(); |
26 | ||
27 | if ($error !== NULL) { | |
77be1217 | 28 | $errno = $error["type"]; |
889a5f9f AD |
29 | $file = $error["file"]; |
30 | $line = $error["line"]; | |
31 | $errstr = $error["message"]; | |
32 | ||
eefaa2df AD |
33 | if (!$errno) return false; |
34 | ||
889a5f9f AD |
35 | $context = debug_backtrace(); |
36 | ||
4e53956a | 37 | $file = substr(str_replace(dirname(dirname(__FILE__)), "", $file), 1); |
889a5f9f AD |
38 | |
39 | if (!$logger) $logger = new Logger_SQL(); | |
40 | ||
41 | if ($logger) { | |
aca75cb5 AD |
42 | if ($logger->log_error($errno, $errstr, $file, $line, $context)) { |
43 | return true; | |
44 | } | |
889a5f9f | 45 | } |
aca75cb5 | 46 | return false; |
889a5f9f | 47 | } |
aca75cb5 AD |
48 | |
49 | return false; | |
889a5f9f AD |
50 | } |
51 | ||
7329ab2d AD |
52 | register_shutdown_function('ttrss_fatal_handler'); |
53 | set_error_handler('ttrss_error_handler'); | |
889a5f9f | 54 | ?> |