/** * @param Portal $portal * @param Environment $environment * @param string $urlAddress * @param string $urlAnalyticsKey * @param Url $url */ private function buildUrlPartialMatch(Portal $portal, Environment $environment, $urlAddress, $urlAnalyticsKey, Url $url) { $replacers = []; $defaultSegment = $portal->getWebspace()->getDefaultSegment(); if ($defaultSegment) { $replacers[ReplacerInterface::REPLACER_SEGMENT] = $defaultSegment->getKey(); } $urlResult = $this->urlReplacer->cleanup($urlAddress, [ReplacerInterface::REPLACER_LANGUAGE, ReplacerInterface::REPLACER_COUNTRY, ReplacerInterface::REPLACER_LOCALIZATION, ReplacerInterface::REPLACER_SEGMENT]); $urlRedirect = $this->generateUrlAddress($urlAddress, $replacers); if ($this->validateUrlPartialMatch($urlResult, $environment)) { $this->portalInformations[$environment->getType()][$urlResult] = new PortalInformation(RequestAnalyzerInterface::MATCH_TYPE_PARTIAL, $portal->getWebspace(), $portal, null, $urlResult, $portal->getWebspace()->getDefaultSegment(), $urlRedirect, $urlAnalyticsKey, false, $url->getUrl(), $this->urlReplacer->hasHostReplacer($urlResult) ? 4 : 9); } }