You are here

function group_filters_form_submit in Group 7

Filter form submit callback.

1 string reference to 'group_filters_form_submit'
GroupUIController::overviewForm in classes/group.ui_controller.inc
Builds the group overview form.

File

admin/group.inc, line 96
Group overview admin UI.

Code

function group_filters_form_submit($form, &$form_state) {
  $filters = module_invoke_all('group_filters');
  switch ($form_state['values']['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]') {

          // Flatten the options array to accommodate hierarchical/nested options.
          $flat_options = form_options_flatten($filters[$filter]['options']);

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