<?php
namespace App\EventSubscriber;
use App\Env;
use App\Func;
use App\DTO\AppDTO;
use App\DTO\PageDTO;
use App\Entity\Cart;
use App\Entity\Sett;
use App\Entity\User;
use App\Entity\Block;
use App\Entity\Order;
use App\Entity\Timer;
use Twig\Environment;
use App\Entity\Banner;
use App\Entity\Labels;
use App\Model\Wishlist;
use App\Entity\Template;
use App\GlobalVars\Blocks;
use App\Service\Auth\Auth;
use App\Entity\Transaction;
use App\GlobalVars\Templates;
use App\Entity\Page as EntityPage;
use App\Repository\PageRepository;
use Doctrine\ORM\EntityManagerInterface;
use App\GlobalVars\Sett as GlobalVarsSett;
use Symfony\Contracts\Cache\ItemInterface;
use App\Entity\Translation\PageTranslation;
use App\Entity\Translation\SettTranslation;
use Symfony\Contracts\Cache\CacheInterface;
use App\Entity\Translation\TimerTranslation;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Security\Core\Security;
use App\GlobalVars\Labels as GlobalVarsLabels;
use Symfony\Component\HttpFoundation\Response;
use App\Entity\Translation\TemplateTranslation;
use Symfony\Contracts\Cache\TagAwareCacheInterface;
use Symfony\Component\HttpKernel\Event\RequestEvent;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpKernel\Event\ControllerEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class Redirect implements EventSubscriberInterface
{
private $no_cache = false;
private Environment $twig;
private EntityManagerInterface $em;
private CacheInterface $Cache;
private Auth $Auth;
private Env $Env;
private Func $Func;
private Wishlist $Wishlist;
private ?AppDTO $app;
// Temp
private $_pagename;
public function __construct(AppDTO $app, Environment $twig, EntityManagerInterface $em, TagAwareCacheInterface $appCache, Auth $Auth, Env $Env, Func $Func, Wishlist $Wishlist, Security $security)
{
$this->twig = $twig;
$this->em = $em;
$this->app = $app;
$this->Cache = $appCache;
$this->Auth = $Auth;
$this->Auth->setUser($security->getUser());
$this->Env = $Env;
$this->Func = $Func;
$this->Wishlist = $Wishlist;
}
public function onRequest(RequestEvent $event): void
{
if (Env::site() == Env::OPT_MIX && $event->getRequest()->getHost() == 'opt.mixform.pl') {
$event->setResponse(new RedirectResponse("https://mixformwhole.pl".$event->getRequest()->getRequestUri(), 301));
}
}
private function redirectMixFormOpt(Request $request)
{
if (!$request->getLocale()) {
$request->setLocale($request->getDefaultLocale());
}
}
public static function getSubscribedEvents(): array
{
return [
'kernel.request' => 'onRequest',
];
}
}