You are here

private function RedirectDestination::getChildDestination in Bakery Single Sign-On System 8.2

Get link to destination on referring child.

Return value

\Drupal\Core\Url

1 call to RedirectDestination::getChildDestination()
RedirectDestination::get in src/RedirectDestination.php
Gets the destination as a path.

File

src/RedirectDestination.php, line 110

Class

RedirectDestination

Namespace

Drupal\bakery

Code

private function getChildDestination() {
  $query = $this->requestStack
    ->getCurrentRequest()->query;
  if ($query
    ->has('bd')) {
    $external_uri = $query
      ->get('bd');
    if (is_string($external_uri) && ($external_uri = UrlHelper::stripDangerousProtocols($external_uri))) {
      foreach ($this->config
        ->get('bakery_slaves') as $subsite) {
        if (str_starts_with($external_uri, $subsite)) {
          return Url::fromUri(urldecode($external_uri))
            ->setAbsolute(TRUE);
        }
      }
    }
  }
  return Url::fromRoute('<front>')
    ->setAbsolute(TRUE);
}