src/Controller/DefaultController.php line 25

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Service\ValidationService;
  4. use App\Service\SyncService;
  5. use Doctrine\Persistence\ManagerRegistry;
  6. use Symfony\Bridge\Twig\Mime\TemplatedEmail;
  7. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  8. use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
  9. use Symfony\Component\Form\FormError;
  10. use Symfony\Component\HttpFoundation\Request;
  11. use Symfony\Component\HttpFoundation\Response;
  12. use Symfony\Component\Mailer\MailerInterface;
  13. use Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface;
  14. use Symfony\Component\Routing\Annotation\Route;
  15. use Symfony\Contracts\Translation\TranslatorInterface;
  16. use Symfony\Component\Validator\Validator\ValidatorInterface;
  17. /**
  18.  * @Route({"en": "/en", "it": "/it"}, defaults={"_locale" = "it"}, requirements={"_locale" = "it|en"})
  19.  */
  20. class DefaultController extends AbstractController
  21.     public function redirectHome(Request $request){
  22.         return $this->redirectToRoute('homepage');
  23.     }
  24.     
  25.     protected $mr;
  26.     private $params;
  27.     public function __construct(ManagerRegistry $managerRegistryParameterBagInterface $params)
  28.     {
  29.         $this->mr $managerRegistry;
  30.         $this->params $params;
  31.     }
  32.    
  33.     /**
  34.      * @Route({"en":"/faqs", "it":"/faq"}, name="faqs")
  35.      */
  36.     public function faqs(Request $request)
  37.     {
  38.         $em $this->mr->getManager();
  39.         $faqCategories $em->getRepository('App\Entity\FaqCategory')->findAll();
  40.         return $this->render('default/faqs.html.twig', array(
  41.             'faqCategories' => $faqCategories
  42.         ));
  43.     }
  44.     
  45.     /**
  46.      * @Route({"en":"/tutorials", "it":"/tutorial"}, name="tutorials")
  47.      */
  48.     public function tutorials(Request $request)
  49.     {
  50.         $em $this->mr->getManager();
  51.         $tutorialCategories $em->getRepository('App\Entity\TutorialCategory')->findAll();
  52.         return $this->render('default/tutorials.html.twig', array(
  53.             'tutorialCategories' => $tutorialCategories
  54.         ));
  55.     }
  56.     
  57.     /**
  58.      * @Route({"en":"/help", "it":"/aiuto"}, name="help")
  59.      */
  60.     public function help(Request $request)
  61.     {
  62.         $em $this->mr->getManager();
  63.         $slug $request->request->get('slug');
  64.         $helpTranslation $em->getRepository("App\Entity\HelpTranslation")->findOneBySlugAndLocale($slug$request->getLocale());
  65.         $response = array("code" => 200"success" => true"title" => $helpTranslation->getTitle(), "text" => $helpTranslation->getText());
  66.         return new Response(json_encode($response)); 
  67.     }
  68.     
  69.     /**
  70.      * @Route({"en":"/cookie", "it":"/cookie"}, name="cookies")
  71.      */
  72.     public function cookies(Request $request)
  73.     {
  74.         return $this->render('default/cookies.html.twig');
  75.     }
  76.     
  77.     /**
  78.      * @Route({"en":"/cookies/accept", "it":"/cookie/accetta"}, name="cookie_accept")
  79.      */
  80.     public function cookieAccept(Request $request)
  81.     {
  82.         setcookie("cookieconsent_dismissed""yes"time() + (86400 30 365), "/");
  83.         setcookie("cookie_accepted""yes"time() + (86400 30 365), "/");
  84.         return $this->redirect($request->server->get('HTTP_REFERER'));
  85.     }
  86.     /**
  87.      * @Route({"en":"/cookies/deny", "it":"/cookie/rifiuta"}, name="cookie_deny")
  88.      */
  89.     public function cookieDeny(Request $request)
  90.     {
  91.         setcookie("cookieconsent_dismissed""yes"time() + (86400 30), "/");
  92.         setcookie("cookie_accepted""no"time() + (86400 30), "/");
  93.         return $this->redirect($request->server->get('HTTP_REFERER'));
  94.     }
  95.     
  96.     /**
  97.     * @Route({"en":"/country-update", "it":"/nazioni-aggiorna"}, name="countries_update")
  98.     */
  99.     public function countriesUpdate(Request $request)
  100.     {
  101.         $em $this->mr->getManager();
  102.         $name $request->request->get('name');
  103.         $countries $em->getRepository("App\Entity\Country")->findByName($name);
  104.         $first true;
  105.         $jsonCountries '[';
  106.         foreach($countries as $c){
  107.             if($first)
  108.                 $first false;
  109.             else
  110.                 $jsonCountries.= ',';
  111.             $jsonCountries.= '{"id":"'.$c->getId().'", "name":'.json_encode($c->getName()).'}';
  112.         }
  113.         $jsonCountries .= ']';
  114.         $response = array("code" => 200"success" => true"countries" => $jsonCountries);
  115.         return new Response(json_encode($response));
  116.     }
  117.     
  118.     /**
  119.     * @Route({"en":"/nationality-update", "it":"/nazionalità-aggiorna"}, name="nationalities_update")
  120.     */
  121.     public function nationalitiesUpdate(Request $request)
  122.     {
  123.         $em $this->mr->getManager();
  124.         $nationality $request->request->get('nationality');
  125.         $countries $em->getRepository("App\Entity\Country")->findByNationality($nationality);
  126.         $first true;
  127.         $jsonCountries '[';
  128.         foreach($countries as $c){
  129.             if($first)
  130.                 $first false;
  131.             else
  132.                 $jsonCountries.= ',';
  133.             $jsonCountries.= '{"id":"'.$c->getId().'", "nationality":'.json_encode($c->getNationality()).'}';
  134.         }
  135.         $jsonCountries .= ']';
  136.         $response = array("code" => 200"success" => true"countries" => $jsonCountries);
  137.         return new Response(json_encode($response));
  138.     }
  139. }