function dblog_top
Page callback: Shows the most frequent log messages of a given event type.
Messages are not truncated on this page because events detailed herein do not have links to a detailed view.
Parameters
string $type: Type of database log events to display (e.g., 'search').
Return value
array A build array in the format expected by drupal_render().
See also
1 string reference to 'dblog_top'
- dblog_menu in modules/
dblog/ dblog.module - Implements hook_menu().
File
-
modules/
dblog/ dblog.admin.inc, line 102
Code
function dblog_top($type) {
$header = array(
array(
'data' => t('Count'),
'field' => 'count',
'sort' => 'desc',
),
array(
'data' => t('Message'),
'field' => 'message',
),
);
$count_query = db_select('watchdog');
$count_query->addExpression('COUNT(DISTINCT(message))');
$count_query->condition('type', $type);
$query = db_select('watchdog', 'w')->extend('PagerDefault')
->extend('TableSort');
$query->addExpression('COUNT(wid)', 'count');
$query = $query->fields('w', array(
'message',
'variables',
))
->condition('w.type', $type)
->groupBy('message')
->groupBy('variables')
->limit(30)
->orderByHeader($header);
$query->setCountQuery($count_query);
$result = $query->execute();
$rows = array();
foreach ($result as $dblog) {
$rows[] = array(
$dblog->count,
theme('dblog_message', array(
'event' => $dblog,
)),
);
}
$build['dblog_top_table'] = array(
'#theme' => 'table',
'#header' => $header,
'#rows' => $rows,
'#empty' => t('No log messages available.'),
);
$build['dblog_top_pager'] = array(
'#theme' => 'pager',
);
return $build;
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.