<?php
declare(strict_types=1);
namespace App\EventSubscriber;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\HttpFoundation\Session\Flash\FlashBagInterface;
use Symfony\Component\HttpKernel\KernelEvents;
use Symfony\Component\Security\Core\Security;
use Symfony\Contracts\Translation\TranslatorInterface;
class ApkNotificationSubscriber implements EventSubscriberInterface
{
private const APK_LINK = '/static-files/app-release.apk';
private Security $security;
private FlashBagInterface $flash;
private TranslatorInterface $translator;
/**
* @param Security $security
* @param FlashBagInterface $flash
* @param TranslatorInterface $translator
*/
public function __construct(
Security $security,
FlashBagInterface $flash,
TranslatorInterface $translator
) {
$this->security = $security;
$this->flash = $flash;
$this->translator = $translator;
}
/**
* @return array
*/
public static function getSubscribedEvents(): array
{
return [
KernelEvents::REQUEST => 'notifyUser'
];
}
/**
* @return void
*/
public function notifyUser(): void
{
if ($this->security->getUser() === null) {
return;
}
// if (!isset($_COOKIE['APK_VERSION']) || ($_COOKIE['APK_VERSION'] !== $_ENV['APK_VERSION'])) {
// setcookie('APK_VERSION', $_ENV['APK_VERSION']);
// $this->flash->add('success', sprintf($this->translator->trans(
// 'message.notification',
// [],
// 'apk'
// ), sprintf('<a href="%s" target="_blank">Milkiya App</a>', self::APK_LINK)));
// }
}
}