_mediamosa_maintenance_browse_log

Versions
mediamosa-21
_mediamosa_maintenance_browse_log()

Show a selection of the watchdog in our own log viewer.

Code

sites/all/modules/mediamosa/maintenance/browse/mediamosa_maintenance_browse_log.inc, line 34

<?php
function _mediamosa_maintenance_browse_log() {
  $rows = array();
  $icons = array(
    WATCHDOG_DEBUG     => '',
    WATCHDOG_INFO      => '',
    WATCHDOG_NOTICE    => '',
    WATCHDOG_WARNING   => theme('image', 'misc/watchdog-warning.png', t('warning'), t('warning')),
    WATCHDOG_ERROR     => theme('image', 'misc/watchdog-error.png', t('error'), t('error')),
    WATCHDOG_CRITICAL  => theme('image', 'misc/watchdog-error.png', t('critical'), t('critical')),
    WATCHDOG_ALERT     => theme('image', 'misc/watchdog-error.png', t('alert'), t('alert')),
    WATCHDOG_EMERGENCY => theme('image', 'misc/watchdog-error.png', t('emergency'), t('emergency')),
  );
  $classes = array(
    WATCHDOG_DEBUG     => 'dblog-debug',
    WATCHDOG_INFO      => 'dblog-info',
    WATCHDOG_NOTICE    => 'dblog-notice',
    WATCHDOG_WARNING   => 'dblog-warning',
    WATCHDOG_ERROR     => 'dblog-error',
    WATCHDOG_CRITICAL  => 'dblog-critical',
    WATCHDOG_ALERT     => 'dblog-alert',
    WATCHDOG_EMERGENCY => 'dblog-emerg',
  );

  $header = array(
    '', // Icon column.
    array('data' => t('Type'), 'field' => 'w.type'),
    t('Message'),
    array('data' => t('Severity'), 'field' => 'w.severity', 'sort' => 'desc'),
    array('data' => t('Date'), 'field' => 'w.wid', 'sort' => 'desc'),
  );

  $levels = watchdog_severity_levels();
  $types = array('page not found');

  $query = db_select('watchdog', 'w')->extend('PagerDefault')->extend('TableSort');
  $query->fields('w');
  $query->condition(db_or()->condition('type', $types, 'IN')->condition('type', 'MediaMosa%', 'LIKE'));
  $result = $query
    ->limit(mediamosa_settings::maintenance_items_per_page())
    ->orderByHeader($header)
    ->execute();

  foreach ($result as $dblog) {
    $rows[] = array('data' =>
      array(
        // Cells
        $icons[$dblog->severity],
        t($dblog->type),
        truncate_utf8(_mediamosa_maintenance_browse_log_format_message($dblog), 1000, TRUE, TRUE),
        $levels[$dblog->severity],
        theme('mediamosa_maintenance_date', array('timestamp' => $dblog->timestamp)),
      ),
      // Attributes for tr
      'class' => array('dblog-' . preg_replace('/[^a-z]/i', '-', $dblog->type), $classes[$dblog->severity]),
    );
  }

  if (!$rows) {
    $rows[] = array(array('data' => t('No log messages available.'), 'colspan' => 5));
  }

  $form['log_pager_top'] = array('#theme' => 'pager');
  $form['log_table'] = array(
    '#theme' => 'table',
    '#header' => $header,
    '#rows' => $rows,
    '#attributes' => array('id' => 'admin-dblog'),
  );
  $form['log_pager_bottom'] = array('#theme' => 'pager');

  return $form;
}
?>