You are here

function ad_filter_form_submit in Advertisement 6.3

Same name and namespace in other branches
  1. 5.2 ad.module \ad_filter_form_submit()
  2. 5 ad.module \ad_filter_form_submit()
  3. 6 ad.admin.inc \ad_filter_form_submit()
  4. 6.2 ad.admin.inc \ad_filter_form_submit()
  5. 7 ad.admin.inc \ad_filter_form_submit()

Process result from ad administration filter form.

File

./ad.admin.inc, line 449
Advertisement admin pages and functions.

Code

function ad_filter_form_submit($form, &$form_state) {
  $filters = ad_filters();

  /* TODO The 'op' element in the form values is deprecated.
     Each button can have #validate and #submit functions associated with it.
     Thus, there should be one button that submits the form and which invokes
     the normal form_id_validate and form_id_submit handlers. Any additional
     buttons which need to invoke different validate or submit functionality
     should have button-specific functions. */
  switch ($form_state['values']['op']) {
    case t('Filter'):
    case t('Refine'):
      if (isset($form_state['values']['filter'])) {
        $filter = $form_state['values']['filter'];

        // Flatten the options array to accommodate hierarchical/nested options.
        $flat_options = form_options_flatten($filters[$filter]['options']);
        if (isset($form_state['values'][$filter]) && isset($flat_options[$form_state['values'][$filter]])) {
          $_SESSION['ad_overview_filter'][] = array(
            $filter,
            $form_state['values'][$filter],
          );
        }
      }
      break;
    case t('Undo'):
      array_pop($_SESSION['ad_overview_filter']);
      break;
    case t('Reset'):
      $_SESSION['ad_overview_filter'] = array();
      break;
  }
}