/** * Localize given domain. * * @param string $domain * @param Localization $locale * * @return string */ protected function localizeDomain($domain, Localization $locale) { if (!$this->urlReplacer->hasLocalizationReplacer($domain) && !$this->urlReplacer->hasLanguageReplacer($domain)) { $domain = $this->urlReplacer->appendLocalizationReplacer($domain); } $domain = $this->urlReplacer->replaceLanguage($domain, $locale->getLanguage()); $domain = $this->urlReplacer->replaceCountry($domain, $locale->getCountry()); $domain = $this->urlReplacer->replaceLocalization($domain, $locale->getLocalization()); return $this->urlReplacer->cleanup($domain); }
/** * @return Route */ protected function getRedirectWebSpaceRoute() { $localization = $this->defaultLocaleProvider->getDefaultLocale(); $redirect = $this->requestAnalyzer->getRedirect(); $redirect = $this->urlReplacer->replaceCountry($redirect, $localization->getCountry()); $redirect = $this->urlReplacer->replaceLanguage($redirect, $localization->getLanguage()); $redirect = $this->urlReplacer->replaceLocalization($redirect, $localization->getLocale(Localization::DASH)); // redirect by information from webspace config // has to be done for all routes, because double slashes introduce problems otherwise return new Route('/{wildcard}', ['_controller' => 'SuluWebsiteBundle:Redirect:redirectWebspace', 'url' => $this->requestAnalyzer->getPortalUrl(), 'redirect' => $redirect], ['wildcard' => '.*']); }