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 $emRequestStack $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. }