]> git.wh0rd.org - tt-rss.git/blame - include/errorhandler.php
errorhandler: do not report hidden errors
[tt-rss.git] / include / errorhandler.php
CommitLineData
889a5f9f
AD
1<?php
2// TODO: make configurable
3require_once "classes/logger.php";
4require_once "classes/logger/sql.php";
5
6function 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
22function 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
50register_shutdown_function('ttrss_fatal_handler');
51set_error_handler('ttrss_error_handler');
52?>