<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\HttpFoundation\Request;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
use App\Service\LocaleSubscriber;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpFoundation\Session\SessionInterface;
/**
* @Route("/{_locale?fr}",locale="fr", requirements={
* "_locale": "en|fr",
* "_format": "html|xml",
* })
*/
class MainController extends AbstractController
{
/**
* @Route("/", name="home")
*/
public function home()
{
return $this->render('main/index.html.twig', [
'controller_name' => 'MainController',
]);
}
/**
* @Route("/main", name="main")
*/
public function index()
{
return $this->render('main/index.html.twig', [
'controller_name' => 'MainController',
]);
}
/**
* @Route("/ch/{local}", name="ch")
*/
public function chan(LocaleSubscriber $locale,$local, Request $request)
{
// $locale->change($local,$request);
$referer = $request->headers->get('referer');
return new RedirectResponse($referer);
}
/* public function onKernelRequest(RequestEvent $event)
{
$request = $event->getRequest();
// some logic to determine the $locale
$request->setLocale($locales);
}*/
/**
* @Route("/change_locale/{local}",name="change_locale")
*/
public function changeLocale(SessionInterface $session,Request $request,String $local)
{
// $locale = $session->get('_locale');
// $locale = $session->set('_locale',$local);
$locale = $request->getLocale();
$locale = $request->setLocale($local);
//$referer = $request->headers->get('referer');
//return new RedirectResponse("$referer");
$route=$request->attributes->get('_route');
return $this->redirectToRoute($route,[
'_locale'=>$local,
'local'=>$local,
]);
}
}