vendor/shopware/storefront/Framework/Routing/DomainLoader.php line 64
<?php declare(strict_types=1);namespace Shopware\Storefront\Framework\Routing;use Doctrine\DBAL\Connection;use Shopware\Core\Defaults;use Shopware\Core\Framework\DataAbstractionLayer\Doctrine\FetchModeHelper;use Shopware\Core\Framework\Log\Package;use Shopware\Core\Framework\Plugin\Exception\DecorationPatternException;/*** @phpstan-import-type Domain from AbstractDomainLoader*/#[Package('storefront')]class DomainLoader extends AbstractDomainLoader{/*** @internal*/public function __construct(private readonly Connection $connection){}public function getDecorated(): AbstractDomainLoader{throw new DecorationPatternException(self::class);}/*** @return array<string, Domain>*/public function load(): array{$query = $this->connection->createQueryBuilder();$query->select(['CONCAT(TRIM(TRAILING \'/\' FROM domain.url), \'/\') `key`','CONCAT(TRIM(TRAILING \'/\' FROM domain.url), \'/\') url','LOWER(HEX(domain.id)) id','LOWER(HEX(sales_channel.id)) salesChannelId','LOWER(HEX(sales_channel.type_id)) typeId','LOWER(HEX(domain.snippet_set_id)) snippetSetId','LOWER(HEX(domain.currency_id)) currencyId','LOWER(HEX(domain.language_id)) languageId','LOWER(HEX(theme.id)) themeId','sales_channel.maintenance maintenance','sales_channel.maintenance_ip_whitelist maintenanceIpWhitelist','snippet_set.iso as locale','theme.technical_name as themeName','parentTheme.technical_name as parentThemeName',]);$query->from('sales_channel');$query->innerJoin('sales_channel', 'sales_channel_domain', 'domain', 'domain.sales_channel_id = sales_channel.id');$query->innerJoin('domain', 'snippet_set', 'snippet_set', 'snippet_set.id = domain.snippet_set_id');$query->leftJoin('sales_channel', 'theme_sales_channel', 'theme_sales_channel', 'sales_channel.id = theme_sales_channel.sales_channel_id');$query->leftJoin('theme_sales_channel', 'theme', 'theme', 'theme_sales_channel.theme_id = theme.id');$query->leftJoin('theme', 'theme', 'parentTheme', 'theme.parent_theme_id = parentTheme.id');$query->where('sales_channel.type_id = UNHEX(:typeId)');$query->andWhere('sales_channel.active');$query->setParameter('typeId', Defaults::SALES_CHANNEL_TYPE_STOREFRONT);/** @var array<string, Domain> $domains */$domains = FetchModeHelper::groupUnique($query->executeQuery()->fetchAllAssociative());return $domains;}}