You are here

function dblog_ext_filter_form in Util 6.2

Same name and namespace in other branches
  1. 6.3 contribs/dblog_ext/dblog_ext.admin.inc \dblog_ext_filter_form()

Return form for dblog administration filters.

See also

dblog_ext_filter_form_submit()

dblog_ext_filter_form_validate()

4 string references to 'dblog_ext_filter_form'
dblog_clear_form_alter in contribs/dblog_ext/dblog_clear/dblog_clear.module
Implementation of hook_form_alter().
dblog_ext_overview in contribs/dblog_ext/dblog_ext.admin.inc
Menu callback; displays a listing of log messages.
dblog_filters_form_alter in contribs/dblog_ext/dblog_filters/dblog_filters.module
Implementation of hook_form_alter().
dblog_time_filters_form_alter in contribs/dblog_ext/dblog_filters/dblog_time_filters.module
Implementation of hook_form_alter().

File

contribs/dblog_ext/dblog_ext.admin.inc, line 125

Code

function dblog_ext_filter_form() {
  $session =& $_SESSION['dblog_overview_filter'];
  $session = is_array($session) ? $session : array();
  drupal_add_css(drupal_get_path('module', 'dblog_ext') . '/dblog_ext.css', 'module', 'all', FALSE);
  $filters = dblog_ext_get_filters();
  $form['filters'] = array(
    '#type' => 'fieldset',
    '#title' => t('Filter log messages'),
    '#theme' => 'dblog_filters',
    '#collapsible' => TRUE,
    '#collapsed' => TRUE,
  );
  foreach ($filters as $key => $filter) {

    // initialize default widget
    $widget = array(
      '#title' => $filter['title'],
      '#type' => 'textfield',
    );
    if (isset($filter['options'])) {
      $widget = array_merge($widget, array(
        '#type' => 'select',
        '#multiple' => $filter['conjunction'],
        '#size' => 8,
        '#options' => $filter['options'],
      ));
    }

    // check if filter has its own widget's defaults
    if (empty($filter['widget'])) {
      $form['filters']['status'][$key] = $widget;
    }
    else {
      $form['filters']['status'][$key] = array_merge($widget, $filter['widget']);
    }
    if (!empty($session[$key])) {
      $form['filters']['status'][$key]['#default_value'] = $session[$key];
      $form['filters']['#collapsed'] = FALSE;
    }
  }
  $form['filters']['buttons']['submit'] = array(
    '#type' => 'submit',
    '#value' => t('Filter'),
  );
  if (!empty($session)) {
    $form['filters']['buttons']['reset'] = array(
      '#type' => 'submit',
      '#value' => t('Reset'),
    );
  }
  return $form;
}