<?php
namespace App\EventListener;
use Symfony\Component\HttpKernel\Event\ControllerEvent;
use Symfony\Component\HttpFoundation\Session\SessionInterface;
use Doctrine\DBAL\Connection;
use Twig\Environment;
class UserSubscriber
{
private $connection;
private $twig;
public function __construct(Connection $connection, Environment $twig)
{
$this->connection = $connection;
$this->twig = $twig;
}
public function onKernelController(ControllerEvent $event): void
{
$request = $event->getRequest();
$session = $request->getSession();
$user = null;
if ($session->has('hash')) {
$hash = $session->get('hash');
$user = $this->connection->fetchAssociative('SELECT * FROM users WHERE hash = ?', [$hash]);
}
$this->twig->addGlobal('user', $user);
}
}