function filter_harmonizer_views_ui_config_item_form_submit in Views Filter Harmonizer 7
Supplementary submit handler for the form 'views_ui_config_item_form'.
1 string reference to 'filter_harmonizer_views_ui_config_item_form_submit'
- filter_harmonizer_form_views_ui_config_item_form_alter in ./
filter_harmonizer.module - Implements hook_form_FORMID_alter().
File
- ./
filter_harmonizer.module, line 73 - filter_harmonizer.module For Views where both exposed and contextual filters are active on a page.
Code
function filter_harmonizer_views_ui_config_item_form_submit(&$form, &$form_state) {
$new_value = !empty($form_state['values']['options']['filter_harmonizer_enable']);
$filter_harmonizer_contextual_filters = variable_get('filter_harmonizer_contextual_filters', array());
$view_name = $form_state['view']->name;
$field_name = $form_state['id'];
$is_debug = filter_harmonizer_debug_flag();
// If "All displays" is selected then we need to do this for all displays
// that do not have their values set already (i.e. that are overridden).
$display_ids = array_keys($form_state['view']->changed_display);
foreach ($display_ids as $display_id) {
$filter_harmonizer_contextual_filters[$view_name][$display_id][$field_name] = $new_value;
if ($is_debug) {
drupal_set_message(t('View %view_name (%display), field %field: ignore contextual filter set to @value', array(
'%view' => $view_name,
'%display' => $display_id,
'%field' => $field_name,
'@value' => (int) $new_value,
)));
}
}
// Wish we could save this on the View, but don't know how. We're outside
// the view context...
variable_set('filter_harmonizer_contextual_filters', $filter_harmonizer_contextual_filters);
}