You are here

function mefibs_form_views_ui_config_item_form_submit in MEFIBS - More exposed forms in blocks 8

Same name and namespace in other branches
  1. 7 mefibs.module \mefibs_form_views_ui_config_item_form_submit()

Customer submit callback for the views_ui_config_item_form.

React on update of a filter or sort item. Handle submission of our custom form elements and save the configured options into the views_ui cache.

1 string reference to 'mefibs_form_views_ui_config_item_form_submit'
mefibs_form_views_ui_config_item_form_alter in ./mefibs.module
Implements hook_form_FORM_ID_alter().

File

./mefibs.module, line 201
Primarily Drupal hooks and global API functions to manipulate views and to provide an additional block with an exposed filter form.

Code

function mefibs_form_views_ui_config_item_form_submit($form, &$form_state) {
  $view = $form_state['view'];
  $display_id = $form_state['display_id'];
  $section = $form_state['section'];
  $view
    ->getExecutable()
    ->initDisplay();
  $display = $view
    ->getExecutable()->displayHandlers
    ->get($display_id);

  // Extract 'filter' or 'sort'.
  $type = substr($section, 0, strlen($section) - 1);
  $element_name = $form_state['id'];
  $values = $form_state['values'];
  $mefibs_options = $display
    ->getOption('mefibs');
  if (!isset($mefibs_options[$display_id][$type]) || !is_array($mefibs_options[$display_id][$type])) {
    $mefibs_options[$display_id][$type] = array();
  }
  $block_id = $values['options']['expose']['mefibs_block'];
  if ($block_id != '') {
    $mefibs_options[$display_id][$type][$element_name] = $block_id;
  }
  else {
    unset($mefibs_options[$display_id][$type][$element_name]);
  }
  $display
    ->setOption('mefibs', $mefibs_options);
}