Figure out what the exposed input for this view is.
public function getExposedInput() {
// Fill our input either from $_GET or from something previously set on the
// view.
if (empty($this->exposed_input)) {
$this->exposed_input = drupal_container()
->get('request')->query
->all();
// unset items that are definitely not our input:
foreach (array(
'page',
'q',
) as $key) {
if (isset($this->exposed_input[$key])) {
unset($this->exposed_input[$key]);
}
}
// If we have no input at all, check for remembered input via session.
// If filters are not overridden, store the 'remember' settings on the
// default display. If they are, store them on this display. This way,
// multiple displays in the same view can share the same filters and
// remember settings.
$display_id = $this->display_handler
->isDefaulted('filters') ? 'default' : $this->current_display;
if (empty($this->exposed_input) && !empty($_SESSION['views'][$this->storage
->get('name')][$display_id])) {
$this->exposed_input = $_SESSION['views'][$this->storage
->get('name')][$display_id];
}
}
return $this->exposed_input;
}