src/Twig/BrandingExtension.php line 31

Open in your IDE?
  1. <?php
  2. namespace App\Twig;
  3. use App\Entity\SettingsBranding;
  4. use Doctrine\ORM\EntityManagerInterface;
  5. use Symfony\Component\HttpFoundation\RequestStack;
  6. use Twig\Extension\AbstractExtension;
  7. use Twig\Extension\GlobalsInterface;
  8. class BrandingExtension extends AbstractExtension implements GlobalsInterface
  9. {
  10.     private $em;
  11.     private $requestStack;
  12.     public function __construct(EntityManagerInterface $em, RequestStack $requestStack)
  13.     {
  14.         $this->em = $em;
  15.         $this->requestStack = $requestStack;
  16.     }
  17.     public function getGlobals(): array
  18.     {
  19.         $request = $this->requestStack->getCurrentRequest();
  20.         if (!$request) {
  21.             return ['branding_current' => null];
  22.         }
  23.         $session = $request->getSession();
  24.         $accessType = $session ? $session->get('current_access_type', 'venues') : 'venues';
  25.         $branding = $this->em
  26.             ->getRepository(SettingsBranding::class)
  27.             ->findOneBy(['accessType' => $accessType]);
  28.         return [
  29.             'branding_current' => $branding,
  30.         ];
  31.     }
  32. }