function badbehavior_overview in Bad Behavior 7.2
Same name and namespace in other branches
- 5.2 badbehavior.module \badbehavior_overview()
- 6.2 badbehavior.admin.inc \badbehavior_overview()
- 6 badbehavior.admin.inc \badbehavior_overview()
Builds the log table seen in the /admin/reports/badbehavior/ page.
Return value
string The actual table in HTML format
1 string reference to 'badbehavior_overview'
- badbehavior_menu in ./
badbehavior.module - Implements hook_menu().
File
- ./
badbehavior.admin.inc, line 14 - Admin page callbacks for the badbehavior module.
Code
function badbehavior_overview() {
if (!badbehavior_load_includes(array(
'responses',
))) {
return 'Bad Behavior is not installed correctly. See the README.txt for installation details.';
}
$header = array(
array(
'data' => t('Response'),
),
array(
'data' => t('Reason'),
),
array(
'data' => t('Date'),
'field' => 'b.date',
'sort' => 'desc',
),
array(
'data' => t('IP'),
'field' => 'b.ip',
),
array(
'data' => t('Agent'),
'field' => 'b.user_agent',
'colspan' => 2,
),
);
$logtype = variable_get('badbehavior_logging', 1);
if ($logtype == 'verbose') {
$sql = db_select('bad_behavior_log', 'b')
->fields('b')
->extend('PagerDefault')
->limit(20)
->extend('TableSort')
->orderByHeader($header)
->execute();
}
elseif ($logtype == '1') {
$sql = db_select('bad_behavior_log', 'b')
->fields('b')
->extend('PagerDefault')
->limit(50)
->extend('TableSort')
->orderByHeader($header)
->condition('b.key', '00000000', '<>')
->execute();
}
$rows = array();
if (isset($sql)) {
foreach ($sql as $record) {
$response = bb2_get_response($record->key);
$record->localdate = bb2_convertdate($record->date);
$rows[] = array(
'data' => array(
$response['response'],
$response['log'],
$record->localdate,
$record->ip,
$record->user_agent,
l(t('details'), "admin/reports/badbehavior/event/{$record->id}"),
),
);
}
}
$output = theme('table', array(
'header' => $header,
'rows' => $rows,
'caption' => '',
'empty' => 'No log messages available',
));
$output .= theme('pager', array(
'tags' => array(),
));
return $output;
}