]>
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 | ||
9 | if (!$logger) $logger = new Logger_SQL(); | |
10 | ||
11 | $errfile = str_replace(dirname(dirname(__FILE__)), "", $errfile); | |
12 | ||
13 | if ($logger) { | |
14 | return $logger->log_error($errno, $errstr, $file, $line, $context); | |
15 | } | |
16 | ||
17 | return false; | |
18 | } | |
19 | ||
20 | function ttrss_fatal_handler() { | |
21 | global $logger; | |
22 | ||
23 | $file = "UNKNOWN FILE"; | |
24 | $errstr = "UNKNOWN"; | |
25 | $errno = E_CORE_ERROR; | |
26 | $line = -1; | |
27 | ||
28 | $error = error_get_last(); | |
29 | ||
30 | if ($error !== NULL) { | |
31 | $errno = $error["type"]; | |
32 | $file = $error["file"]; | |
33 | $line = $error["line"]; | |
34 | $errstr = $error["message"]; | |
35 | ||
36 | $context = debug_backtrace(); | |
37 | ||
38 | $file = str_replace(dirname(dirname(__FILE__)) . "/", "", $file); | |
39 | ||
40 | if (!$logger) $logger = new Logger_SQL(); | |
41 | ||
42 | if ($logger) { | |
43 | $logger->log_error($errno, $errstr, $file, $line, $context); | |
44 | } | |
45 | } | |
46 | } | |
47 | ||
48 | register_shutdown_function('ttrss_fatal_handler'); | |
49 | set_error_handler('ttrss_error_handler'); | |
50 | ?> |