Linux SRV-16 6.18.44-paas #1 SMP PREEMPT_DYNAMIC Thu Aug 13 10:08:12 UTC 2026 x86_64
/
srv
/
data
/
trash
/
vhost_www.bachtale.com_1719306535
/
htdocs
/
src
/
Controller
/
Front
/
/srv/data/trash/vhost_www.bachtale.com_1719306535/htdocs/src/Controller/Front/PagesController.php
<?php namespace App\Controller\Front; use App\Entity\Page; use App\Entity\Newsletter; use App\Form\NewsletterType; use App\Repository\SliderRepository; use App\Repository\CategoryRepository; use App\Repository\NewsletterRepository; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Annotation\Route; use App\Repository\CollectionJewelleryRepository; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; class PagesController extends AbstractController { /** * @Route("/", name="home") */ public function index(SliderRepository $sliderRepository, CategoryRepository $categoryRepository, CollectionJewelleryRepository $collectionJewelleryRepository): Response { return $this->render('front/pages/index.html.twig', [ 'slug' =>'home', 'sliders' => $sliderRepository->findBy(['isActive' => true], ['updatedAt' => 'ASC']), 'categories' => $categoryRepository->findBy([], ['updatedAt' => 'ASC']), 'collections' => $collectionJewelleryRepository->findBy(['isActive' => true, 'isHome' => true], ['updatedAt' => 'ASC']), ]); } /** * @Route("/{id}/{title}", name="page_read", methods="GET" , requirements={"id"="\d+"}) */ public function read(Page $page): Response { return $this->render('front/pages/read.html.twig', [ 'page' => $page, 'slug'=>'page', ]); } /** * @Route("/newsletter", name="newsletter", methods="POST") */ public function newsletter(Request $request, NewsletterRepository $newsletterRepository): Response { $newsletter = new Newsletter; $form = $this->createForm(NewsletterType::class, $newsletter, [ 'action' => $this->get('router')->generate('newsletter'), ]); $form->handleRequest($request); $msg1 = 'Inscription à la newsletter prise en compte!'; $msg2 = 'L\'email indiqué est déja enregistré !'; $msg3 = 'Erreur! Inscription à la newsletter non prise en compte! Veuillez réessayer!'; if ($form->isSubmitted() && $form->isValid()) { $em = $this->getDoctrine()->getManager(); $em->persist($newsletter); $em->flush(); $this->addFlash('success', $msg1); return $this->redirectToRoute('home'); } if ($form->isSubmitted() && !$form->isValid()) { $email = $newsletter->getEmail(); $isEmail = $newsletterRepository->findOneBy(['email' => $email]); if (!empty($isEmail)) { $this->addFlash('danger', $msg2); return $this->redirectToRoute('home'); } $this->addFlash('danger', $msg3); return $this->redirectToRoute('home'); } return $this->render('front/block/_newsletter.html.twig', [ 'slug' =>'home', 'form' => $form->createView(), ]); } }