You are here

public function ViewExecutable::getExposedInput in Views (for Drupal 7) 8.3

Figure out what the exposed input for this view is.

File

lib/Drupal/views/ViewExecutable.php, line 541
Definition of Drupal\views\ViewExecutable.

Class

ViewExecutable
An object to contain all of the data to generate a view, plus the member functions to build the view query, execute the query and render the output.

Namespace

Drupal\views

Code

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->name][$display_id])) {
      $this->exposed_input = $_SESSION['views'][$this->storage->name][$display_id];
    }
  }
  return $this->exposed_input;
}