You are here

public function RedirectDestination::get in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 core/lib/Drupal/Core/Routing/RedirectDestination.php \Drupal\Core\Routing\RedirectDestination::get()

Gets the destination as URL.

Return value

string

Overrides RedirectDestinationInterface::get

1 call to RedirectDestination::get()
RedirectDestination::getAsArray in core/lib/Drupal/Core/Routing/RedirectDestination.php
Prepares a 'destination' URL query parameter for use with \Drupal\Core\Url.

File

core/lib/Drupal/Core/Routing/RedirectDestination.php, line 62
Contains \Drupal\Core\Routing\RedirectDestination.

Class

RedirectDestination
Provides helpers for redirect destinations.

Namespace

Drupal\Core\Routing

Code

public function get() {
  if (!isset($this->destination)) {
    $query = $this->requestStack
      ->getCurrentRequest()->query;
    if (UrlHelper::isExternal($query
      ->get('destination'))) {
      $this->destination = '/';
    }
    elseif ($query
      ->has('destination')) {
      $this->destination = $query
        ->get('destination');
    }
    else {
      $this->destination = $this->urlGenerator
        ->generateFromRoute('<current>', [], [
        'query' => UrlHelper::buildQuery(UrlHelper::filterQueryParameters($query
          ->all())),
      ]);
    }
  }
  return $this->destination;
}