diff -u b/apachesolr_views.views.inc b/apachesolr_views.views.inc --- b/apachesolr_views.views.inc +++ b/apachesolr_views.views.inc @@ -55,7 +55,7 @@ continue; } - $voc_field = strpos($solr_field_name, 'sm_vid') === 0? true: false; + $voc_field = strpos($solr_field_name, 'sm_vid') === 0 ? TRUE : FALSE; $field_type = $solr_field->type; $field_handler = 'apachesolr_views_handler_field'; diff -u b/handlers/apachesolr_views_handler_filter_term.inc b/handlers/apachesolr_views_handler_filter_term.inc --- b/handlers/apachesolr_views_handler_filter_term.inc +++ b/handlers/apachesolr_views_handler_filter_term.inc @@ -99,7 +99,7 @@ // Default value needs to be a single value. // If an array is passed, use the first. - $default_value = is_array($this->value) ? array_shift($this->value) : ''; + $default_value = is_array($this->value) ? $this->value : array(); $form['value'] = array( '#type' => 'select', @@ -108,6 +108,10 @@ '#multiple' => TRUE, '#default_value' => $default_value, ); + $identifier = $this->options['expose']['identifier']; + if (!empty($form_state['exposed']) && !isset($form_state['input'][$identifier]) && !empty($default_value)) { + $form_state['input'][$identifier] = $default_value; + } } }