You are here

function mefibs_form_views_ui_edit_display_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_edit_display_form_submit()

Submit callback for the views_ui_edit_display form.

1 string reference to 'mefibs_form_views_ui_edit_display_form_submit'
mefibs_form_views_ui_edit_display_form_alter in ./mefibs.module
Implements hook_form_FORM_ID_alter().

File

./mefibs.module, line 105
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_edit_display_form_submit($form, &$form_state) {
  $values = $form_state['values'];
  $view = $form_state['view'];
  $display_id = $form_state['display_id'];
  $view
    ->getExecutable()
    ->initDisplay();
  $display = $view
    ->getExecutable()->displayHandlers
    ->get($display_id);
  if (!$display
    ->getOption('exposed_block')) {
    return;
  }
  $mefibs_options = $display
    ->getOption('mefibs');
  if ($form_state['section'] == 'pager_options') {
    $block_items_per_page = $values['pager_options']['expose']['mefibs_block_items_per_page'];
    if ($block_items_per_page != '') {
      $mefibs_options[$display_id]['other']['items_per_page'] = $block_items_per_page;
    }
    else {
      unset($mefibs_options[$display_id]['other']['items_per_page']);
    }
    $block_offset = $values['pager_options']['expose']['mefibs_block_offset'];
    if ($block_offset != '') {
      $mefibs_options[$display_id]['other']['offset'] = $block_offset;
    }
    else {
      unset($mefibs_options[$display_id]['other']['offset']);
    }
    $display
      ->setOption('mefibs', $mefibs_options);
  }
  if ($form_state['section'] == 'exposed_form_options') {
    $block_sort = $values['mefibs_block_sort'];
    $exposed_items = mefibs_get_exposed_items($display);
    if ($block_sort != '') {
      $mefibs_options[$display_id]['sort_block'] = $block_sort;
    }
    else {
      $mefibs_options[$display_id]['sort_block'] = 'default';
    }
    $display
      ->setOption('mefibs', $mefibs_options);
  }
}