public function getPrimaryDomain() { return isset($this->primaryDomain) && $this->primaryDomain->getActive() ? $this->primaryDomain : $this->getFirstActiveDomain(); }
/** * @param ControllerContext $controllerContext * @param Site $site * @return string * @throws NeosException */ public function createSiteUri(ControllerContext $controllerContext, Site $site) { $primaryDomain = $site->getPrimaryDomain(); if ($primaryDomain === null) { throw new NeosException(sprintf('Cannot link to a site "%s" since it has no active domains.', $site->getName()), 1460443524); } $requestUri = $controllerContext->getRequest()->getHttpRequest()->getUri(); $baseUri = $controllerContext->getRequest()->getHttpRequest()->getBaseUri(); $port = $primaryDomain->getPort() ?: $requestUri->getPort(); return sprintf('%s://%s%s%s', $primaryDomain->getScheme() ?: $requestUri->getScheme(), $primaryDomain->getHostPattern(), $port && !in_array($port, [80, 443], true) ? ':' . $port : '', rtrim($baseUri->getPath(), '/')); }