$error_level = 0; break; case E_WARNING: case E_USER_WARNING: $error_level = 1; break; case E_NOTICE: case E_USER_NOTICE: $error_level = 2; break; $error_level = 0; default: $error_level = 0; break; } if (isset($app)) { $app->onError($error_level, $errstr, $errfile, $errline); $parsed = true; } else { $parsed = false; } } return $parsed; } function init() { $old_error_handler = set_error_handler(array("ErrorReporter", "handler")); } } ErrorReporter::init();
class ErrorReporter { const POST_URL = "url"; const POST_MESSAGE = "msg"; const LOG_URL = "error.log"; private $url = ""; private $message = ""; public function init() { $this->checkPOST(); } private function checkPOST() { $this->url = stripcslashes($_POST[ErrorReporter::POST_URL]); $this->message = stripcslashes($_POST[ErrorReporter::POST_MESSAGE]); $date = new DateTime(); $dateString = $date->format('Y-m-d H:i:s'); if (isset($this->url) && isset($this->url)) { $file = fopen(ErrorReporter::LOG_URL, "a"); fwrite($file, $dateString . " " . $this->message . "\n"); fclose($file); echo "complete"; } else { echo "error"; } } } $errorReporter = new ErrorReporter(); $errorReporter->init();