You are here

function badbehavior_overview in Bad Behavior 5.2

Same name and namespace in other branches
  1. 6.2 badbehavior.admin.inc \badbehavior_overview()
  2. 6 badbehavior.admin.inc \badbehavior_overview()
  3. 7.2 badbehavior.admin.inc \badbehavior_overview()
1 string reference to 'badbehavior_overview'
badbehavior_menu in ./badbehavior.module
Implementation of hook_menu().

File

./badbehavior.module, line 52

Code

function badbehavior_overview() {
  if (file_exists(BB2_CWD . '/bad-behavior/core.inc.php') && file_exists(BB2_CWD . '/bad-behavior/version.inc.php') && file_exists(BB2_CWD . '/bad-behavior/responses.inc.php')) {
    require_once BB2_CWD . '/bad-behavior/version.inc.php';
    require_once BB2_CWD . '/bad-behavior/core.inc.php';
    require_once BB2_CWD . '/bad-behavior/responses.inc.php';
  }
  else {
    return 'Bad Behavior is not installed correctly.';
  }
  $header = array(
    array(
      'data' => t('Response'),
      'field' => 'w.http_response',
    ),
    array(
      'data' => t('Reason'),
      'field' => 'w.denied_reason',
    ),
    array(
      'data' => t('Date'),
      'field' => 'w.date',
      'sort' => 'desc',
    ),
    array(
      'data' => t('IP'),
      'field' => 'w.ip',
    ),
    array(
      'data' => t('Agent'),
      'field' => 'w.user_agent',
      'colspan' => 2,
    ),
  );
  if (variable_get('badbehavior_verbose_logging_enable', 0)) {
    $sql = 'SELECT w.* FROM {bad_behavior_log} w ' . tablesort_sql($header);
  }
  else {
    $sql = "SELECT w.* FROM {bad_behavior_log} w WHERE w.key != '00000000' " . tablesort_sql($header);
  }
  $result = pager_query($sql, 50);
  while ($behave = db_fetch_object($result)) {
    $response = bb2_get_response($behave->key);
    $behave->localdate = bb2_convertdate($behave->date);
    $rows[] = array(
      'data' => array(
        // Cells
        $response['response'],
        $response['log'],
        $behave->date,
        $behave->ip,
        $behave->user_agent,
        l(t('details'), "admin/logs/badbehavior/event/{$behave->id}"),
      ),
    );
  }
  if (!$rows) {
    $rows[] = array(
      array(
        'data' => t('No log messages available.'),
        'colspan' => '6',
      ),
    );
  }
  $output = theme('table', $header, $rows) . theme('pager', NULL, 50, 0);
  return $output;
}