diff --git a/better_exposed_filters_exposed_form_plugin.inc b/better_exposed_filters_exposed_form_plugin.inc index b1ab724..0549bd9 100644 --- a/better_exposed_filters_exposed_form_plugin.inc +++ b/better_exposed_filters_exposed_form_plugin.inc @@ -330,9 +330,10 @@ function options_form(&$form, &$form_state) { $display_options['bef_hidden'] = t('Hidden'); } - $identifier = '"' . $filter->options['expose']['identifier'] . '"'; - if (!empty($filter->options['expose']['label'])) { - $identifier .= t(' (Filter label: "@fl")', array('@fl' => $filter->options['expose']['label'])); + $filter_key = $filter->options['is_grouped'] ? 'group_info' : 'expose'; + $identifier = '"' . $filter->options[$filter_key]['identifier'] . '"'; + if (!empty($filter->options[$filter_key]['label'])) { + $identifier .= t(' (Filter label: "@fl")', array('@fl' => $filter->options[$filter_key]['label'])); } $bef_options[$label]['bef_format'] = array( '#type' => 'select', @@ -901,7 +902,8 @@ function exposed_form_alter(&$form, &$form_state) { // Form element is designated by the element ID which is user- // configurable. - $field_id = $form['#info']["filter-$label"]['value']; + $filter_key = 'filter-' . ($filters[$label]->options['is_grouped'] ? $filters[$label]->options['group_info']['identifier'] : $label); + $field_id = $form['#info'][$filter_key]['value']; // Token replacement on BEF Description fields. if (!empty($options['more_options']['bef_filter_description'])) { @@ -1233,9 +1235,9 @@ function exposed_form_alter(&$form, &$form_state) { // Pass the description and title along in a way such that it // doesn't get rendered as part of the exposed form widget. We'll // render them as part of the fieldset. - if (isset($form['#info']["filter-$label"]['label'])) { - $form[$field_id]['#bef_title'] = $form['#info']["filter-$label"]['label']; - unset($form['#info']["filter-$label"]['label']); + if (isset($form['#info'][$filter_key]['label'])) { + $form[$field_id]['#bef_title'] = $form['#info'][$filter_key]['label']; + unset($form['#info'][$filter_key]['label']); } if (!empty($options['more_options']['bef_filter_description'])) { $form[$field_id]['#bef_description'] = $options['more_options']['bef_filter_description']; @@ -1282,9 +1284,9 @@ function exposed_form_alter(&$form, &$form_state) { // Pass the description and title along in a way such that it // doesn't get rendered as part of the exposed form widget. We'll // render them as part of the fieldset. - if (isset($form['#info']["filter-$label"]['label'])) { - $form[$field_id]['#bef_title'] = $form['#info']["filter-$label"]['label']; - unset($form['#info']["filter-$label"]['label']); + if (isset($form['#info'][$filter_key]['label'])) { + $form[$field_id]['#bef_title'] = $form['#info'][$filter_key]['label']; + unset($form['#info'][$filter_key]['label']); } if (!empty($options['more_options']['bef_filter_description'])) { $form[$field_id]['#bef_description'] = $options['more_options']['bef_filter_description']; @@ -1337,7 +1339,7 @@ function exposed_form_alter(&$form, &$form_state) { case 'bef_hidden': // Hide the label. - $form['#info']["filter-$label"]['label'] = ''; + $form['#info'][$filter_key]['label'] = ''; if (empty($form[$field_id]['#multiple'])) { $form[$field_id]['#type'] = 'hidden'; } @@ -1359,9 +1361,14 @@ function exposed_form_alter(&$form, &$form_state) { } /* Ends switch ($options['bef_format']) */ + // Override "Any" label, if applicable. + if (!empty($options['more_options']['any_label']) && !empty($form[$field_id]['#options']['All'])) { + $form[$field_id]['#options']['All'] = $options['more_options']['any_label']; + } + // Check if this is a secondary form element. if ($allow_secondary && $settings[$label]['more_options']['is_secondary']) { - $identifier = $form['#info']["filter-$label"]['value']; + $identifier = $form['#info'][$filter_key]['value']; if (!empty($form[$identifier])) { // Move exposed operators with exposed filters if (!empty($filters[$label]->options['expose']['use_operator'])) { @@ -1371,17 +1378,12 @@ function exposed_form_alter(&$form, &$form_state) { } $secondary[$identifier] = $form[$identifier]; unset($form[$identifier]); - $secondary[$identifier]['#title'] = $form['#info']["filter-$label"]['label']; - unset($form['#info']["filter-$label"]); + $secondary[$identifier]['#title'] = $form['#info'][$filter_key]['label']; + unset($form['#info'][$filter_key]); } } } - // Override "Any" label, if applicable. - if (!empty($options['more_options']['any_label']) && !empty($form[$field_id]['#options']['All'])) { - $form[$field_id]['#options']['All'] = $options['more_options']['any_label']; - } - // If our form has no visible filters, hide the submit button. $form['submit']['#access'] = $show_apply; $form['reset']['#access'] = $show_apply;