src/Aviatur/GeneralBundle/EventListener/ResponseListener.php line 19

Open in your IDE?
  1. <?php
  2. namespace Aviatur\GeneralBundle\EventListener;
  3. use Symfony\Component\HttpFoundation\Cookie;
  4. use Symfony\Component\HttpFoundation\Session\SessionInterface;
  5. use Symfony\Component\HttpKernel\Event\ResponseEvent;
  6. class ResponseListener
  7. {
  8.     private \Symfony\Component\HttpFoundation\Session\SessionInterface $session;
  9.     public function __construct(SessionInterface $session)
  10.     {
  11.         $this->session $session;
  12.     }
  13.     public function onKernelResponse(ResponseEvent $event)
  14.     {
  15.         $request $event->getRequest();
  16.         $response $event->getResponse();
  17.         if ('viajala.com.co' === $request->getHost() || 'www.viajala.com.co' === $request->getHost()) {
  18.             $response->headers->set('x-frame-options''ALLOW-FROM https://'.$request->getHost().'/');
  19.         } elseif (true !== $this->session->has('whitemark') && true !== $this->session->has('onlySearcherSite')) {
  20.             $response->headers->set('x-frame-options''deny');
  21.         }
  22.         if ($this->session->has('typeCoin') && $this->session->has('typeCountry')) {
  23.             if (!$request->cookies->has('_world_pay') ||
  24.                 json_decode(base64_decode($request->cookies->get('_world_pay')), true)['typeCoin'] != $this->session->get('typeCoin')
  25.             ) {
  26.                 $response->headers->setCookie(new Cookie('_world_pay'base64_encode(json_encode([
  27.                     'typeCoin' => $this->session->get('typeCoin'),
  28.                     'typeCountry' => $this->session->get('typeCountry'),
  29.                     'CoinValue' => $this->session->get('CoinValue'),
  30.                 ])), (time() + 3600 24 7), '/'));
  31.             }
  32.         }
  33.         $event->setResponse($response);
  34.     }
  35. }