Same name and namespace in other branches
  1. 5.x modules/user/user.module \user_filter_form_submit()
  2. 6.x modules/user/user.admin.inc \user_filter_form_submit()

Process result from user administration filter form.

File

modules/user/user.admin.inc, line 124
Admin page callback file for the user module.

Code

function user_filter_form_submit($form, &$form_state) {
  $op = $form_state['values']['op'];
  $filters = user_filters();
  switch ($op) {
    case t('Filter'):
    case t('Refine'):

      // Apply every filter that has a choice selected other than 'any'.
      foreach ($filters as $filter => $options) {
        if (isset($form_state['values'][$filter]) && $form_state['values'][$filter] != '[any]') {

          // Merge an array of arrays into one if necessary.
          $options = $filter == 'permission' ? form_options_flatten($filters[$filter]['options']) : $filters[$filter]['options'];

          // Only accept valid selections offered on the dropdown, block bad input.
          if (isset($options[$form_state['values'][$filter]])) {
            $_SESSION['user_overview_filter'][] = array(
              $filter,
              $form_state['values'][$filter],
            );
          }
        }
      }
      break;
    case t('Undo'):
      array_pop($_SESSION['user_overview_filter']);
      break;
    case t('Reset'):
      $_SESSION['user_overview_filter'] = array();
      break;
    case t('Update'):
      return;
  }
  $form_state['redirect'] = 'admin/people';
  return;
}