switch ($_REQUEST['task']) { case 'create': // Silently ignore bogus requests if (!empty($_POST['level']) && !empty($_POST['message'])) { logInit(array('id' => "web_js")); $string = $_POST['message']; $file = !empty($_POST['file']) ? preg_replace('/\\w+:\\/\\/\\w+\\//', '', $_POST['file']) : ''; if (!empty($_POST['line'])) { $line = $_POST['line']; } else { $line = NULL; } $levels = array_flip(Logger::$codes); if (!isset($levels[$_POST['level']])) { Panic("Unexpected logger level '" . $_POST['level'] . "'"); } $level = $levels[$_POST['level']]; Logger::fetch()->logPrint($level, $string, $file, $line); } ajaxResponse(); break; case 'query': if (!canView('System')) { ajaxError('Insufficient permissions to view log entries'); } $minTime = isset($_POST['minTime']) ? $_POST['minTime'] : NULL; $maxTime = isset($_POST['maxTime']) ? $_POST['maxTime'] : NULL; $limit = isset($_POST['limit']) ? $_POST['limit'] : 100; $filter = isset($_POST['filter']) ? $_POST['filter'] : array(); $sortField = isset($_POST['sortField']) ? $_POST['sortField'] : 'TimeKey';
function ErrorHandler($error, $string, $file, $line) { if (!(error_reporting() & $error)) { // This error code is not included in error_reporting return false; } switch ($error) { case E_USER_ERROR: Logger::fetch()->logPrint(Logger::FATAL, $string, $file, $line); break; case E_USER_WARNING: Logger::fetch()->logPrint(Logger::ERROR, $string, $file, $line); break; case E_USER_NOTICE: Logger::fetch()->logPrint(Logger::WARNING, $string, $file, $line); break; default: Panic("Unknown error type: [{$error}] {$string}"); break; } return true; }