public function views_ef_fieldset_display_extender_plugin::options_submit in Views Exposed Form Fieldset 7.2
Same name and namespace in other branches
- 7 views/views_ef_fieldset_display_extender_plugin.inc \views_ef_fieldset_display_extender_plugin::options_submit()
Handle any special handling on the validate form.
Overrides views_plugin_display_extender::options_submit
File
- views/
views_ef_fieldset_display_extender_plugin.inc, line 321 - Provides a display extender plugin for View 3.x.
Class
- views_ef_fieldset_display_extender_plugin
- @file Provides a display extender plugin for View 3.x.
Code
public function options_submit(&$form, &$form_state) {
switch ($form_state['section']) {
// Handle base settings.
case 'views_ef_fieldset_base':
$enabled_old = !empty($this
->get_option('enabled'));
$enabled_new = !empty($form_state['values']['enabled']);
$this
->set_option('enabled', $enabled_new);
// If fieldsets were just enabled, step on to the arrange form.
if (!$enabled_old && $enabled_new) {
views_ui_add_form_to_stack($form_state['form_key'], $form_state['view'], $form_state['display_id'], array(
'views_ef_fieldset_arrange',
));
}
break;
// Handle final submission of the arrange form.
case 'views_ef_fieldset_arrange':
$values = $form_state['values'] + array(
'items' => array(),
);
$items = array();
// @todo Consider using data objects instead of plain arrays.
$clean_keys = array_flip(array(
'id',
'pid',
'weight',
'options',
));
foreach ($values['items'] as $id => $item) {
$items[$id] = array_intersect_key($item, $clean_keys);
}
$this
->set_option('items', $items);
// Invalidate the form cache.
unset($this->view->form_cache);
break;
}
}