1 errors.inc _backdrop_error_handler_real($error_level, $message, $filename, $line)

Provides custom PHP error handling.

Parameters

$error_level: The level of the error raised.

$message: The error message.

$filename: The filename that the error was raised in.

$line: The line number the error was raised at.

$context: An array that points to the active symbol table at the point the error occurred.

File

core/includes/errors.inc, line 52
Functions for error handling.

Code

function _backdrop_error_handler_real($error_level, $message, $filename, $line) {
  if ($error_level & error_reporting()) {
    $types = backdrop_error_levels();
    list($severity_msg, $severity_level) = $types[$error_level];
    $caller = _backdrop_get_last_caller(debug_backtrace());

    if (empty($caller)) {
      return FALSE;
    }

    if (!function_exists('filter_xss_admin')) {
      require_once BACKDROP_ROOT . '/core/includes/common.inc';
    }

    // We treat recoverable errors as fatal.
    _backdrop_log_error(array(
      '%type' => isset($types[$error_level]) ? $severity_msg : 'Unknown error',
      // The standard PHP error handler considers that the error messages
      // are HTML. We mimic this behavior here.
      '!message' => filter_xss_admin($message),
      '%function' => $caller['function'],
      '%file' => $caller['file'],
      '%line' => $caller['line'],
      'severity_level' => $severity_level,
    ), $error_level == E_RECOVERABLE_ERROR);
  }
}