1.20.x dblog.admin.inc dblog_format_message($event, $is_link = FALSE)

Returns HTML for a log message.

Parameters

object $event: An object containing at least the message and variables properties.

bool $is_link: (optional) Format message as link, event->wid is required.

Return value

string: HTML containing a link to the full report.

File

modules/dblog/dblog.admin.inc, line 300
Admin page callbacks for the Database Logging module.

Code

function dblog_format_message($event, $is_link = FALSE) {
  $output = '';
  // Check for required properties.
  if (isset($event->message) && isset($event->variables)) {
    // Messages without variables or user specified text.
    if ($event->variables === 'N;') {
      $output = $event->message;
    }
    // Message to translate with injected variables.
    else {
      $output = t($event->message, unserialize($event->variables));
    }
    // If the output is expected to be a link, strip all the tags and
    // special characters by using filter_xss() without any allowed tags.
    // If not, use filter_xss_admin() to allow some tags.
    if ($is_link && isset($event->wid)) {
      // Truncate message to 56 chars after stripping all the tags.
      $output = truncate_utf8(filter_xss($output, array()), 56, TRUE, TRUE);
      $output = l($output, 'admin/reports/event/' . $event->wid, array('html' => TRUE));
    }
    else {
      // Prevent XSS in log detail pages.
      $output = filter_xss_admin($output);
    }
  }

  return $output;
}