diff options
author | Andrew Dolgov <[email protected]> | 2013-05-07 15:36:14 +0400 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2013-05-07 15:36:14 +0400 |
commit | 82076ce53113be9cc053f8740356e7e1b81e5643 (patch) | |
tree | 5eba36805f593ec7dd0aad671b5bcca0ae01cf53 /include/errorhandler.php | |
parent | 66af65f14b4f3c670bb3f9ca7b1c80081f9281d1 (diff) | |
parent | 23923fb29b345c1eea5b70a6df4d30395425bf37 (diff) |
Merge branch 'master' into css-feedtree-counter
Conflicts:
tt-rss.css
Diffstat (limited to 'include/errorhandler.php')
-rw-r--r-- | include/errorhandler.php | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/include/errorhandler.php b/include/errorhandler.php new file mode 100644 index 000000000..9acef2357 --- /dev/null +++ b/include/errorhandler.php @@ -0,0 +1,37 @@ +<?php +function ttrss_error_handler($errno, $errstr, $file, $line, $context) { + global $logger; + + if (error_reporting() == 0 || !$errno) return false; + + $file = substr(str_replace(dirname(dirname(__FILE__)), "", $file), 1); + + return Logger::get()->log_error($errno, $errstr, $file, $line, $context); +} + +function ttrss_fatal_handler() { + global $logger; + + $error = error_get_last(); + + if ($error !== NULL) { + $errno = $error["type"]; + $file = $error["file"]; + $line = $error["line"]; + $errstr = $error["message"]; + + if (!$errno) return false; + + $context = debug_backtrace(); + + $file = substr(str_replace(dirname(dirname(__FILE__)), "", $file), 1); + + return Logger::get()->log_error($errno, $errstr, $file, $line, $context); + } + + return false; +} + +register_shutdown_function('ttrss_fatal_handler'); +set_error_handler('ttrss_error_handler'); +?> |