Commit 8f4bee0b authored by Ide Braakman's avatar Ide Braakman Committed by Joseph Olstad
Browse files

Issue #3015327 by idebr: FacetapiBonusSelect widget is not compatible with Facet API Pretty Paths

parent 2766ea2d
Loading
Loading
Loading
Loading
+12 −5
Original line number Diff line number Diff line
@@ -18,14 +18,17 @@ class FacetapiBonusSelect extends FacetapiWidget {
 * Generate form for facet.
 */
function facetapi_bonus_select($form, &$form_state, $elements) {
  $default_value = '';

  // Build options from facet elements.
  $options = array('' => t('- Select -'));
  $options = array();
  foreach ($elements as $element) {
    $key = serialize(array('path' => $element['#path'], 'query' => $element['#query']));
    $options[$key] = theme('facetapi_bonus_select_option', array('title' => $element['#markup'], 'count' => $element['#count']));

    if ($element['#active']) {
      continue;
      $default_value = $key;
    }
    $options[serialize($element['#query'])] = theme('facetapi_bonus_select_option', array('title' => $element['#markup'], 'count' => $element['#count']));
  }
  if (count($options) == 1) {
    return;
@@ -34,8 +37,11 @@ function facetapi_bonus_select($form, &$form_state, $elements) {
    '#type' => 'select',
    '#options' => $options,
    '#attributes' => array('class' => array('ctools-auto-submit')),
    'default_value' => '',
    '#default_value' => $default_value,
  );
  if (empty($default_value)) {
    $form['select']['#empty_option'] = t('- Select -');
  }
  $form['submit'] = array(
    '#type' => 'submit',
    '#value' => t('Filter'),
@@ -57,5 +63,6 @@ function facetapi_bonus_select($form, &$form_state, $elements) {
 * Submit handler for facet form.
 */
function facetapi_bonus_select_submit($form, &$form_state) {
  $form_state['redirect'] = array($_GET['q'], array('query' => unserialize($form_state['values']['select'])));
  $value = unserialize($form_state['values']['select']);
  $form_state['redirect'] = array($value['path'], array('query' => $value['query']));
}