You are here

function biblio_form_filter_submit in Bibliography Module 5

Same name and namespace in other branches
  1. 6.2 includes/biblio.pages.inc \biblio_form_filter_submit()
  2. 6 biblio.pages.inc \biblio_form_filter_submit()
  3. 7 includes/biblio.pages.inc \biblio_form_filter_submit()
  4. 7.2 includes/biblio.pages.inc \biblio_form_filter_submit()

File

./biblio.module, line 1514

Code

function biblio_form_filter_submit($form_id, $form_values) {

  //global $form_values;
  $op = $form_values['op'];
  $filters = _get_biblio_filters();
  switch ($op) {
    case t('Filter'):
    case t('Refine'):
      if (isset($form_values['filter'])) {
        $filter = $form_values['filter'];

        // Flatten the options array to accommodate hierarchical/nested options.
        if (isset($filters[$filter]['options'])) {
          $flat_options = form_options_flatten($filters[$filter]['options']);
        }
        if (isset($flat_options[$form_values[$filter]]) || $filter == 'keyword') {
          $_SESSION['biblio_filter'][] = array(
            $filter,
            $form_values[$filter],
          );
          $base = variable_get('biblio_base', 'biblio');
          drupal_goto($base);
        }
      }
      break;
    case t('Undo'):
      array_pop($_SESSION['biblio_filter']);
      break;
    case t('Reset'):
      $_SESSION['biblio_filter'] = array();
      break;
  }
}