Files
kupshop/bundles/External/ZNZBundle/Context/LanguageContext.php
2025-08-02 16:30:27 +02:00

40 lines
1022 B
PHP

<?php
declare(strict_types=1);
namespace External\ZNZBundle\Context;
use KupShop\KupShopBundle\Util\Compat\SymfonyBridge;
use Symfony\Component\DependencyInjection\Attribute\Autowire;
use Symfony\Component\HttpFoundation\RequestStack;
use Symfony\Contracts\Service\Attribute\Required;
class LanguageContext extends \KupShop\I18nBundle\Context\LanguageContext
{
#[Required]
public RequestStack $requestStack;
protected array $domains = [];
#[Required]
public function setDomains(#[Autowire(param: 'shop.domains')] array $domains): self
{
$this->domains = $domains;
return $this;
}
protected function loadActive()
{
if (!($request = $this->requestStack->getMainRequest())) {
$request = SymfonyBridge::getCurrentRequest();
}
if (!array_key_exists($request->getHost(), $this->domains)) {
return $this->getDefaultFromConfig();
}
return $this->domains[$request->getHost()]['language'] ?? 'cs';
}
}