You are here

function advuser_filter_form_submit in Advanced User 6.2

Same name and namespace in other branches
  1. 5.2 advuser_filters.inc \advuser_filter_form_submit()

Process result from user administration filter form.

File

./advuser_filters.inc, line 451
Advanced user module allows you to select users based on an advanced set of filtering and apply actions to block, unblock, delete or email the selected users.

Code

function advuser_filter_form_submit($form, &$form_state) {
  $op = $form_state['values']['op'];
  $filters = advuser_filters();
  $ret = 'admin/user/user/advuser';
  switch ($op) {
    case t('Undo'):
      array_pop($_SESSION['advuser_overview_filter']);
      break;
    case t('Reset'):
      $_SESSION['advuser_overview_filter'] = array();
      break;
    case t('Update'):
      $ret = NULL;
      break;
    case t('Filter'):
    case t('Refine'):
    default:
      if (isset($form_state['values']['filter'])) {
        $filter = $form_state['values']['filter'];
        if ($filters[$filter]['form_type'] == 'select') {

          // Merge an array of arrays into one if necessary.
          $options = $filter == 'permission' ? call_user_func_array('array_merge', $filters[$filter]['options']) : $filters[$filter]['options'];
          if (isset($options[$form_state['values'][$filter]])) {
            $_SESSION['advuser_overview_filter'][] = array(
              $filter,
              $form_state['values'][$filter],
              $form_state['values']['filters_ops'],
              $form_state['values']['filters_qops'],
            );
          }
        }
        else {
          if (isset($form_state['values'][$filter])) {
            $_SESSION['advuser_overview_filter'][] = array(
              $filter,
              $form_state['values'][$filter],
              $form_state['values']['filters_ops'],
              $form_state['values']['filters_qops'],
            );
          }
        }
      }
      break;
  }
  $form_state['#redirect'] = $ret;
}