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

dblog_menu()

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.