src/Controller/DefaultController.php line 51

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Economic;
  4. use App\Entity\Equal;
  5. use App\Entity\Event;
  6. use App\Entity\Newsletter;
  7. use App\Entity\Realisation;
  8. use App\Entity\Youth;
  9. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  10. use Symfony\Component\Routing\Annotation\Route;
  11. use App\Repository\GalerieRepository;
  12. use App\Repository\EquipeRepository;
  13. use Symfony\Component\HttpFoundation\Request;
  14. use App\Repository\RealisationRepository;
  15. use App\Repository\TypeRepository;
  16. use App\Form\ContactType;
  17. use App\Repository\AboutTextRepository;
  18. use App\Repository\ActivityContentRepository;
  19. use App\Repository\DocumentRepository;
  20. use App\Repository\DonorRepository;
  21. use App\Repository\EconomicRepository;
  22. use App\Repository\EqualRepository;
  23. use App\Repository\EventRepository;
  24. use App\Repository\GalleryRepository;
  25. use App\Repository\HeaderImageRepository;
  26. use App\Repository\TemoignageRepository;
  27. use App\Repository\YouthRepository;
  28. use Symfony\Component\HttpFoundation\Response;
  29. use Symfony\Component\Mailer\MailerInterface;
  30. use Symfony\Component\Mime\Email;
  31. use Symfony\Component\HttpFoundation\Session\Session;
  32. use Symfony\Component\HttpFoundation\Session\SessionInterface;
  33. class DefaultController extends AbstractController
  34. {
  35.     private $session;
  36.     public function __construct(SessionInterface $session)
  37.     {
  38.         $this->session $session;
  39.     }
  40.     /**
  41.      * @Route("/", name="default")
  42.      */
  43.     public function index(AboutTextRepository $aboutTextRepositoryDonorRepository $donorRepositoryTemoignageRepository $temoignageRepositoryGalerieRepository $galerieRepositoryEventRepository $eventRepositoryTypeRepository $typeRepositoryRealisationRepository $realisationRepository,Request $request,MailerInterface $mailer)
  44.     {
  45.         $type $typeRepository->findByNom('News');
  46.         
  47.         return $this->render('default/index.html.twig', [
  48.             'gal' => $galerieRepository->findBy(array(),array('id'=>'DESC')),
  49.             //'gal' => $galleryRepository->findBy(array(),array('id'=>'DESC')),
  50.             'events' => $eventRepository->findBy(array(),array('id'=>'DESC')),
  51.             'realisations' => $realisationRepository->findBy(array(),array('id'=>'DESC')),
  52.             'news' => $realisationRepository->findBy(array('type'=>$type),array('id'=>'DESC')),
  53.             'types' => $typeRepository->findBy(array(),array('id'=>'DESC')),
  54.             'temoignages' => $temoignageRepository->findAll(),
  55.             'donors' => $donorRepository->findAll(),
  56.             'about_texts' => $aboutTextRepository->findOneBy(array(),array('id'=>'DESC')),
  57.         ]);
  58.     }
  59.     /**
  60.      * @Route("/about", name="about")
  61.      */
  62.     public function about(AboutTextRepository $aboutTextRepository,EquipeRepository $equipeRepositoryHeaderImageRepository $headerImageRepository)
  63.     {
  64.         
  65.         return $this->render('default/about.html.twig',[
  66.             'equipes' => $equipeRepository->findAll(),
  67.             'about_texts' => $aboutTextRepository->findOneBy(array(),array('id'=>'DESC')),
  68.             'header_images' => $headerImageRepository->findOneByPage('about')
  69.             ]);
  70.     }
  71.     /**
  72.      * @Route("/activite", name="activite")
  73.      */
  74.     public function activite(RealisationRepository $realisationRepository)
  75.     {
  76.         
  77.         return $this->render('default/activite.html.twig',[
  78.             'activite' => $realisationRepository->findBy(array(),array('id'=>'DESC'))
  79.             ]);
  80.     }
  81.     /**
  82.      * @Route("/contact", name="contact")
  83.      */
  84.     public function contact(HeaderImageRepository $headerImageRepositoryEquipeRepository $equipeRepositoryTypeRepository $typeRepositoryRealisationRepository $realisationRepository,Request $request,MailerInterface $mailer)
  85.     {
  86.         $form $this->createForm(ContactType::class,null);
  87.         $form->handleRequest($request);
  88.         if ($form->isSubmitted() && $form->isValid()) {
  89.             $data $form->getData();
  90.         
  91.             $email = (new Email())
  92.             ->from('infos@afphy.org')
  93.             ->to('afphy4@gmail.com')
  94.             //->cc('cc@example.com')
  95.             //->bcc('bcc@example.com')
  96.             //->replyTo('fabien@example.com')
  97.             //->priority(Email::PRIORITY_HIGH)
  98.             ->subject("Afphy website client "$data["subject"])
  99.             ->text($data["message"]."\nContactMail :".$data["email"]);
  100.             //dump($email);die();
  101.             $mailer->send($email);
  102.                 return $this->redirectToRoute('default');
  103.             }
  104.         
  105.         return $this->render('default/contact.html.twig',[
  106.             'form' => $form->createView(),
  107.             'header_images' => $headerImageRepository->findOneByPage('contact')
  108.             ]);
  109.     }
  110.     /**
  111.      * @Route("/economic", name="economic")
  112.      */
  113.     public function economic(ActivityContentRepository $activityContentRepositoryHeaderImageRepository $headerImageRepositoryRealisationRepository $economicRepositoryTypeRepository $typeRepository)
  114.     {
  115.         $type $typeRepository->findByNom('Economic');
  116.         
  117.         return $this->render('default/economic.html.twig',[
  118.             'economics' => $economicRepository->findBy(array('type'=>$type),array('id'=>'DESC')),
  119.             'activity_contents' => $activityContentRepository->findOneByType('economic'),
  120.             'header_images' => $headerImageRepository->findOneByPage('economic')
  121.             ]);
  122.     }
  123.     /**
  124.      * @Route("/equal", name="equal")
  125.      */
  126.     public function equal(ActivityContentRepository $activityContentRepositoryHeaderImageRepository $headerImageRepositoryRealisationRepository $equalRepositoryTypeRepository $typeRepository)
  127.     {
  128.         $type $typeRepository->findByNom('Equal');
  129.         
  130.         return $this->render('default/equal.html.twig',[
  131.             'equals' => $equalRepository->findBy(array('type'=>$type),array('id'=>'DESC')),
  132.             'header_images' => $headerImageRepository->findOneByPage('equal'),
  133.             'activity_contents' => $activityContentRepository->findOneByType('equal')
  134.             ]);
  135.     }
  136.     /**
  137.      * @Route("/event", name="event")
  138.      */
  139.     public function event(HeaderImageRepository $headerImageRepositoryEventRepository $eventRepository)
  140.     {
  141.         
  142.         return $this->render('default/event.html.twig',[
  143.             'events' => $eventRepository->findBy(array(),array('id'=>'DESC')),
  144.             'header_images' => $headerImageRepository->findOneByPage('event')
  145.             ]);
  146.     }
  147.     /**
  148.      * @Route("/gallery", name="gallery")
  149.      */
  150.     public function gallery(HeaderImageRepository $headerImageRepositoryGalleryRepository $gallery)
  151.     {
  152.         
  153.         return $this->render('default/gallery.html.twig',[
  154.             'galeries' => $gallery->findBy(array(),array('id'=>'DESC')),
  155.             'header_images' => $headerImageRepository->findOneByPage('gallery')
  156.             ]);
  157.     }
  158.     /**
  159.      * @Route("/donation", name="donation")
  160.      */
  161.     public function donation(HeaderImageRepository $headerImageRepository)
  162.     {
  163.         
  164.         return $this->render('default/donation.html.twig',[
  165.             'header_images' => $headerImageRepository->findOneByPage('donation')
  166.         ]);
  167.     }
  168.     /**
  169.      * @Route("/documents", name="documents")
  170.      */
  171.     public function document(DocumentRepository $documentRepositoryHeaderImageRepository $headerImageRepository)
  172.     {
  173.         return $this->render('default/document.html.twig',[
  174.             'header_images' => $headerImageRepository->findOneByPage('document'),
  175.             'documents' => $documentRepository->findAll(),
  176.         ]);
  177.     }
  178.     /**
  179.      * @Route("/youth", name="youth")
  180.      */
  181.     public function youthAct(ActivityContentRepository $activityContentRepository,HeaderImageRepository $headerImageRepositoryRealisationRepository $youthRepositoryTypeRepository $typeRepository)
  182.     {
  183.         $type $typeRepository->findByNom('Youth');
  184.         
  185.         return $this->render('default/youth.html.twig',[
  186.             'youths' => $youthRepository->findBy(array('type'=>$type),array('id'=>'DESC')),
  187.             'header_images' => $headerImageRepository->findOneByPage('youth'),
  188.             'activity_contents' => $activityContentRepository->findOneByType('youth')
  189.             ]);
  190.     }
  191.     /**
  192.      * @Route("/event/{id}", name="show_event", methods={"GET"})
  193.      */
  194.     public function showEvent(HeaderImageRepository $headerImageRepositoryEvent $event): Response
  195.     {
  196.         return $this->render('default/event-show.html.twig', [
  197.             'event' => $event,
  198.             'header_images' => $headerImageRepository->findOneByPage('event_detail')
  199.         ]);
  200.     }
  201.     /**
  202.      * @Route("/youth/{id}", name="show_youth", methods={"GET"})
  203.      */
  204.     public function showYouth(HeaderImageRepository $headerImageRepositoryRealisation $event): Response
  205.     {
  206.         return $this->render('default/youth-show.html.twig', [
  207.             'event' => $event,
  208.             'header_images' => $headerImageRepository->findOneByPage('youth_detail')
  209.         ]);
  210.     }
  211.     /**
  212.      * @Route("/equal/{id}", name="show_equal", methods={"GET"})
  213.      */
  214.     public function showEqual(HeaderImageRepository $headerImageRepositoryRealisation $event): Response
  215.     {
  216.         return $this->render('default/equal-show.html.twig', [
  217.             'event' => $event,
  218.             'header_images' => $headerImageRepository->findOneByPage('equal_detail')
  219.         ]);
  220.     }
  221.     /**
  222.      * @Route("/economic/{id}", name="show_economic", methods={"GET"})
  223.      */
  224.     public function showEconomic(HeaderImageRepository $headerImageRepositoryRealisation $event): Response
  225.     {
  226.         return $this->render('default/economic-show.html.twig', [
  227.             'event' => $event,
  228.             'header_images' => $headerImageRepository->findOneByPage('economic_detail')
  229.         ]);
  230.     }
  231.     /**
  232.      * @Route("/realisation/{id}", name="show_realisation", methods={"GET"})
  233.      */
  234.     public function showRealisation(HeaderImageRepository $headerImageRepositoryRealisation $event): Response
  235.     {
  236.         return $this->render('default/realisation-show.html.twig', [
  237.             'event' => $event,
  238.             'header_images' => $headerImageRepository->findOneByPage('realisation_detail')
  239.         ]);
  240.     }
  241.     public function aboutheader()
  242.     {   
  243.         return $this->render('default/header_ab.html.twig');
  244.     }
  245.     public function newsletterblock()
  246.     {   
  247.         return $this->render('default/block-newsletter.html.twig');
  248.     }
  249.     public function contactheader()
  250.     {   
  251.         return $this->render('default/header_con.html.twig');
  252.     }
  253.     public function activiteheader()
  254.     {   
  255.         return $this->render('default/header_act.html.twig');
  256.     }
  257.     public function eventheader()
  258.     {   
  259.         return $this->render('default/header_event.html.twig');
  260.     }
  261.     public function youthheader()
  262.     {   
  263.         return $this->render('default/header_youth.html.twig');
  264.     }
  265.     /**
  266.      * @Route("/newletter", name="newslatters_new", methods={"GET","POST"})
  267.      */
  268.     public function new(Request $request): Response
  269.     {
  270.         $newslatter = new Newsletter();
  271.         if ($request->query->get('email') != null) {
  272.             $newslatter->setEmail($request->query->get('email'));
  273.             $entityManager $this->getDoctrine()->getManager();
  274.             $entityManager->persist($newslatter);
  275.             $entityManager->flush();
  276.             return $this->redirectToRoute('default');
  277.         }
  278.         
  279.     }
  280.     /**
  281.      * @Route("/rech", name="activity_rech")
  282.      */
  283.     public function rechRealisationRepository $realisationRepository ,  Request $request): Response
  284.     {
  285.         //$search = new SearchData();
  286.        // $form = $this->createForm(SearchForm::class);
  287.        // $form->handleRequest($request);
  288.         
  289.         if ($request->query->get('rech') != null){
  290.             
  291.         $realisations $realisationRepository->createQueryBuilder('r')
  292.             ->andwhere('r.titre LIKE :name')
  293.             ->setParameter('name''%'.$request->query->get('rech').'%');
  294.             // Paginate the results of the query
  295.             
  296.         return $this->render('default/resultat.html.twig', [
  297.             'equals' => $realisations->getQuery()->getResult(),
  298.         ]);
  299.         }
  300.     }
  301.     /**
  302.      * @Route("/new", name="langage_change", methods={"GET","POST"})
  303.      */
  304.     public function langage(Request $request)
  305.     {
  306.        // dd($request->query->get('langue'));
  307.         
  308.         if ($request->query->get('langue') != null)
  309.         $this->session->set('_locale'$request->query->get('langue') );
  310.         $url $request->headers->get('referer');
  311.         if (empty($url)) {
  312.             $url $this->container->get('router')->generate('default');
  313.         }
  314.         return $this->redirect($url);
  315.     }
  316.     /**
  317.      * @Route("/fr", name="langue_fr", methods={"GET","POST"})
  318.      */
  319.     public function langageFr(Request $request)
  320.     {
  321.        // dd($request->query->get('langue'));
  322.         
  323.         $this->session->set('_locale''fr' );
  324.         $url $request->headers->get('referer');
  325.         if (empty($url)) {
  326.             $url $this->container->get('router')->generate('default');
  327.         }
  328.         return $this->redirect($url);
  329.     }
  330.     /**
  331.      * @Route("/en", name="langue_en", methods={"GET","POST"})
  332.      */
  333.     public function langageEn(Request $request)
  334.     {
  335.        // dd($request->query->get('langue'));
  336.         
  337.         $this->session->set('_locale''en' );
  338.         $url $request->headers->get('referer');
  339.         if (empty($url)) {
  340.             $url $this->container->get('router')->generate('default');
  341.         }
  342.         return $this->redirect($url);
  343.     }
  344.     /**
  345.      * @Route("/ar", name="langue_ar", methods={"GET","POST"})
  346.      */
  347.     public function langageAr(Request $request)
  348.     {
  349.        // dd($request->query->get('langue'));
  350.         
  351.         $this->session->set('_locale''ar' );
  352.         $url $request->headers->get('referer');
  353.         if (empty($url)) {
  354.             $url $this->container->get('router')->generate('default');
  355.         }
  356.         return $this->redirect($url);
  357.     }
  358. }