From 438e177fec14b868d930a8e8a3f8e840a5d22868 Mon Sep 17 00:00:00 2001 From: Slavko Pesic Date: Thu, 5 Nov 2015 10:04:47 -0800 Subject: [PATCH] Check sort order property before accessing, otherwise default to original sort --- plugins/views_plugin_exposed_form.inc | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/plugins/views_plugin_exposed_form.inc b/plugins/views_plugin_exposed_form.inc index 5d54600..a10c8e2 100644 --- a/plugins/views_plugin_exposed_form.inc +++ b/plugins/views_plugin_exposed_form.inc @@ -220,17 +220,28 @@ class views_plugin_exposed_form extends views_plugin { } if (count($exposed_sorts)) { + if (isset($form_state['input']['sort_by']) && isset($this->view->sort[$form_state['input']['sort_by']])) { + $default_sort_order = $form_state['input']['sort_by']; + } else { + $first_sort = reset($this->view->sort); + $default_sort_order = $first_sort->options['order']; + } $form['sort_by'] = array( '#type' => 'select', '#options' => $exposed_sorts, '#title' => $this->options['exposed_sorts_label'], + '#default_value' => $default_sort_order, ); $sort_order = array( 'ASC' => $this->options['sort_asc_label'], 'DESC' => $this->options['sort_desc_label'], ); if (isset($form_state['input']['sort_by']) && isset($this->view->sort[$form_state['input']['sort_by']])) { - $default_sort_order = $this->view->sort[$form_state['input']['sort_by']]->options['order']; + if (isset($form_state['input']['sort_order'])) { + $default_sort_order = $form_state['input']['sort_order']; + } else { + $default_sort_order = $this->view->sort[$form_state['input']['sort_by']]->options['order']; + } } else { $first_sort = reset($this->view->sort); $default_sort_order = $first_sort->options['order']; -- 1.8.5.2 (Apple Git-48)