src/Controller/Front/AgenceController.php line 321

Open in your IDE?
  1. <?php
  2. namespace App\Controller\Front;
  3. use App\Entity\Blog;
  4. use App\Entity\ContactEbook;
  5. use App\Entity\ContactEbookComptatech;
  6. use App\Entity\ContactEbookDecMotiv;
  7. use App\Entity\ContactEbookEnsemble;
  8. use App\Entity\Outil;
  9. use App\Entity\WebinaireEcf;
  10. use App\Entity\WebinaireEcfContact;
  11. use App\Form\AuditWebinaireEcfType;
  12. use App\Form\AuditMisterIAType;
  13. use App\Form\ContactEbookComptatechType;
  14. use App\Form\ContactEbookDecMotivType;
  15. use App\Form\ContactEbookEnsembleType;
  16. use App\Form\ContactEbookType;
  17. use App\Form\WebinaireEcfContactType;
  18. use App\Repository\NewsletterRepository;
  19. use App\Repository\WebinaireEcfContactRepository;
  20. use App\Service\Mail;
  21. use App\Entity\Newsletter;
  22. use App\Entity\Simulateur;
  23. use App\Form\SimulateurType;
  24. use App\Entity\ActualiteDuMois;
  25. use App\Form\ActualiteDuMoisType;
  26. use App\Repository\BlogRepository;
  27. use App\Repository\OutilRepository;
  28. use App\Repository\RealisationRepository;
  29. use App\Entity\WebinaireContact;
  30. use Doctrine\ORM\EntityManagerInterface;
  31. use Symfony\Component\HttpFoundation\JsonResponse;
  32. use Symfony\Component\HttpFoundation\Request;
  33. use Symfony\Component\HttpFoundation\Response;
  34. use Symfony\Component\Routing\Annotation\Route;
  35. use App\Controller\Front\AbstractFrontController;
  36. use App\Entity\AppelleTonEC;
  37. use App\Entity\Audit;
  38. use App\Entity\Cabinet;
  39. use App\Entity\ContactBesoins;
  40. use App\Entity\ContactPodcast;
  41. use App\Entity\EmailAccessWebinaire;
  42. use App\Entity\ModulePopup;
  43. use App\Entity\ModuleVideo;
  44. use App\Entity\NewsletterDuMois;
  45. use App\Entity\NotifPodcast;
  46. use App\Entity\Parrainage;
  47. use App\Entity\Webinaire;
  48. use App\Form\AppelleTonECType;
  49. use App\Form\AuditType;
  50. use App\Form\AuditLinkedinType;
  51. use App\Form\CabinetType;
  52. use App\Form\ContactBesoinsType;
  53. use App\Form\EmailAccessWebinaireType;
  54. use App\Form\NewsletterDuMoisType;
  55. use App\Form\ParrainageType;
  56. use App\Form\PlaceExpertContactType;
  57. use App\Form\PodcastContactType;
  58. use App\Form\WebinaireContactType;
  59. use App\Repository\EmailAccessWebinaireRepository;
  60. use App\Repository\ModulePopupRepository;
  61. use App\Repository\ModuleVideoRepository;
  62. use App\Repository\SEOPodcastRepository;
  63. use App\Repository\WebinaireRepository;
  64. use Symfony\Component\HttpFoundation\Cookie;
  65. use Symfony\Component\HttpFoundation\RedirectResponse;
  66. use Twig\Environment;
  67. #[Route('/')]
  68. class AgenceController extends AbstractFrontController
  69. {
  70.     private const CATEGORY_SITE_ID 3;
  71.     #[Route(path'/'name'cjec_landing_page_hosted'host'cjec.lagence.expert')]
  72.     #[Route(path'/cjec-landing'name'cjec_landing_page')]
  73.     public function pageCjec(RealisationRepository $realisationRepository): Response
  74.     {
  75.         return $this->render('Front/cjec/landing-page.html.twig', [
  76.             'title' => "Découvre les offres spéciales CJEC by lagence.expert",
  77.             'realisations' => $realisationRepository->findBy([], ['id' => 'DESC'], 100),
  78.         ]);
  79.     }
  80.     #[Route(path'/'name'ia_landing_page_hosted'host'ia.lagence.expert')]
  81.     #[Route(path'/preview/ia-landing'name'ia_landing_page')]
  82.     public function pageIa(RealisationRepository $realisationRepository): Response
  83.     {
  84.         return $this->render('Front/ia/landing-page.html.twig', [
  85.             'title' => "IA - l'agence des Experts-comptables",
  86.             'realisations' => $realisationRepository->findBy([], ['id' => 'DESC'], 100),
  87.         ]);
  88.     }
  89.     #[Route(path'/'name'cdpr_landing_page_hosted'host'cdpr.lagence.expert')]
  90.     #[Route(path'/preview/cdpr-landing'name'cdpr_landing_page')]
  91.     public function pageCdpr(RealisationRepository $realisationRepository): Response
  92.     {
  93.         return $this->render('Front/cdpr/landing-page.html.twig', [
  94.             'title' => "L'Agence des Experts-Comptables - Partenaire CDPR",
  95.             'realisations' => $realisationRepository->findBy([], ['id' => 'DESC'], 100),
  96.         ]);
  97.     }
  98.     #[Route(path'/'name'ecf_landing_page_hosted'host'ecf.lagence.expert')]
  99.     #[Route(path'/preview/ecf-landing'name'ecf_landing_page')]
  100.     public function pageEcf(RealisationRepository $realisationRepository): Response
  101.     {
  102.         return $this->render('Front/ecf/landing-page.html.twig', [
  103.             'title' => "Découvre les offres spéciales CJEC by lagence.expert",
  104.             'realisations' => $realisationRepository->findBy([], ['id' => 'DESC'], 100),
  105.         ]);
  106.     }
  107.     #[Route(path'/'name'epa_landing_page_hosted'host'epa.lagence.expert')]
  108.     #[Route(path'/preview/epa-landing'name'epa_landing_page')]
  109.     public function pageEpa(RealisationRepository $realisationRepository): Response
  110.     {
  111.         return $this->render('Front/epa/landing-page.html.twig', [
  112.             'title' => "Découvre les offres spéciales CJEC by lagence.expert",
  113.             'realisations' => $realisationRepository->findBy([], ['id' => 'DESC'], 100),
  114.         ]);
  115.     }
  116.     #[Route(path'/'name'ifec_landing_page_hosted'host'ifec.lagence.expert')]
  117.     #[Route(path'/preview/ifec-landing'name'ifec_landing_page')]
  118.     public function pageIfec(RealisationRepository $realisationRepository): Response
  119.     {
  120.         return $this->render('Front/ifec/landing-page.html.twig', [
  121.             'title' => "Découvre les offres spéciales CJEC by lagence.expert",
  122.             'realisations' => $realisationRepository->findBy([], ['id' => 'DESC'], 100),
  123.         ]);
  124.     }
  125.     #[Route(path'/fidelisation'name'fidelisation_landing_page')]
  126.     public function pageFidelisation(): Response
  127.     {
  128.         return $this->render('Front/fidelisation/index.html.twig', [
  129.             'title' => "Fidélisation - Pack de Bienvenue | l'agence des Experts-comptables",
  130.         ]);
  131.     }
  132.     #[Route(path'/'name'objectifdec_landing_page_hosted'host'objectifdec.lagence.expert')]
  133.     #[Route(path'/preview/objectifdec-landing'name'objectifdec_landing_page')]
  134.     public function pageObjectifDec(RealisationRepository $realisationRepository): Response
  135.     {
  136.         return $this->render('Front/objectif-dec/landing-page.html.twig', [
  137.             'title' => "Découvre les offres spéciales CJEC by lagence.expert",
  138.             'realisations' => $realisationRepository->findBy([], ['id' => 'DESC'], 100),
  139.         ]);
  140.     }
  141.     #[Route(path'/'name'decmotiv_landing_page_hosted'host'decmotiv.lagence.expert')]
  142.     #[Route(path'/preview/decmotiv-landing'name'decmotiv_landing_page')]
  143.     public function pageDecmotiv(RealisationRepository $realisationRepository): Response
  144.     {
  145.         return $this->render('Front/decmotiv/landing-page.html.twig', [
  146.             'title' => "Découvre les offres spéciales CJEC by lagence.expert",
  147.             'realisations' => $realisationRepository->findBy([], ['id' => 'DESC'], 100),
  148.         ]);
  149.     }
  150.     #[Route(''name'home')]
  151.     public function index(Request $requestRealisationRepository $realisationRepositoryBlogRepository $blogRepositoryModulePopupRepository $modulePopupRepository): Response
  152.     {
  153.         return $this->render('Front/home/index.html.twig', [
  154.             'title' => 'Accueil',
  155.             'realisations' => $realisationRepository->findBy([], ['id' => 'DESC'], 120),
  156.             'blogs' => $blogRepository->findBy([], [], 30),
  157.             'module_popup' => $modulePopupRepository->findActive(),
  158.         ]);
  159.     }
  160.     #[Route('/lagence-des-experts-comptables'name'agence')]
  161.     public function agence(Request $request): Response
  162.     {
  163.         return $this->render('Front/agence/index.html.twig', [
  164.             'title' => "L'agence des experts comptables",
  165.         ]);
  166.     }
  167.     #[Route('/contact'name'contact')]
  168.     public function contact(Request $request): Response
  169.     {
  170.         return $this->render('Front/contact/index.html.twig', [
  171.             'title' => "L'agence des experts comptables - Contact",
  172.         ]);
  173.     }
  174.     #[Route('/identite-visuelle'name'identite-visuelle')]
  175.     public function identiteVisuelle(Request $requestRealisationRepository $realisationRepositoryBlogRepository $blogRepository): Response
  176.     {
  177.         return $this->render('Front/communiquer/identitevisuelle.html.twig', [
  178.             'title' => "Identité Visuelle",
  179.             'realisations' => $realisationRepository->findByCategoryName('Identité visuelle'),
  180.             'blogs' => $blogRepository->findBy([], [], 30)
  181.         ]);
  182.     }
  183.     #[Route('/print'name'print')]
  184.     public function print(Request $requestRealisationRepository $realisationRepositoryBlogRepository $blogRepository): Response
  185.     {
  186.         return $this->render('Front/communiquer/print.html.twig', [
  187.             'title' => "Print",
  188.             'realisations' => $realisationRepository->findByCategoryName('Print'),
  189.             'blogs' => $blogRepository->findBy([], [], 30)
  190.         ]);
  191.     }
  192.     #[Route('/site-internet'name'site-internetOld')]
  193.     public function siteInternetOld(): Response
  194.     {
  195.         return $this->redirectToRoute('site-internet');
  196.     }
  197.     #[Route('/creation-site-internet-expert-comptable'name'site-internet')]
  198.     public function siteInternet(Request $requestRealisationRepository $realisationRepositoryBlogRepository $blogRepository): Response
  199.     {
  200.         return $this->render('Front/communiquer/siteinternet.html.twig', [
  201.             'title' => "Création site Internet Expert-comptable",
  202.             'realisations' => $realisationRepository->findByCategoryName('Site internet'),
  203.             'blogs' => $blogRepository->findBy([], [], 30)
  204.         ]);
  205.     }
  206.     #[Route('/visibilite'name'visibilite')]
  207.     public function visibilite(Request $requestBlogRepository $blogRepository): Response
  208.     {
  209.         return $this->render('Front/communiquer/visibilite.html.twig', [
  210.             'title' => "Visibilité",
  211.             'blogs' => $blogRepository->findBy([], [], 30)
  212.         ]);
  213.     }
  214.     #[Route('/realisations'name'realisations')]
  215.     public function realisations(): Response
  216.     {
  217.         return $this->render('Front/realisations/index.html.twig', [
  218.             'title' => "Realisations",
  219.         ]);
  220.     }
  221.     #[Route('/partenaires/{id<[0-9]+>}'name'singlePartenaire')]
  222.     public function singlePartner(OutilRepository $outilRepositoryRequest $requestOutil $outil): Response
  223.     {
  224.         $outils $outilRepository->findBy([], ['updatedAt' => 'DESC']);
  225.         return $this->render('Front/outils/detail.html.twig', [
  226.             'title' => "Outils",
  227.             'outils' => $outils,
  228.             'outilSingle' => $outil,
  229.         ]);
  230.     }
  231.     #[Route('/partenaires'name'partenaires')]
  232.     public function partenaires(OutilRepository $outilRepositoryRequest $request): Response
  233.     {
  234.         $outils $outilRepository->findBy([], ['updatedAt' => 'DESC']);
  235.         return $this->render('Front/outils/index.html.twig', [
  236.             'title' => "Outils",
  237.             'outils' => $outils,
  238.         ]);
  239.     }
  240.     #[Route('/commerciale'name'commerciale')]
  241.     public function commerciale(Request $requestBlogRepository $blogRepository): Response
  242.     {
  243.         return $this->render('Front/developper/commerciale.html.twig', [
  244.             'title' => "Commerciale",
  245.             'blogs' => $blogRepository->findBy([], [], 30)
  246.         ]);
  247.     }
  248.     #[Route('/blog'name'blog_list'methods: ['GET'])]
  249.     public function blogList(Request $requestBlogRepository $blogRepository): Response
  250.     {
  251.         // Récupère offset depuis l’URL : ?offset=9 par exemple
  252.         $offset max(0, (int) $request->query->get('offset'0));
  253.         $limit 9;
  254.         $blogs $blogRepository->findBy([], ['id' => 'DESC'], $limit$offset);
  255.         return $this->render('Front/blog/list.html.twig', [
  256.             'blogs' => $blogs,
  257.             'offset' => $offset,
  258.             'limit' => $limit,
  259.             // utile plus tard pour savoir s'il reste des articles
  260.             'hasMore' => count($blogs) === $limit
  261.         ]);
  262.     }
  263.     #[Route('/blog/load-more'name'blog_load_more'methods: ['GET'])]
  264.     public function loadMore(Request $requestBlogRepository $blogRepository): JsonResponse
  265.     {
  266.         $offset max(0, (int) $request->query->get('offset'0));
  267.         $limit 9;
  268.         $blogs $blogRepository->findBy([], ['id' => 'DESC'], $limit$offset);
  269.         // On construit les données JSON pour JS
  270.         $data = [];
  271.         foreach ($blogs as $blog) {
  272.             $data[] = [
  273.                 'id' => $blog->getId(),
  274.                 'title' => $blog->getTitle(),
  275.                 'image' => '/uploads/blogs/images/' $blog->getImageName(),
  276.                 'url' => $this->generateUrl('singleBlog', ['id' => $blog->getId()])
  277.             ];
  278.         }
  279.         return new JsonResponse([
  280.             'blogs' => $data,
  281.             'hasMore' => count($blogs) === $limit
  282.         ]);
  283.     }
  284.     #[Route('/blog/{id<[0-9]+>}'name'singleBlog')]
  285.     public function singleBlog(Request $requestBlog $blogBlogRepository $blogRepository): Response
  286.     {
  287.         $blogs $blogRepository->findBy([], [], 50);
  288.         $slug $blog->getSlug();
  289.         return $this->redirectToRoute('singleBlogNew', ['Slug' => $slug]);
  290.         // return $this->render('Front/blog/single.html.twig', [
  291.         //     'title' => $blog->getTitle(),
  292.         //     'blogs' => $blogs,
  293.         //     'singleBlog' => $blog
  294.         // ]);
  295.     }
  296.     #[Route('/blog/{Slug}'name'singleBlogNew'methods: ['GET'])]
  297.     public function singleBlogNew(string $SlugRequest $requestBlog $blogBlogRepository $blogRepository): Response
  298.     {
  299.         // $blogsOld = $blogRepository->findBy([], [], 5, 0);
  300.         // $blogs = $blogRepository->findOneBy(['Slug' => $slug]);
  301.         $blogs $blogRepository->findOneBy(['Slug' => $Slug]);
  302.         // dd($blogs);
  303.         return $this->render('Front/blog/single.html.twig', [
  304.             'title' => $blog->getTitle(),
  305.             'blogs' => $blogs,
  306.             // 'blogsOld' => $blogsOld,
  307.             'singleBlog' => $blog
  308.         ]);
  309.     }
  310.     #[Route('/communiquer'name'communiquer')]
  311.     public function communiquer(Request $requestBlogRepository $blogRepositoryRealisationRepository $realisationRepository): Response
  312.     {
  313.         return $this->render('Front/home/communiquer.html.twig', [
  314.             'title' => "Communiquer",
  315.             'blogs' => $blogRepository->findBy([], [], 30),
  316.             'realisations' => $realisationRepository->findBy([], ['id' => 'DESC'], 120),
  317.         ]);
  318.     }
  319.     #[Route('/mentions-legales'name'mentionsLegales')]
  320.     public function mentionsLegales(Request $request): Response
  321.     {
  322.         return $this->render('Front/legal/mentions-legales.html.twig', [
  323.             'title' => "Mentions légales",
  324.         ]);
  325.     }
  326.     #[Route('/politique-confidentialite'name'politiqueConfidentialite')]
  327.     public function politiqueConfidentialite(Request $request): Response
  328.     {
  329.         return $this->render('Front/legal/politique-confidentialite.html.twig', [
  330.             'title' => "Politique de confidentialité",
  331.         ]);
  332.     }
  333.     #[Route('/widget'name'widget-page')]
  334.     #[Route('/widget-actualite-du-mois 'name'widget-actu')]
  335.     public function widgetActu(Request $request): Response
  336.     {
  337.         return $this->render('Front/widget/actualite-du-mois.html.twig', [
  338.             'title' => "Actualité du mois",
  339.         ]);
  340.     }
  341.     #[Route('/widget-simulateur'name'widget-simu')]
  342.     public function widgetSimu(Request $request): Response
  343.     {
  344.         return $this->render('Front/widget/simulateur.html.twig', [
  345.             'title' => "Simulateur",
  346.         ]);
  347.     }
  348.     #[Route('/widget-evenement'name'widget-evenement')]
  349.     public function widgetEvenement(Request $request): Response
  350.     {
  351.         return $this->render('Front/widget/evenement.html.twig', [
  352.             'title' => "évenements",
  353.         ]);
  354.     }
  355.     #[Route('/widget-parrainage'name'widget-parrainage')]
  356.     public function widgetParrainage(Request $request): Response
  357.     {
  358.         return $this->render('Front/widget/parrainage.html.twig', [
  359.             'title' => "Parrainage",
  360.         ]);
  361.     }
  362.     #[Route('/widget-satisfaction'name'widget-satisfaction')]
  363.     public function widgetSatisfaction(Request $request): Response
  364.     {
  365.         return $this->render('Front/widget/satisfaction.html.twig', [
  366.             'title' => "Parrainage",
  367.         ]);
  368.     }
  369.     #[Route('/widget-rgpd'name'widget-rgpd')]
  370.     public function widgetRgpd(Request $request): Response
  371.     {
  372.         return $this->render('Front/widget/rgpd.html.twig', [
  373.             'title' => "Rgpd",
  374.         ]);
  375.     }
  376.     #[Route('/podcast/share/{slug}-{id}'name'widget-podcast-share')]
  377.     public function widgetPodcastShare(Request $requeststring $slugint $id): Response
  378.     {
  379.         $tokens = [];
  380.         $token[0] = "8bhb2xwexprgxmnv1umkwttfxnnfufqlloogn3fo";  //DEFAULT
  381.         $token[1] =  "2z3zc1eyeek3s4bt2jn18w1pu36ukkt5hdtok60v";
  382.         $token[2] =  "t9nfdz02y7cllng0bmezg0jezaeuldyncqppt5ed";
  383.         $token[3] =  "wt66y9xn89h70nnhd3o8im0vzycihn62j9bvjmfk";
  384.         $token[4] =  "s7890utzqirfzeexkepx15bthdxbuxwbb88nb8qd";
  385.         $token[5] =  "2tzvx99fz7bthzvglrnkllyeh8raug54albvabd9";
  386.         $token[6] =  "28r9uq3ddgfxkr1c9zrf08dmtykbydfsf7r8wbt8";
  387.         $token[7] =  "obgj5nnte1m9ijb5oa4zmdg4n7bimcaof1fdpng0";
  388.         $token[8] =  "1i43uha4nodl5kqf4aa35db4c6y9o3k0jp5dzx00";
  389.         $token[9] =  "gdkhlxjkh0aijhd98g1kks7s19aae8l8lmbar8jw";
  390.         $token[10] = "ol9xt217no3xqroh1gsv8h2y9nhdagq4rafl6bml";
  391.         $token[11] = "bid1jp0si74t8hm2bj16knngbc7byq1b2jn71zso";
  392.         $token[12] = "yko0bcx0iysfqi0m5r72c9zcvvw0gd4wgehcenj5";
  393.         $token[13] = "ujg8dksz48bxa0fdjdep2gsf2x2dztjdrvma6z5a";
  394.         $token[14] = "xhvrgq3f46hisaoaq2mdw3v2vekashito87b2zk4";
  395.         $token[15] = "8bhb2xwexprgxmnv1umkwttfxnnfufqlloogn3fo";
  396.         $token[16] = "q2w5gjiyrglraj8h99179xmsoeyz7zkapl6zvwl6";
  397.         $token[17] = "6b70dauw9a41hppsixyd7oqc6b3ic67cmw3lamln";
  398.         $token[18] = "c7j6q8j6gsf9s2mmdfvb3biprayw80twohhgmulp";
  399.         $token[19] = "cfgxhtqsqmv2v2jg1t28h9s6rz155rmkyyb6c4e8";
  400.         $keys = [];
  401.         $keys[0] = 1;
  402.         $keys[1] = 1;
  403.         $keys[2] = 2;
  404.         $keys[3] = 3;
  405.         $keys[4] = 4;
  406.         $keys[5] = 5;
  407.         $keys[6] = 6;
  408.         $keys[7] = 7;
  409.         $keys[8] = 8;
  410.         $keys[9] = 9;
  411.         $keys[10] = 10;
  412.         $keys[11] = 11;
  413.         $keys[12] = 12;
  414.         $keys[13] = 13;
  415.         $keys[14] = 14;
  416.         $keys[15] = 15;
  417.         $keys[16] = 16;
  418.         $keys[17] = 17;
  419.         $keys[18] = 18;
  420.         $keys[19] = 21;
  421.         if (isset($token[$id]) && !is_null($token[$id])) {
  422.             $rToken $token[$id];
  423.         } else {
  424.             $rToken $token[0];
  425.         }
  426.         if (isset($keys[$id]) && !is_null($keys[$id])) {
  427.             $rKey $keys[$id];
  428.         } else {
  429.             $rKey $keys[0];
  430.         }
  431.         return $this->render('Front/widget/podcastShare.html.twig', [
  432.             'title' => "Podcast",
  433.             'token' => $rToken,
  434.             'podId' => $rKey,
  435.         ]);
  436.     }
  437.     #[Route('/ressources-humaines'name'rh')]
  438.     public function rh(): Response
  439.     {
  440.         return $this->redirectToRoute('home', [], 301);
  441. //        $audit = new Audit();
  442. //        $form_audit = $this->createForm(AuditType::class, $audit);
  443. //        $form_audit->handleRequest($this->request->getCurrentRequest());
  444. //        if ($form_audit->isSubmitted() && $form_audit->isValid()) {
  445. //            if (isset($_COOKIE['afid'])) {
  446. //                // Récupère la valeur du cookie 'afid'
  447. //                $afidValue = $_COOKIE['afid'];
  448. //                $audit->setAfid($afidValue);
  449. //            }
  450. //            $this->em->persist($audit);
  451. //            $this->em->flush();
  452. //
  453. //            $email = new Mail();
  454. //            $email->sendRh($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage());
  455. //            $email->sendRhToRudy($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
  456. //            $email->sendToUserRh($audit->getName(), $audit->getEmail());
  457. //
  458. //            $this->addFlash('success', 'Votre message a bien été envoyé');
  459. //        }
  460. //        return $this->render('Front/deleguer/rh.html.twig', [
  461. //            'title' => "Ressources Humaines",
  462. //            'formRh' => $form_audit->createView(),
  463. //            'formRh2' => $form_audit->createView(),
  464. //        ]);
  465.     }
  466.     #[Route('/rgpd'name'rgpd')]
  467.     public function rgpd2(): Response
  468.     {
  469.         $audit = new Audit();
  470.         $form_audit $this->createForm(AuditType::class, $audit);
  471.         $form_audit->handleRequest($this->request->getCurrentRequest());
  472.         if ($form_audit->isSubmitted() && $form_audit->isValid()) {
  473.             if (isset($_COOKIE['afid'])) {
  474.                 // Récupère la valeur du cookie 'afid'
  475.                 $afidValue $_COOKIE['afid'];
  476.                 $audit->setAfid($afidValue);
  477.             }
  478.             $this->em->persist($audit);
  479.             $this->em->flush();
  480.             $this->saveAsNewsletter($audit->getName(), $audit->getEmail());
  481.             $email = new Mail();
  482.             $email->sendRgpd($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
  483.             $email->sendToUserRgpd($audit->getName(), $audit->getEmail());
  484.             $this->addFlash('success''Votre message a bien été envoyé');
  485.         }
  486.         return $this->render('Front/deleguer/rgpd2.html.twig', [
  487.             'title' => "RGPD",
  488.             'formRh' => $form_audit->createView(),
  489.             'formRh2' => $form_audit->createView(),
  490.         ]);
  491.     }
  492.     #[Route('/appel-ton-expert'name'appelEC')]
  493.     public function appelEC(): Response
  494.     {
  495.         return $this->render('Front/appelEC/index.html.twig', [
  496.             'title' => "Appel ton Expert-comtable"
  497.         ]);
  498.     }
  499.     #[Route('/webinaire/{id<[0-9]+>}'name'webinaire')]
  500.     public function webinaire(Webinaire $webinaireWebinaireRepository $webinaireRepositoryRequest $requestEmailAccessWebinaireRepository $emailAccessWebinaireRepository): Response
  501.     {
  502.         $webinaires $webinaireRepository->findAll();
  503.         $emailAccess = new EmailAccessWebinaire;
  504.         $formEmailAccess $this->createForm(EmailAccessWebinaireType::class, $emailAccess);
  505.         $formEmailAccess->handleRequest($request);
  506.         if ($formEmailAccess->isSubmitted() && $formEmailAccess->isValid()) {
  507.             if (!$emailAccessWebinaireRepository->findBy(['email' => $emailAccess->getEmail()])) {
  508.                 if (isset($_COOKIE['afid'])) {
  509.                     // Récupère la valeur du cookie 'afid'
  510.                     $afidValue $_COOKIE['afid'];
  511.                     $emailAccess->setAfid($afidValue);
  512.                 }
  513.                 $this->em->persist($emailAccess);
  514.                 $this->em->flush();
  515.             }
  516.             $this->saveAsNewsletter($emailAccess->getNom(), $emailAccess->getEmail());
  517.             if ($request->getHttpHost() === "127.0.0.1:8000") {
  518.                 $domain "127.0.0.1";
  519.             } else {
  520.                 $domain $request->getHttpHost();
  521.             }
  522.             $cookie Cookie::create('accessWebinaire')
  523.                 ->withValue('true')
  524.                 ->withExpires(time() + (10 365 24 60 60))
  525.                 ->withDomain($domain)
  526.                 ->withSecure(true);
  527.             $response = new Response();
  528.             $response->headers->setCookie($cookie);
  529.             $response->sendHeaders();
  530.         }
  531.         $webinaireContact = new WebinaireContact;
  532.         $formWebinaireContact $this->createForm(WebinaireContactType::class, $webinaireContact);
  533.         if ($formWebinaireContact->isSubmitted() && $formWebinaireContact->isValid()) {
  534.             if (isset($_COOKIE['afid'])) {
  535.                 // Récupère la valeur du cookie 'afid'
  536.                 $afidValue $_COOKIE['afid'];
  537.                 $webinaireContact->setAfid($afidValue);
  538.             }
  539.             $this->em->persist($webinaireContact);
  540.             $this->em->flush();
  541.             $email = new Mail();
  542.             $email->sendToPartnerWebinaire($webinaireContact->getName(), $webinaire->getEmailPartenaire(), $webinaireContact->getEmail(), $webinaire->getTitle(), $webinaireContact->getNumber(), $webinaireContact->getMessage(), $webinaire->getNamePartenaire());
  543.             $email->sendToPartnerWebinaire($webinaireContact->getName(), "rudy@lagence.expert"$webinaireContact->getEmail(), $webinaire->getTitle(), $webinaireContact->getNumber(), $webinaireContact->getMessage(), $webinaire->getNamePartenaire());
  544.             $email->sendToUserWebinaire($webinaireContact->getName(), $webinaireContact->getEmail(), $webinaire->getNamePartenaire());
  545.             $this->addFlash('success''Votre message a bien été envoyé');
  546.         }
  547.         return $this->render('Front/webinaire/index.html.twig', [
  548.             'title' => "Webinaire",
  549.             'webinaire' => $webinaire,
  550.             'webinaires' => $webinaires,
  551.             'formWebinaire' => $formEmailAccess->createView(),
  552.             'contactWebinaire' => $formWebinaireContact->createView(),
  553.         ]);
  554.     }
  555.     #[Route('/audit'name'webinaire_ecf_audit'host'ecf.lagence.expert')]
  556.     #[Route('/webinaire-ecf/audit'name'webinaire_ecf_audit_preview')]
  557.     public function webinaireEcfAudit(): Response
  558.     {
  559.         $audit = new Audit();
  560.         $form_audit $this->createForm(AuditWebinaireEcfType::class, $audit);
  561.         $form_audit->handleRequest($this->request->getCurrentRequest());
  562.         if ($form_audit->isSubmitted() && $form_audit->isValid()) {
  563.             // add NL
  564.             if (isset($_COOKIE['afid'])) {
  565.                 // Récupère la valeur du cookie 'afid'
  566.                 $afidValue $_COOKIE['afid'];
  567.                 $audit->setAfid($afidValue);
  568.             }
  569.             $this->em->persist($audit);
  570.             $this->em->flush();
  571.             $this->saveAsNewsletter($audit->getName(), $audit->getEmail());
  572.             $email = new Mail();
  573.             $email->send($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
  574.             $email->sendToUserAudit($audit->getName(), $audit->getEmail());
  575.             $this->addFlash('success''Votre message a bien été envoyé');
  576.         }
  577.         return $this->render('Front/webinaire_ecf/audit.html.twig', [
  578.             "form_audit_webinaire_ecf" => $form_audit->createView(),
  579.         ]);
  580.     }
  581.     #[Route('/audit'name'webinaire_dec-motiv_audit'host'decmotiv.lagence.expert')]
  582.     #[Route('/webinaire-decmotiv/audit'name'webinaire_dec-motiv_audit_preview')]
  583.     public function webinairePartnerDecMotivAudit(): Response
  584.     {
  585.         $audit = new Audit();
  586.         $form_audit $this->createForm(AuditWebinaireEcfType::class, $audit);
  587.         $form_audit->handleRequest($this->request->getCurrentRequest());
  588.         if ($form_audit->isSubmitted() && $form_audit->isValid()) {
  589.             // add NL
  590.             if (isset($_COOKIE['afid'])) {
  591.                 // Récupère la valeur du cookie 'afid'
  592.                 $afidValue $_COOKIE['afid'];
  593.                 $audit->setAfid($afidValue);
  594.             }
  595.             $this->em->persist($audit);
  596.             $this->em->flush();
  597.             $this->saveAsNewsletter($audit->getName(), $audit->getEmail());
  598.             $email = new Mail();
  599.             $email->send($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
  600.             $email->sendToUserAudit($audit->getName(), $audit->getEmail());
  601.             $this->addFlash('success''Votre message a bien été envoyé');
  602.         }
  603.         return $this->render('Front/webinaire_ecf/audit_decmotiv.html.twig', [
  604.             "form_audit_webinaire_ecf" => $form_audit->createView(),
  605.         ]);
  606.     }
  607.     #[Route('/{slug}'name'webinaire_partenaire_show'host'ecf.lagence.expert')]
  608.     #[Route('/{slug}'name'webinaire_partenaire_show_decmotiv'host'decmotiv.lagence.expert')]
  609.     #[Route('/webinaires/{slug}'name'webinaire_partenaire_show_preview'priority: -10)]
  610.     public function webinaireEcf(WebinaireEcf $webinaireEnvironment $twigWebinaireEcfContactRepository $webinaireEcfContactRepository): Response
  611.     {
  612.         $contactWebinaire = new WebinaireEcfContact();
  613.         $contactWebinaire->setWebinaireEcf($webinaire);
  614.         $formWebinaireContact $this->createForm(WebinaireEcfContactType::class, $contactWebinaire);
  615.         $formWebinaireContact->handleRequest($this->request->getCurrentRequest());
  616.         if ($formWebinaireContact->isSubmitted() && $formWebinaireContact->isValid()) {
  617.             $existing $webinaireEcfContactRepository->findOneBy([
  618.                 'email' => $contactWebinaire->getEmail(),
  619.                 'webinaireEcf' => $webinaire,
  620.             ]);
  621.             if ($existing) {
  622.                 $this->addFlash('warning''Vous êtes déjà inscrit à ce webinaire avec cet email.');
  623.             } else {
  624.                 $contactWebinaire->setCreatedAt(new \DateTime());
  625.                 $contactWebinaire->setUpdatedAt(new \DateTime());
  626.                 if (isset($_COOKIE['afid'])) {
  627.                     $contactWebinaire->setAfid($_COOKIE['afid']);
  628.                 }
  629.                 $this->em->persist($contactWebinaire);
  630.                 $this->em->flush();
  631.                 $this->saveAsNewsletter($contactWebinaire->getName(), $contactWebinaire->getEmail());
  632.                 $email = new Mail();
  633.                 $email->sendToRudyWebinaireEcf($contactWebinaire$twig);
  634.                 $email->sendToUserWebinaireEcf($contactWebinaire$twig);
  635.                 $this->addFlash('success''Votre message a bien été envoyé');
  636.             }
  637.         }
  638.         return $this->render('Front/webinaire_ecf/index.html.twig', [
  639.             'webinaire' => $webinaire,
  640.             'form_webinaire_ecf' => $formWebinaireContact->createView(),
  641.         ]);
  642.     }
  643.     #[Route('/audit'name'webinaire_ifec_audit'host'ifec.lagence.expert')]
  644.     #[Route('/webinaire-ifec/audit'name'webinaire_ifec_audit_preview')]
  645.     public function webinaireIfecAudit(Request $request): Response
  646.     {
  647.         $audit = new Audit();
  648.         $form_audit $this->createForm(AuditWebinaireEcfType::class, $audit);
  649.         $form_audit->handleRequest($request);
  650.         if ($form_audit->isSubmitted() && $form_audit->isValid()) {
  651.             // add NL
  652.             if (isset($_COOKIE['afid'])) {
  653.                 // Récupère la valeur du cookie 'afid'
  654.                 $afidValue $_COOKIE['afid'];
  655.                 $audit->setAfid($afidValue);
  656.             }
  657.             $this->saveAsNewsletter($audit->getName(), $audit->getEmail());
  658.             $this->em->persist($audit);
  659.             $this->em->flush();
  660.             $email = new Mail();
  661.             $email->send($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
  662.             $email->sendToUserAudit($audit->getName(), $audit->getEmail());
  663.             $this->addFlash('success''Votre message a bien été envoyé');
  664.         }
  665.         return $this->render('Front/webinaire_ifec/audit.html.twig', [
  666.             "form_audit_webinaire_ifec" => $form_audit->createView(),
  667.         ]);
  668.     }
  669. //    #[Route('/audit', name: 'webinaire_decmotiv_audit', host: 'decmotiv.lagence.expert')]
  670. //    #[Route('/webinaire-decmotiv/audit', name: 'webinaire_decmotiv_audit_preview')]
  671. //    public function webinaireDecmotivAudit(Request $request): Response
  672. //    {
  673. //        $audit = new Audit();
  674. //        $form_audit = $this->createForm(AuditWebinaireEcfType::class, $audit);
  675. //        $form_audit->handleRequest($request);
  676. //        if ($form_audit->isSubmitted() && $form_audit->isValid()) {
  677. //            // add NL
  678. //            if (isset($_COOKIE['afid'])) {
  679. //                // Récupère la valeur du cookie 'afid'
  680. //                $afidValue = $_COOKIE['afid'];
  681. //                $audit->setAfid($afidValue);
  682. //            }
  683. //
  684. //
  685. //            $this->em->persist($audit);
  686. //            $this->em->flush();
  687. //
  688. //            $this->saveAsNewsletter($audit->getName(), $audit->getEmail());
  689. //
  690. //
  691. //            $email = new Mail();
  692. //            $email->send($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
  693. //            $email->sendToUserAudit($audit->getName(), $audit->getEmail());
  694. //
  695. //            $this->addFlash('success', 'Votre message a bien été envoyé');
  696. //        }
  697. //
  698. //        return $this->render('Front/webinaire_decmotiv/audit.html.twig', [
  699. //            "form_audit_webinaire_decmotiv" => $form_audit->createView(),
  700. //        ]);
  701. //    }
  702.     #[Route('/audit'name'webinaire_dec_audit'host'objectifdec.lagence.expert')]
  703.     #[Route('/webinaire-dec/audit'name'webinaire_dec_audit_preview')]
  704.     public function webinaireDecAudit(Request $request): Response
  705.     {
  706.         $audit = new Audit();
  707.         $form_audit $this->createForm(AuditWebinaireEcfType::class, $audit);
  708.         $form_audit->handleRequest($request);
  709.         if ($form_audit->isSubmitted() && $form_audit->isValid()) {
  710.             // add NL
  711.             if (isset($_COOKIE['afid'])) {
  712.                 // Récupère la valeur du cookie 'afid'
  713.                 $afidValue $_COOKIE['afid'];
  714.                 $audit->setAfid($afidValue);
  715.             }
  716.             $this->em->persist($audit);
  717.             $this->em->flush();
  718.             $this->saveAsNewsletter($audit->getName(), $audit->getEmail());
  719.             $email = new Mail();
  720.             $email->send($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
  721.             $email->sendToUserAudit($audit->getName(), $audit->getEmail());
  722.             $this->addFlash('success''Votre message a bien été envoyé');
  723.         }
  724.         return $this->render('Front/webinaire_dec/audit.html.twig', [
  725.             "form_audit_webinaire_dec" => $form_audit->createView(),
  726.         ]);
  727.     }
  728.     #[Route('/audit'name'webinaire_mister_ia_audit'host'ia.lagence.expert')]
  729.     #[Route('/webinaire-mister-ia/audit'name'webinaire_mister_ia_audit_preview')]
  730.     public function webinaireMisterIaAudit(Request $request): Response
  731.     {
  732.         $audit = new Audit();
  733.         $form_audit $this->createForm(AuditMisterIAType::class, $audit);
  734.         $form_audit->handleRequest($request);
  735.         if ($form_audit->isSubmitted() && $form_audit->isValid()) {
  736.             // add NL
  737.             if (isset($_COOKIE['afid'])) {
  738.                 // Récupère la valeur du cookie 'afid'
  739.                 $afidValue $_COOKIE['afid'];
  740.                 $audit->setAfid($afidValue);
  741.             }
  742.             $this->em->persist($audit);
  743.             $this->em->flush();
  744.             $this->saveAsNewsletter($audit->getName(), $audit->getEmail());
  745.             $rdvAdrien $form_audit->get('rdvAdrien')->getData();
  746.             $email = new Mail();
  747.             $email->sendAuditMisterIA(
  748.                 $audit->getName(),
  749.                 $audit->getTelephone(),
  750.                 $audit->getEmail(),
  751.                 $audit->getPage(),
  752.                 $form_audit->get('entreprise')->getData(),
  753.                 $form_audit->get('nombreEmployes')->getData(),
  754.                 $rdvAdrien,
  755.                 $audit->getAfid()
  756.             );
  757.             $email->sendToUserAuditMisterIA($form_audit->get('prenom')->getData(), $audit->getEmail(), $rdvAdrien);
  758.             $this->addFlash('success''Votre message a bien été envoyé');
  759.         }
  760.         return $this->render('Front/webinaire_mister_ia/audit.html.twig', [
  761.             "form_audit_webinaire_mister_ia" => $form_audit->createView(),
  762.         ]);
  763.     }
  764.     #[Route('/audit'name'webinaire_cjec_audit'host'cjec.lagence.expert')]
  765.     #[Route('/webinaire-cjec/audit'name'webinaire_cjec_audit_preview')]
  766.     public function webinaireCjecAudit(Request $request): Response
  767.     {
  768.         $audit = new Audit();
  769.         $form_audit $this->createForm(AuditWebinaireEcfType::class, $audit);
  770.         $form_audit->handleRequest($request);
  771.         if ($form_audit->isSubmitted() && $form_audit->isValid()) {
  772.             // add NL
  773.             if (isset($_COOKIE['afid'])) {
  774.                 // Récupère la valeur du cookie 'afid'
  775.                 $afidValue $_COOKIE['afid'];
  776.                 $audit->setAfid($afidValue);
  777.             }
  778.             $this->em->persist($audit);
  779.             $this->em->flush();
  780.             $this->saveAsNewsletter($audit->getName(), $audit->getEmail());
  781.             $email = new Mail();
  782.             $email->send($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
  783.             $email->sendToUserAudit($audit->getName(), $audit->getEmail());
  784.             $this->addFlash('success''Votre message a bien été envoyé');
  785.         }
  786.         return $this->render('Front/webinaire_cjec/audit.html.twig', [
  787.             "form_audit_webinaire_cjec" => $form_audit->createView(),
  788.         ]);
  789.     }
  790.     #[Route('/references'name'reference')]
  791.     public function reference(Request $requestRealisationRepository $realisationRepository): Response
  792.     {
  793.         // Récupérer l'offset depuis la requête (par défaut 0)
  794.         $offset = (int) $request->query->get('offset'0);
  795.         $limit 12;
  796.         $category $request->query->get('category''all');
  797.         if ($category !== 'all') {
  798.             // Vue filtrée sur une seule catégorie : pagination classique.
  799.             $realisations $realisationRepository->findBy(
  800.                 ['category' => $category],
  801.                 ['id' => 'DESC'],
  802.                 $limit,
  803.                 $offset
  804.             );
  805.         } else {
  806.             // Vue "Tous" : chaque ligne est organisée en [site, identité/print, site].
  807.             $all $realisationRepository->findBy([], ['id' => 'DESC']);
  808.             $sites = [];
  809.             $milieux = [];
  810.             foreach ($all as $item) {
  811.                 $itemCategory $item->getCategory();
  812.                 if ($itemCategory !== null && $itemCategory->getId() == self::CATEGORY_SITE_ID) {
  813.                     $sites[] = $item;
  814.                 } else {
  815.                     $milieux[] = $item;
  816.                 }
  817.             }
  818.             $ordered $this->buildReferenceLayout($sites$milieux);
  819.             $realisations array_slice($ordered$offset$limit);
  820.         }
  821.         // Si c'est une requête AJAX (load more ou filtre)
  822.         if ($request->isXmlHttpRequest()) {
  823.             // Rendu d'un fragment Twig pour les nouvelles réalisations
  824.             return $this->render('Front/realisations/_realisation_items.html.twig', [
  825.                 'realisations' => $realisations
  826.             ]);
  827.         }
  828.         // Rendu initial de la page
  829.         return $this->render('Front/realisations/index.html.twig', [
  830.             'title' => "reference",
  831.             'realisations' => $realisations
  832.         ]);
  833.     }
  834.     private function buildReferenceLayout(array $sites, array $milieux): array
  835.     {
  836.         $ordered = [];
  837.         $siteIndex 0;
  838.         $milieuIndex 0;
  839.         $nbSites count($sites);
  840.         $nbMilieux count($milieux);
  841.         while ($siteIndex $nbSites || $milieuIndex $nbMilieux) {
  842.             // Colonne de gauche : un site (à défaut, un milieu).
  843.             if ($siteIndex $nbSites) {
  844.                 $ordered[] = $sites[$siteIndex++];
  845.             } elseif ($milieuIndex $nbMilieux) {
  846.                 $ordered[] = $milieux[$milieuIndex++];
  847.             }
  848.             // Colonne du milieu : une identité/print (à défaut, un site).
  849.             if ($milieuIndex $nbMilieux) {
  850.                 $ordered[] = $milieux[$milieuIndex++];
  851.             } elseif ($siteIndex $nbSites) {
  852.                 $ordered[] = $sites[$siteIndex++];
  853.             }
  854.             // Colonne de droite : un site (à défaut, un milieu).
  855.             if ($siteIndex $nbSites) {
  856.                 $ordered[] = $sites[$siteIndex++];
  857.             } elseif ($milieuIndex $nbMilieux) {
  858.                 $ordered[] = $milieux[$milieuIndex++];
  859.             }
  860.         }
  861.         return $ordered;
  862.     }
  863.     #[Route('/nouvelle-annee'name'newYear')]
  864.     public function videoNewYear(): Response
  865.     {
  866.         return $this->render('Front/newYear/index.html.twig', [
  867.             'title' => "reference",
  868.         ]);
  869.     }
  870.     #[Route('/video/{slug}'name'video')]
  871.     public function video(ModuleVideo $module_videoModuleVideoRepository $moduleVideoRepository): Response
  872.     {
  873.         $module_videos $moduleVideoRepository->findBy(['id' => $module_video]);
  874.         return $this->render('Front/video/index.html.twig', [
  875.             'title' => "reference",
  876.             'module_video' => $module_videos
  877.         ]);
  878.     }
  879.     #[Route('/appelle-ton-expert-comptable/{slug}'name'video-appel-ton-ec')]
  880.     public function Appeltonec_video(string $slugModuleVideoRepository $moduleVideoRepositoryRequest $request): Response
  881.     {
  882.         $appelleTonEC = new AppelleTonEC;
  883.         $formappelleTonEC $this->createForm(AppelleTonECType::class, $appelleTonEC);
  884.         $formappelleTonEC->handleRequest($this->request->getCurrentRequest());
  885.         if ($formappelleTonEC->isSubmitted() && $formappelleTonEC->isValid()) {
  886.             $this->em->persist($appelleTonEC);
  887.             $this->em->flush();
  888.             $this->saveAsNewsletter($appelleTonEC->getName(), $appelleTonEC->getEmail());
  889.             $email = new Mail();
  890.             $email->sendAppelTonECExterne($formappelleTonEC['name']->getData(), $formappelleTonEC['phone']->getData(), $formappelleTonEC['email']->getData(), $formappelleTonEC['page']->getData(), $formappelleTonEC['cabinet']->getData());
  891.             $email->sendToUserAppelTonECExterne($formappelleTonEC['name']->getData(), $formappelleTonEC['phone']->getData(), $formappelleTonEC['email']->getData(), $formappelleTonEC['page']->getData());
  892.             $this->addFlash('success'"Votre demande a été envoyé avec succès. On va vous recontacter dans les plus brefs délais. Au plaisir d'échanger 🚀");
  893.             if ($request->getHttpHost() === "127.0.0.1:8000") {
  894.                 $domain "127.0.0.1";
  895.             } else {
  896.                 $domain $request->getHttpHost();
  897.             }
  898.             $cookie Cookie::create('appelEcExterne')
  899.                 ->withValue('true')
  900.                 ->withExpires(time() + (10 365 24 60 60))
  901.                 ->withDomain($domain)
  902.                 ->withSecure(true);
  903.             $response = new Response();
  904.             $response->headers->setCookie($cookie);
  905.             $response->sendHeaders();
  906.             return $this->redirectToRoute('appel-ton-ec');
  907.         }
  908.         $module_videos $moduleVideoRepository->findOneBySlugAndAppelleTonEC($slug);
  909.         return $this->render('Front/appel-ton-ec/video.html.twig', [
  910.             'title' => "Appelle ton Expert-comptable",
  911.             'module_video' => $module_videos,
  912.             'formEC' => $formappelleTonEC->createView(),
  913.             'formEC2' => $formappelleTonEC->createView(),
  914.         ]);
  915.     }
  916.     #[Route('/actualite'name'actualite')]
  917.     public function NewsletterActuOldUrl(Request $request): Response
  918.     {
  919.         return $this->redirectToRoute('newsletter-actu');
  920.     }
  921.     #[Route('/newsletter-du-mois'name'newsletter-actu')]
  922.     public function NewsletterActu(Request $request): Response
  923.     {
  924.         $newsletterDuMois = new NewsletterDuMois;
  925.         $formnewsletterDuMois $this->createForm(NewsletterDuMoisType::class, $newsletterDuMois);
  926.         $formnewsletterDuMois->handleRequest($this->request->getCurrentRequest());
  927.         if ($formnewsletterDuMois->isSubmitted() && $formnewsletterDuMois->isValid()) {
  928.             if (isset($_COOKIE['afid'])) {
  929.                 // Récupère la valeur du cookie 'afid'
  930.                 $afidValue $_COOKIE['afid'];
  931.                 $newsletterDuMois->setAfid($afidValue);
  932.             }
  933.             $this->em->persist($newsletterDuMois);
  934.             $this->em->flush();
  935.             $this->saveAsNewsletter($newsletterDuMois->getName(), $newsletterDuMois->getEmail());
  936.             $email = new Mail();
  937.             $email->sendNewsletterDuMois($formnewsletterDuMois['name']->getData(), $formnewsletterDuMois['phone']->getData(), $formnewsletterDuMois['email']->getData());
  938.             $email->sendNewsletterSimulateur($formnewsletterDuMois['name']->getData(), $formnewsletterDuMois['phone']->getData(), $formnewsletterDuMois['email']->getData(), $formnewsletterDuMois['page']->getData(), $newsletterDuMois->getAfid());
  939.             $this->addFlash('success'"Votre demande a été envoyé avec succès. On va vous recontacter dans les plus brefs délais. Au plaisir d'échanger 🚀");
  940.             if ($request->getHttpHost() === "127.0.0.1:8000") {
  941.                 $domain "127.0.0.1";
  942.             } else {
  943.                 $domain $request->getHttpHost();
  944.             }
  945.             $cookie Cookie::create('accessNewsletterDuMois')
  946.                 ->withValue('true')
  947.                 ->withExpires(time() + (10 365 24 60 60))
  948.                 ->withDomain($domain)
  949.                 ->withSecure(true);
  950.             $response = new Response();
  951.             $response->headers->setCookie($cookie);
  952.             $response->sendHeaders();
  953.             return $this->redirectToRoute('newsletter-actu');
  954.         }
  955.         return $this->render('Front/widget/newsletter-du-mois.html.twig', [
  956.             'title' => "L'actualité du mois",
  957.             'formNewsDuMois' => $formnewsletterDuMois->createView(),
  958.             'formNewsDuMois2' => $formnewsletterDuMois->createView(),
  959.             'formNewsDuMois3' => $formnewsletterDuMois->createView(),
  960.             'formNewsDuMois4' => $formnewsletterDuMois->createView(),
  961.         ]);
  962.     }
  963.     #[Route('/newsletter-du-mois-cjec 'name'newsletter-actu-cjec')]
  964.     public function NewsletterActuCJEC(Request $request): Response
  965.     {
  966.         $newsletterDuMois = new NewsletterDuMois;
  967.         $formnewsletterDuMois $this->createForm(NewsletterDuMoisType::class, $newsletterDuMois);
  968.         $formnewsletterDuMois->handleRequest($this->request->getCurrentRequest());
  969.         if ($formnewsletterDuMois->isSubmitted() && $formnewsletterDuMois->isValid()) {
  970.             if (isset($_COOKIE['afid'])) {
  971.                 // Récupère la valeur du cookie 'afid'
  972.                 $afidValue $_COOKIE['afid'];
  973.                 $newsletterDuMois->setAfid($afidValue);
  974.             }
  975.             $this->em->persist($newsletterDuMois);
  976.             $this->em->flush();
  977.             $this->saveAsNewsletter($newsletterDuMois->getName(), $newsletterDuMois->getEmail());
  978.             $email = new Mail();
  979.             $email->sendNewsletterDuMoisCJEC($formnewsletterDuMois['name']->getData(), $formnewsletterDuMois['phone']->getData(), $formnewsletterDuMois['email']->getData());
  980.             $email->sendNewsletterSimulateur($formnewsletterDuMois['name']->getData(), $formnewsletterDuMois['phone']->getData(), $formnewsletterDuMois['email']->getData(), $formnewsletterDuMois['page']->getData(), $newsletterDuMois->getAfid());
  981.             $this->addFlash('success'"Votre demande a été envoyé avec succès. On va vous recontacter dans les plus brefs délais. Au plaisir d'échanger 🚀");
  982.             if ($request->getHttpHost() === "127.0.0.1:8000") {
  983.                 $domain "127.0.0.1";
  984.             } else {
  985.                 $domain $request->getHttpHost();
  986.             }
  987.             $cookie Cookie::create('accessNewsletterDuMoisCJEC')
  988.                 ->withValue('true')
  989.                 ->withExpires(time() + (10 365 24 60 60))
  990.                 ->withDomain($domain)
  991.                 ->withSecure(true);
  992.             $response = new Response();
  993.             $response->headers->setCookie($cookie);
  994.             $response->sendHeaders();
  995.             return $this->redirectToRoute('newsletter-actu-cjec');
  996.         }
  997.         return $this->render('Front/widget/newsletter-du-mois-cjec.html.twig', [
  998.             'title' => "L'actualité du mois CJEC",
  999.             'formNewsDuMois' => $formnewsletterDuMois->createView(),
  1000.             'formNewsDuMois2' => $formnewsletterDuMois->createView(),
  1001.             'formNewsDuMois3' => $formnewsletterDuMois->createView(),
  1002.             'formNewsDuMois4' => $formnewsletterDuMois->createView(),
  1003.         ]);
  1004.     }
  1005.     #[Route('/newsletter-du-mois-createur'name'newsletter-actu-createur')]
  1006.     public function NewsletterActuCreateur(Request $request): Response
  1007.     {
  1008.         $newsletterDuMois = new NewsletterDuMois;
  1009.         $formnewsletterDuMois $this->createForm(NewsletterDuMoisType::class, $newsletterDuMois);
  1010.         $formnewsletterDuMois->handleRequest($this->request->getCurrentRequest());
  1011.         if ($formnewsletterDuMois->isSubmitted() && $formnewsletterDuMois->isValid()) {
  1012.             if (isset($_COOKIE['afid'])) {
  1013.                 // Récupère la valeur du cookie 'afid'
  1014.                 $afidValue $_COOKIE['afid'];
  1015.                 $newsletterDuMois->setAfid($afidValue);
  1016.             }
  1017.             $this->em->persist($newsletterDuMois);
  1018.             $this->em->flush();
  1019.             $this->saveAsNewsletter($newsletterDuMois->getName(), $newsletterDuMois->getEmail());
  1020.             $email = new Mail();
  1021.             $email->sendNewsletterDuMoisCreateur($formnewsletterDuMois['name']->getData(), $formnewsletterDuMois['phone']->getData(), $formnewsletterDuMois['email']->getData());
  1022.             $email->sendNewsletterSimulateur($formnewsletterDuMois['name']->getData(), $formnewsletterDuMois['phone']->getData(), $formnewsletterDuMois['email']->getData(), $formnewsletterDuMois['page']->getData(), $newsletterDuMois->getAfid());
  1023.             $this->addFlash('success'"Votre demande a été envoyé avec succès. On va vous recontacter dans les plus brefs délais. Au plaisir d'échanger 🚀");
  1024.             if ($request->getHttpHost() === "127.0.0.1:8000") {
  1025.                 $domain "127.0.0.1";
  1026.             } else {
  1027.                 $domain $request->getHttpHost();
  1028.             }
  1029.             $cookie Cookie::create('accessNewsletterDuMoisCreateur')
  1030.                 ->withValue('true')
  1031.                 ->withExpires(time() + (10 365 24 60 60))
  1032.                 ->withDomain($domain)
  1033.                 ->withSecure(true);
  1034.             $response = new Response();
  1035.             $response->headers->setCookie($cookie);
  1036.             $response->sendHeaders();
  1037.             return $this->redirectToRoute('newsletter-actu-createur');
  1038.         }
  1039.         return $this->render('Front/widget/newsletter-du-mois-createur.html.twig', [
  1040.             'title' => "L'actualité du mois Créateur",
  1041.             'formNewsDuMois' => $formnewsletterDuMois->createView(),
  1042.             'formNewsDuMois2' => $formnewsletterDuMois->createView(),
  1043.             'formNewsDuMois3' => $formnewsletterDuMois->createView(),
  1044.             'formNewsDuMois4' => $formnewsletterDuMois->createView(),
  1045.         ]);
  1046.     }
  1047.     #[Route('/offre-simulateur 'name'simulateur-actu')]
  1048.     public function SimulateurActuOldUrl(Request $request): Response
  1049.     {
  1050.         return $this->redirectToRoute('simulateur');
  1051.     }
  1052.     #[Route('/simulateur'name'simulateur')]
  1053.     public function SimulateurActu(Request $request): Response
  1054.     {
  1055.         $newsletterDuMois = new NewsletterDuMois;
  1056.         $formnewsletterDuMois $this->createForm(NewsletterDuMoisType::class, $newsletterDuMois);
  1057.         $formnewsletterDuMois->handleRequest($this->request->getCurrentRequest());
  1058.         if ($formnewsletterDuMois->isSubmitted() && $formnewsletterDuMois->isValid()) {
  1059.             if (isset($_COOKIE['afid'])) {
  1060.                 // Récupère la valeur du cookie 'afid'
  1061.                 $afidValue $_COOKIE['afid'];
  1062.                 $newsletterDuMois->setAfid($afidValue);
  1063.             }
  1064.             $this->em->persist($newsletterDuMois);
  1065.             $this->em->flush();
  1066.             $this->saveAsNewsletter($newsletterDuMois->getName(), $newsletterDuMois->getEmail());
  1067.             $email = new Mail();
  1068.             $email->sendSimulateurDuMois($formnewsletterDuMois['name']->getData(), $formnewsletterDuMois['phone']->getData(), $formnewsletterDuMois['email']->getData());
  1069.             $email->sendNewsletterSimulateur($formnewsletterDuMois['name']->getData(), $formnewsletterDuMois['phone']->getData(), $formnewsletterDuMois['email']->getData(), $formnewsletterDuMois['page']->getData(), $newsletterDuMois->getAfid());
  1070.             $this->addFlash('success'"Votre demande a été envoyé avec succès. On va vous recontacter dans les plus brefs délais. Au plaisir d'échanger 🚀");
  1071.             if ($request->getHttpHost() === "127.0.0.1:8000") {
  1072.                 $domain "127.0.0.1";
  1073.             } else {
  1074.                 $domain $request->getHttpHost();
  1075.             }
  1076.             $cookie Cookie::create('accessSimulateurDuMois')
  1077.                 ->withValue('true')
  1078.                 ->withExpires(time() + (10 365 24 60 60))
  1079.                 ->withDomain($domain)
  1080.                 ->withSecure(true);
  1081.             $response = new Response();
  1082.             $response->headers->setCookie($cookie);
  1083.             $response->sendHeaders();
  1084.             return $this->redirectToRoute('simulateur-actu');
  1085.         }
  1086.         return $this->render('Front/widget/simulateur-du-mois.html.twig', [
  1087.             'title' => "Simulateur",
  1088.             'formNewsDuMois' => $formnewsletterDuMois->createView(),
  1089.             'formNewsDuMois2' => $formnewsletterDuMois->createView(),
  1090.             'formNewsDuMois3' => $formnewsletterDuMois->createView(),
  1091.             'formNewsDuMois4' => $formnewsletterDuMois->createView(),
  1092.         ]);
  1093.     }
  1094.     #[Route('/tour-de-france'name'tour-de-france')]
  1095.     public function tour_de_france(): Response
  1096.     {
  1097.         return $this->render('Front/tour-de-france/tour-de-france.html.twig', [
  1098.             'title' => "Tour de france de lagence.expert",
  1099.         ]);
  1100.     }
  1101.     #[Route('/offre-speciale-objectif-dec'name'objectif-DEC')]
  1102.     public function objectif_dec(): Response
  1103.     {
  1104.         $audit = new Audit();
  1105.         $form_audit $this->createForm(AuditType::class, $audit);
  1106.         $form_audit->handleRequest($this->request->getCurrentRequest());
  1107.         if ($form_audit->isSubmitted() && $form_audit->isValid()) {
  1108.             if (isset($_COOKIE['afid'])) {
  1109.                 // Récupère la valeur du cookie 'afid'
  1110.                 $afidValue $_COOKIE['afid'];
  1111.                 $audit->setAfid($afidValue);
  1112.             }
  1113.             $this->em->persist($audit);
  1114.             $this->em->flush();
  1115.             $this->saveAsNewsletter($audit->getName(), $audit->getEmail());
  1116.             $email = new Mail();
  1117.             $email->sendAuditObjDEC($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
  1118.             $email->sendPartnerAuditObjDEC($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage());
  1119.             $email->sendToUserAuditObjDEC($audit->getName(), $audit->getEmail());
  1120.             $this->addFlash('success''Votre message a bien été envoyé');
  1121.         }
  1122.         return $this->render('Front/objectif-dec/objectif-dec.html.twig', [
  1123.             'title' => "Landingpage Objectif DEC by lagence.expert",
  1124.             'formRh' => $form_audit->createView(),
  1125.         ]);
  1126.     }
  1127.     #[Route('/appelle-ton-expert-comptable-offre-speciale-client'name'appel-ton-ec-client')]
  1128.     public function appel_ton_ec(Request $request): Response
  1129.     {
  1130.         $cabinet = new Cabinet;
  1131.         $formnewsletterDuMois $this->createForm(CabinetType::class, $cabinet);
  1132.         $formnewsletterDuMois->handleRequest($this->request->getCurrentRequest());
  1133.         if ($formnewsletterDuMois->isSubmitted() && $formnewsletterDuMois->isValid()) {
  1134.             if (isset($_COOKIE['afid'])) {
  1135.                 // Récupère la valeur du cookie 'afid'
  1136.                 $afidValue $_COOKIE['afid'];
  1137.                 $cabinet->setAfid($afidValue);
  1138.             }
  1139.             $this->em->persist($cabinet);
  1140.             $this->em->flush();
  1141.             $this->saveAsNewsletter($cabinet->getName(), $cabinet->getEmail());
  1142.             $email = new Mail();
  1143.             $email->sendAppelTonECClient($formnewsletterDuMois['cabinet']->getData(), $formnewsletterDuMois['page']->getData(), $cabinet->getAfid());
  1144.             $this->addFlash('success'"Votre demande a été envoyé avec succès. On va vous recontacter dans les plus brefs délais. Au plaisir d'échanger 🚀");
  1145.             if ($request->getHttpHost() === "127.0.0.1:8000") {
  1146.                 $domain "127.0.0.1";
  1147.             } else {
  1148.                 $domain $request->getHttpHost();
  1149.             }
  1150.             $cookie Cookie::create('appelEcClient')
  1151.                 ->withValue('true')
  1152.                 ->withExpires(time() + (10 365 24 60 60))
  1153.                 ->withDomain($domain)
  1154.                 ->withSecure(true);
  1155.             $response = new Response();
  1156.             $response->headers->setCookie($cookie);
  1157.             $response->sendHeaders();
  1158.             return $this->redirectToRoute('appel-ton-ec-client');
  1159.         }
  1160.         return $this->render('Front/appel-ton-ec/appel-ton-ec.html.twig', [
  1161.             'title' => "Appelle ton Expert-comptable offre spéciale client by lagence.expert",
  1162.             'formNewsDuMois' => $formnewsletterDuMois->createView(),
  1163.             'formNewsDuMois2' => $formnewsletterDuMois->createView(),
  1164.             // 'formNewsDuMois3' => $formnewsletterDuMois->createView(),
  1165.             // 'formNewsDuMois4' => $formnewsletterDuMois->createView(),
  1166.             'formNewsDuMois5' => $formnewsletterDuMois->createView(),
  1167.             'formNewsDuMois6' => $formnewsletterDuMois->createView(),
  1168.         ]);
  1169.     }
  1170.     #[Route('/appelle-ton-expert-comptable'name'appel-ton-ec')]
  1171.     public function appel_ton_ec2(Request $request): Response
  1172.     {
  1173.         $appelleTonEC = new AppelleTonEC;
  1174.         $formappelleTonEC $this->createForm(AppelleTonECType::class, $appelleTonEC);
  1175.         $formappelleTonEC->handleRequest($this->request->getCurrentRequest());
  1176.         if ($formappelleTonEC->isSubmitted() && $formappelleTonEC->isValid()) {
  1177.             if (isset($_COOKIE['afid'])) {
  1178.                 // Récupère la valeur du cookie 'afid'
  1179.                 $afidValue $_COOKIE['afid'];
  1180.                 $appelleTonEC->setAfid($afidValue);
  1181.             }
  1182.             $this->em->persist($appelleTonEC);
  1183.             $this->em->flush();
  1184.             $this->saveAsNewsletter($appelleTonEC->getName(), $appelleTonEC->getEmail());
  1185.             $email = new Mail();
  1186.             $email->sendAppelTonECExterne($formappelleTonEC['name']->getData(), $formappelleTonEC['phone']->getData(), $formappelleTonEC['email']->getData(), $formappelleTonEC['page']->getData(), $formappelleTonEC['cabinet']->getData(), $appelleTonEC->getAfid());
  1187.             $email->sendToUserAppelTonECExterne($formappelleTonEC['name']->getData(), $formappelleTonEC['phone']->getData(), $formappelleTonEC['email']->getData(), $formappelleTonEC['page']->getData());
  1188.             $this->addFlash('success'"Votre demande a été envoyé avec succès. On va vous recontacter dans les plus brefs délais. Au plaisir d'échanger 🚀");
  1189.             if ($request->getHttpHost() === "127.0.0.1:8000") {
  1190.                 $domain "127.0.0.1";
  1191.             } else {
  1192.                 $domain $request->getHttpHost();
  1193.             }
  1194.             $cookie Cookie::create('appelEcExterne')
  1195.                 ->withValue('true')
  1196.                 ->withExpires(time() + (10 365 24 60 60))
  1197.                 ->withDomain($domain)
  1198.                 ->withSecure(true);
  1199.             $response = new Response();
  1200.             $response->headers->setCookie($cookie);
  1201.             $response->sendHeaders();
  1202.             return $this->redirectToRoute('appel-ton-ec');
  1203.         }
  1204.         return $this->render('Front/appel-ton-ec/appel-ton-ec2.html.twig', [
  1205.             'title' => "Appelle ton Expert-comptable by lagence.expert",
  1206.             'formEC' => $formappelleTonEC->createView(),
  1207.             'formEC2' => $formappelleTonEC->createView(),
  1208.         ]);
  1209.     }
  1210.     #[Route('/simulateur-offre-speciale-client'name'simulateur-client')]
  1211.     public function SimulateurActu_client(Request $request): Response
  1212.     {
  1213.         $cabinet = new Cabinet;
  1214.         $formnewsletterDuMois $this->createForm(CabinetType::class, $cabinet);
  1215.         $formnewsletterDuMois->handleRequest($this->request->getCurrentRequest());
  1216.         if ($formnewsletterDuMois->isSubmitted() && $formnewsletterDuMois->isValid()) {
  1217.             if (isset($_COOKIE['afid'])) {
  1218.                 // Récupère la valeur du cookie 'afid'
  1219.                 $afidValue $_COOKIE['afid'];
  1220.                 $cabinet->setAfid($afidValue);
  1221.             }
  1222.             $this->em->persist($cabinet);
  1223.             $this->em->flush();
  1224.             $this->saveAsNewsletter($cabinet->getName(), $cabinet->getEmail());
  1225.             $email = new Mail();
  1226.             $email->sendSimulateurSpecialeClient($formnewsletterDuMois['cabinet']->getData(), $formnewsletterDuMois['page']->getData(), $cabinet->getAfid());
  1227.             $this->addFlash('success'"Votre demande a été envoyé avec succès. On va vous recontacter dans les plus brefs délais. Au plaisir d'échanger 🚀");
  1228.             if ($request->getHttpHost() === "127.0.0.1:8000") {
  1229.                 $domain "127.0.0.1";
  1230.             } else {
  1231.                 $domain $request->getHttpHost();
  1232.             }
  1233.             $cookie Cookie::create('accessSimulateurDuMoisClient')
  1234.                 ->withValue('true')
  1235.                 ->withExpires(time() + (10 365 24 60 60))
  1236.                 ->withDomain($domain)
  1237.                 ->withSecure(true);
  1238.             $response = new Response();
  1239.             $response->headers->setCookie($cookie);
  1240.             $response->sendHeaders();
  1241.             return $this->redirectToRoute('simulateur-client');
  1242.         }
  1243.         return $this->render('Front/widget/simulateur-du-mois-client.html.twig', [
  1244.             'title' => "Simulateur offre spécial client by lagence.expert",
  1245.             'formNewsDuMois' => $formnewsletterDuMois->createView(),
  1246.             'formNewsDuMois2' => $formnewsletterDuMois->createView(),
  1247.             'formNewsDuMois3' => $formnewsletterDuMois->createView(),
  1248.             'formNewsDuMois4' => $formnewsletterDuMois->createView(),
  1249.         ]);
  1250.     }
  1251.     #[Route('/parrainez-un-expert-comptable'name'parrainez-un-expert-comptable')]
  1252.     public function parrainez_un_expert_comptable(): Response
  1253.     {
  1254.         $parrainage = new Parrainage();
  1255.         $form_parrainage $this->createForm(ParrainageType::class, $parrainage);
  1256.         $form_parrainage->handleRequest($this->request->getCurrentRequest());
  1257.         if ($form_parrainage->isSubmitted() && $form_parrainage->isValid()) {
  1258.             $this->em->persist($parrainage);
  1259.             $this->em->flush();
  1260.             $this->saveAsNewsletter($parrainage->getName(), $parrainage->getEmail());
  1261.             $email = new Mail();
  1262.             $email->sendParrainage($parrainage->getCabinet(), $parrainage->getName(), $parrainage->getTelephone(), $parrainage->getEmail(), $parrainage->getPage());
  1263.             $email->sendParrainageClient($parrainage->getCabinet(), $parrainage->getName(), $parrainage->getTelephone(), $parrainage->getEmail());
  1264.             $this->addFlash('success''Votre message a bien été envoyé');
  1265.         }
  1266.         return $this->render('Front/parrainage/parrainage.html.twig', [
  1267.             'title' => "Parrainez un Expert-Comptable by lagence.expert",
  1268.             'formParrainage' => $form_parrainage->createView(),
  1269.         ]);
  1270.     }
  1271.     #[Route('/offre-credit-impot-recherche'name'offre-cir')]
  1272.     public function offre_cir(): Response
  1273.     {
  1274.         $audit = new Audit();
  1275.         $form_audit $this->createForm(AuditType::class, $audit);
  1276.         $form_audit->handleRequest($this->request->getCurrentRequest());
  1277.         if ($form_audit->isSubmitted() && $form_audit->isValid()) {
  1278.             if (isset($_COOKIE['afid'])) {
  1279.                 // Récupère la valeur du cookie 'afid'
  1280.                 $afidValue $_COOKIE['afid'];
  1281.                 $audit->setAfid($afidValue);
  1282.             }
  1283.             $this->em->persist($audit);
  1284.             $this->em->flush();
  1285.             $this->saveAsNewsletter($audit->getName(), $audit->getEmail());
  1286.             $email = new Mail();
  1287.             $email->sendCir($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
  1288.             $email->sendToUserCir($audit->getName(), $audit->getEmail());
  1289.             $this->addFlash('success''Votre message a bien été envoyé');
  1290.         }
  1291.         return $this->render('Front/offre-cir/offre-cir.html.twig', [
  1292.             'title' => "L'offre Crédit d’impôt recherche by lagence.expert",
  1293.             'formRh' => $form_audit->createView(),
  1294.         ]);
  1295.     }
  1296.     #[Route('/bureaux-virtuels'name'bureau-virtuel')]
  1297.     public function bureau_virtuel(): Response
  1298.     {
  1299.         $audit = new Audit();
  1300.         $form_audit $this->createForm(AuditType::class, $audit);
  1301.         $form_audit->handleRequest($this->request->getCurrentRequest());
  1302.         if ($form_audit->isSubmitted() && $form_audit->isValid()) {
  1303.             if (isset($_COOKIE['afid'])) {
  1304.                 // Récupère la valeur du cookie 'afid'
  1305.                 $afidValue $_COOKIE['afid'];
  1306.                 $audit->setAfid($afidValue);
  1307.             }
  1308.             $this->em->persist($audit);
  1309.             $this->em->flush();
  1310.             $this->saveAsNewsletter($audit->getName(), $audit->getEmail());
  1311.             $email = new Mail();
  1312.             $email->sendVirtuel($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
  1313.             $email->sendToUserVirtuel($audit->getName(), $audit->getEmail());
  1314.             $email->sendPartnerVirtuel($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage());
  1315.             $this->addFlash('success''Votre message a bien été envoyé');
  1316.         }
  1317.         return $this->render('Front/bureau-virtuel/bureau-virtuel.html.twig', [
  1318.             'title' => "Bureaux virtuels by lagence.expert",
  1319.             'formRh' => $form_audit->createView(),
  1320.         ]);
  1321.     }
  1322.     #[Route('/offre-comite-entreprise'name'comite-entreprise')]
  1323.     public function comite_entreprise(): Response
  1324.     {
  1325.         $audit = new Audit();
  1326.         $form_audit $this->createForm(AuditType::class, $audit);
  1327.         $form_audit->handleRequest($this->request->getCurrentRequest());
  1328.         if ($form_audit->isSubmitted() && $form_audit->isValid()) {
  1329.             if (isset($_COOKIE['afid'])) {
  1330.                 // Récupère la valeur du cookie 'afid'
  1331.                 $afidValue $_COOKIE['afid'];
  1332.                 $audit->setAfid($afidValue);
  1333.             }
  1334.             $this->em->persist($audit);
  1335.             $this->em->flush();
  1336.             $this->saveAsNewsletter($audit->getName(), $audit->getEmail());
  1337.             $email = new Mail();
  1338.             $email->sendCe($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
  1339.             $email->sendToUserCe($audit->getName(), $audit->getEmail());
  1340.             $this->addFlash('success''Votre message a bien été envoyé');
  1341.         }
  1342.         return $this->render('Front/comite-entreprise/comite-entreprise.html.twig', [
  1343.             'title' => "L’offre Comité d’entreprise by lagence.expert",
  1344.             'formRh' => $form_audit->createView(),
  1345.         ]);
  1346.     }
  1347.     #[Route('/dynamiser'name'dynamiser')]
  1348.     public function dynamiser(Request $requestBlogRepository $blogRepositoryRealisationRepository $realisationRepository): Response
  1349.     {
  1350.         return $this->render('Front/home/dynamiser.html.twig', [
  1351.             'title' => "Dynamiser",
  1352.             'blogs' => $blogRepository->findBy([], [], 30),
  1353.             'realisations' => $realisationRepository->findBy([], ['id' => 'DESC'], 120)
  1354.         ]);
  1355.     }
  1356.     #[Route('/developper'name'developper')]
  1357.     public function developper(Request $requestBlogRepository $blogRepositoryRealisationRepository $realisationRepository): Response
  1358.     {
  1359.         return $this->render('Front/home/developper.html.twig', [
  1360.             'title' => "Développer",
  1361.             'blogs' => $blogRepository->findBy([], [], 30),
  1362.             'realisations' => $realisationRepository->findBy([], ['id' => 'DESC'], 120),
  1363.         ]);
  1364.     }
  1365.     #[Route('/s-informer'name'sinformer')]
  1366.     public function sinformer(Request $requestBlogRepository $blogRepositoryRealisationRepository $realisationRepository): Response
  1367.     {
  1368.         return $this->redirectToRoute('home', [], 301);
  1369.         return $this->render('Front/home/sinformer.html.twig', [
  1370.             'title' => "S'informer",
  1371.             'blogs' => $blogRepository->findBy([], [],300),
  1372.             'realisations' => $realisationRepository->findBy([], ['id' => 'DESC'], 120),
  1373.         ]);
  1374.     }
  1375.     #[Route('/tous-en-ligne'name'tous-en-ligne')]
  1376.     public function tous_en_ligne(): Response
  1377.     {
  1378.         $audit = new Audit();
  1379.         $form_audit $this->createForm(AuditType::class, $audit);
  1380.         $form_audit->handleRequest($this->request->getCurrentRequest());
  1381.         if ($form_audit->isSubmitted() && $form_audit->isValid()) {
  1382.             if (isset($_COOKIE['afid'])) {
  1383.                 // Récupère la valeur du cookie 'afid'
  1384.                 $afidValue $_COOKIE['afid'];
  1385.                 $audit->setAfid($afidValue);
  1386.             }
  1387.             $this->em->persist($audit);
  1388.             $this->em->flush();
  1389.             $this->saveAsNewsletter($audit->getName(), $audit->getEmail());
  1390.             $email = new Mail();
  1391.             $email->sendTL($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
  1392.             $email->sendToUserTL($audit->getName(), $audit->getEmail());
  1393.             $this->addFlash('success''Votre message a bien été envoyé');
  1394.         }
  1395.         return $this->render('Front/tous-en-ligne/tous-en-ligne.html.twig', [
  1396.             'title' => "Tous en ligne by lagence.expert",
  1397.             'formRh' => $form_audit->createView(),
  1398.         ]);
  1399.     }
  1400.     #[Route('/newsletter-du-mois-offre-bienvenue'name'newsletter-offre-bienvenue')]
  1401.     public function NewsletterOffreBienvenue(Request $request): Response
  1402.     {
  1403.         $newsletterDuMois = new NewsletterDuMois;
  1404.         $formnewsletterDuMois $this->createForm(NewsletterDuMoisType::class, $newsletterDuMois);
  1405.         $formnewsletterDuMois->handleRequest($this->request->getCurrentRequest());
  1406.         if ($formnewsletterDuMois->isSubmitted() && $formnewsletterDuMois->isValid()) {
  1407.             if (isset($_COOKIE['afid'])) {
  1408.                 // Récupère la valeur du cookie 'afid'
  1409.                 $afidValue $_COOKIE['afid'];
  1410.                 $newsletterDuMois->setAfid($afidValue);
  1411.             }
  1412.             $this->em->persist($newsletterDuMois);
  1413.             $this->em->flush();
  1414.             $this->saveAsNewsletter($newsletterDuMois->getName(), $newsletterDuMois->getEmail());
  1415.             $email = new Mail();
  1416.             $email->sendNewsletterDuMoisOffreBienvenue($formnewsletterDuMois['name']->getData(), $formnewsletterDuMois['phone']->getData(), $formnewsletterDuMois['email']->getData());
  1417.             $email->sendNewsletterSimulateur($formnewsletterDuMois['name']->getData(), $formnewsletterDuMois['phone']->getData(), $formnewsletterDuMois['email']->getData(), $formnewsletterDuMois['page']->getData(), $newsletterDuMois->getAfid());
  1418.             $this->addFlash('success'"Votre demande a été envoyé avec succès. On va vous recontacter dans les plus brefs délais. Au plaisir d'échanger 🚀");
  1419.             if ($request->getHttpHost() === "127.0.0.1:8000") {
  1420.                 $domain "127.0.0.1";
  1421.             } else {
  1422.                 $domain $request->getHttpHost();
  1423.             }
  1424.             $cookie Cookie::create('accessNewsletterDuMoisBienvenue')
  1425.                 ->withValue('true')
  1426.                 ->withExpires(time() + (10 365 24 60 60))
  1427.                 ->withDomain($domain)
  1428.                 ->withSecure(true);
  1429.             $response = new Response();
  1430.             $response->headers->setCookie($cookie);
  1431.             $response->sendHeaders();
  1432.             return $this->redirectToRoute('newsletter-offre-bienvenue');
  1433.         }
  1434.         return $this->render('Front/widget/newsletter-du-mois-offre-bienvenue.html.twig', [
  1435.             'title' => "L'actualité du mois Offre Bienvenue",
  1436.             'formNewsDuMois' => $formnewsletterDuMois->createView(),
  1437.             'formNewsDuMois2' => $formnewsletterDuMois->createView(),
  1438.             'formNewsDuMois3' => $formnewsletterDuMois->createView(),
  1439.             'formNewsDuMois4' => $formnewsletterDuMois->createView(),
  1440.         ]);
  1441.     }
  1442.     #[Route('/appelle-ton-expert-comptable-offre-speciale-cjec'name'appel-ton-ec-cjec')]
  1443.     public function appel_ton_ec3(Request $request): Response
  1444.     {
  1445.         $appelleTonEC = new AppelleTonEC;
  1446.         $formappelleTonEC $this->createForm(AppelleTonECType::class, $appelleTonEC);
  1447.         $formappelleTonEC->handleRequest($this->request->getCurrentRequest());
  1448.         if ($formappelleTonEC->isSubmitted() && $formappelleTonEC->isValid()) {
  1449.             if (isset($_COOKIE['afid'])) {
  1450.                 // Récupère la valeur du cookie 'afid'
  1451.                 $afidValue $_COOKIE['afid'];
  1452.                 $appelleTonEC->setAfid($afidValue);
  1453.             }
  1454.             $this->em->persist($appelleTonEC);
  1455.             $this->em->flush();
  1456.             $this->saveAsNewsletter($appelleTonEC->getName(), $appelleTonEC->getEmail());
  1457.             $email = new Mail();
  1458.             $email->sendAppelTonECExterne($formappelleTonEC['name']->getData(), $formappelleTonEC['phone']->getData(), $formappelleTonEC['email']->getData(), $formappelleTonEC['page']->getData(), $formappelleTonEC['cabinet']->getData(), $appelleTonEC->getAfid());
  1459.             $email->sendToUserAppelTonECExterne($formappelleTonEC['name']->getData(), $formappelleTonEC['phone']->getData(), $formappelleTonEC['email']->getData(), $formappelleTonEC['page']->getData());
  1460.             $this->addFlash('success'"Votre demande a été envoyé avec succès. On va vous recontacter dans les plus brefs délais. Au plaisir d'échanger 🚀");
  1461.             if ($request->getHttpHost() === "127.0.0.1:8000") {
  1462.                 $domain "127.0.0.1";
  1463.             } else {
  1464.                 $domain $request->getHttpHost();
  1465.             }
  1466.             $cookie Cookie::create('appelEcExterne')
  1467.                 ->withValue('true')
  1468.                 ->withExpires(time() + (10 365 24 60 60))
  1469.                 ->withDomain($domain)
  1470.                 ->withSecure(true);
  1471.             $response = new Response();
  1472.             $response->headers->setCookie($cookie);
  1473.             $response->sendHeaders();
  1474.             return $this->redirectToRoute('appel-ton-ec-cjec');
  1475.         }
  1476.         return $this->render('Front/appel-ton-ec/appel-ton-ec3.html.twig', [
  1477.             'title' => "Appelle ton Expert-comptable offre spéciale CJEC by lagence.expert",
  1478.             'formEC' => $formappelleTonEC->createView(),
  1479.             'formEC2' => $formappelleTonEC->createView(),
  1480.         ]);
  1481.     }
  1482.     #[Route('/nom-commercial'name'nom_commercial')]
  1483.     public function NomCommercial(Request $request): Response
  1484.     {
  1485.         $audit = new Audit();
  1486.         $form_audit $this->createForm(AuditType::class, $audit);
  1487.         $form_audit->handleRequest($this->request->getCurrentRequest());
  1488.         if ($form_audit->isSubmitted() && $form_audit->isValid()) {
  1489.             if (isset($_COOKIE['afid'])) {
  1490.                 // Récupère la valeur du cookie 'afid'
  1491.                 $afidValue $_COOKIE['afid'];
  1492.                 $audit->setAfid($afidValue);
  1493.             }
  1494.             $this->em->persist($audit);
  1495.             $this->em->flush();
  1496.             $this->saveAsNewsletter($audit->getName(), $audit->getEmail());
  1497.             $email = new Mail();
  1498.             $email->sendNC($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
  1499.             $email->sendToUserNC($audit->getName(), $audit->getEmail());
  1500.             $this->addFlash('success''Votre message a bien été envoyé');
  1501.         }
  1502.         return $this->render('Front/nom-commercial/nom-commercial.html.twig', [
  1503.             'title' => "Nom commercial by lagence.expert",
  1504.             'formRh' => $form_audit->createView(),
  1505.         ]);
  1506.     }
  1507.     #[Route('/animation-linkedin-offre-speciale-client'name'linkedin-client')]
  1508.     public function linkedin_client(): Response
  1509.     {
  1510.         $cabinet = new Cabinet();
  1511.         $form_cabinet $this->createForm(CabinetType::class, $cabinet);
  1512.         $form_cabinet->handleRequest($this->request->getCurrentRequest());
  1513.         if ($form_cabinet->isSubmitted() && $form_cabinet->isValid()) {
  1514.             if (isset($_COOKIE['afid'])) {
  1515.                 // Récupère la valeur du cookie 'afid'
  1516.                 $afidValue $_COOKIE['afid'];
  1517.                 $cabinet->setAfid($afidValue);
  1518.             }
  1519.             $this->em->persist($cabinet);
  1520.             $this->em->flush();
  1521.             $this->saveAsNewsletter($cabinet->getName(), $cabinet->getEmail());
  1522.             $email = new Mail();
  1523.             $email->sendLinkedin($cabinet->getCabinet(), $cabinet->getPage(), $cabinet->getAfid());
  1524.             $this->addFlash('success''Votre message a bien été envoyé');
  1525.         }
  1526.         return $this->render('Front/linkedin-client/linkedin-client.html.twig', [
  1527.             'title' => "Boostez l'animation de votre profil LinkedIn",
  1528.             'formCabinet' => $form_cabinet->createView(),
  1529.         ]);
  1530.     }
  1531.     #[Route('/animation-linkedin'name'linkedin-non-client')]
  1532.     public function linkedin_non_client(): Response
  1533.     {
  1534.         $audit = new Audit();
  1535.         $form_audit $this->createForm(AuditType::class, $audit);
  1536.         $form_audit->handleRequest($this->request->getCurrentRequest());
  1537.         if ($form_audit->isSubmitted() && $form_audit->isValid()) {
  1538.             if (isset($_COOKIE['afid'])) {
  1539.                 // Récupère la valeur du cookie 'afid'
  1540.                 $afidValue $_COOKIE['afid'];
  1541.                 $audit->setAfid($afidValue);
  1542.             }
  1543.             $this->em->persist($audit);
  1544.             $this->em->flush();
  1545.             $this->saveAsNewsletter($audit->getName(), $audit->getEmail());
  1546.             $email = new Mail();
  1547.             $email->sendLinkedinNonClient($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
  1548.             $email->sendToUserLinkedin($audit->getName(), $audit->getEmail());
  1549.             $this->addFlash('success''Votre message a bien été envoyé');
  1550.         }
  1551.         // return $this->render('Front/linkedin-client/linkedin-non-client.html.twig', [
  1552.         //     'title' => "L’offre Linkedin by lagence.expert",
  1553.         //     'formCabinet' => $form_audit->createView(),
  1554.         // ]);
  1555.         return $this->render('Front/linkedin-client/linkedin-prospect.html.twig', [
  1556.             'title' => "Boostez l'animation de votre profil LinkedIn",
  1557.             'formCabinet' => $form_audit->createView(),
  1558.         ]);
  1559.     }
  1560.     #[Route('/newsletter-du-mois-prescripteur'name'newsletter-du-mois-prescripteur')]
  1561.     public function NewsletterActu_prescripteur(Request $request): Response
  1562.     {
  1563.         $parrainage = new Parrainage;
  1564.         $formParrainage $this->createForm(ParrainageType::class, $parrainage);
  1565.         $formParrainage->handleRequest($this->request->getCurrentRequest());
  1566.         if ($formParrainage->isSubmitted() && $formParrainage->isValid()) {
  1567.             $this->em->persist($parrainage);
  1568.             $this->em->flush();
  1569.             $this->saveAsNewsletter($parrainage->getName(), $parrainage->getEmail());
  1570.             $email = new Mail();
  1571.             $email->sendParrainage($parrainage->getCabinet(), $parrainage->getName(), $parrainage->getTelephone(), $parrainage->getEmail(), $parrainage->getPage());
  1572.             $email->sendParrainageClient($parrainage->getCabinet(), $parrainage->getName(), $parrainage->getTelephone(), $parrainage->getEmail());
  1573.             $this->addFlash('success'"Votre demande a été envoyé avec succès. On va vous recontacter dans les plus brefs délais. Au plaisir d'échanger 🚀");
  1574.             if ($request->getHttpHost() === "127.0.0.1:8000") {
  1575.                 $domain "127.0.0.1";
  1576.             } else {
  1577.                 $domain $request->getHttpHost();
  1578.             }
  1579.             $cookie Cookie::create('accessNewsletterDuMoisPrescripteur')
  1580.                 ->withValue('true')
  1581.                 ->withExpires(time() + (10 365 24 60 60))
  1582.                 ->withDomain($domain)
  1583.                 ->withSecure(true);
  1584.             $response = new Response();
  1585.             $response->headers->setCookie($cookie);
  1586.             $response->sendHeaders();
  1587.             return $this->redirectToRoute('newsletter-du-mois-prescripteur');
  1588.         }
  1589.         return $this->render('Front/widget/newsletter-du-mois-prescripteur.html.twig', [
  1590.             'title' => "L'actualité du mois Prescripteur",
  1591.             'formNewsDuMois' => $formParrainage->createView(),
  1592.             'formNewsDuMois2' => $formParrainage->createView(),
  1593.             'formNewsDuMois3' => $formParrainage->createView(),
  1594.             'formNewsDuMois4' => $formParrainage->createView(),
  1595.         ]);
  1596.     }
  1597.     #[Route('/optimisation-profil-linkedin'name'profil_linkedin')]
  1598.     public function profil_linkedin(Request $request): Response
  1599.     {
  1600.         $audit = new Audit();
  1601.         $form_audit $this->createForm(AuditType::class, $audit);
  1602.         $form_audit->handleRequest($this->request->getCurrentRequest());
  1603.         if ($form_audit->isSubmitted() && $form_audit->isValid()) {
  1604.             if (isset($_COOKIE['afid'])) {
  1605.                 // Récupère la valeur du cookie 'afid'
  1606.                 $afidValue $_COOKIE['afid'];
  1607.                 $audit->setAfid($afidValue);
  1608.             }
  1609.             $this->em->persist($audit);
  1610.             $this->em->flush();
  1611.             $this->saveAsNewsletter($audit->getName(), $audit->getEmail());
  1612.             $email = new Mail();
  1613.             $email->sendLinkedinOptimisation($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
  1614.             $email->sendToUserLinkedinOptimisation($audit->getName(), $audit->getEmail());
  1615.             $this->addFlash('success''Votre message a bien été envoyé');
  1616.         }
  1617.         return $this->render('Front/profil-linkedin/profil_linkedin.html.twig', [
  1618.             'title' => "Optimisez votre profil Linkedin by lagence.expert",
  1619.             'formCabinet' => $form_audit->createView(),
  1620.         ]);
  1621.     }
  1622.     #[Route('/google-ads'name'google-ads')]
  1623.     public function googleAds(): Response
  1624.     {
  1625.         // Le formulaire d'audit (form_audit) et la newsletter (form_news2) sont
  1626.         // créés et traités par AbstractFrontController::render().
  1627.         return $this->render('Front/google-ads/index.html.twig', [
  1628.             'title' => "Google Ads",
  1629.         ]);
  1630.     }
  1631.     #[Route('/nom-commercial-offre-speciale-cjec'name'nom_commercial_cjec')]
  1632.     public function NomCommercialCJEC(Request $request): Response
  1633.     {
  1634.         $audit = new Audit();
  1635.         $form_audit $this->createForm(AuditType::class, $audit);
  1636.         $form_audit->handleRequest($this->request->getCurrentRequest());
  1637.         if ($form_audit->isSubmitted() && $form_audit->isValid()) {
  1638.             if (isset($_COOKIE['afid'])) {
  1639.                 // Récupère la valeur du cookie 'afid'
  1640.                 $afidValue $_COOKIE['afid'];
  1641.                 $audit->setAfid($afidValue);
  1642.             }
  1643.             $this->em->persist($audit);
  1644.             $this->em->flush();
  1645.             $this->saveAsNewsletter($audit->getName(), $audit->getEmail());
  1646.             $email = new Mail();
  1647.             $email->sendNC($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
  1648.             $email->sendToUserNC($audit->getName(), $audit->getEmail());
  1649.             $this->addFlash('success''Votre message a bien été envoyé');
  1650.         }
  1651.         return $this->render('Front/nom-commercial/nom-commercial-cjec.html.twig', [
  1652.             'title' => "Nom commercial offre spéciale CJEC by lagence.expert",
  1653.             'formRh' => $form_audit->createView(),
  1654.         ]);
  1655.     }
  1656.     #[Route('optimisez-votre-fiche-google-my-business'name'fiche_gmb')]
  1657.     public function gmb(Request $request): Response
  1658.     {
  1659.         $audit = new Audit();
  1660.         $form_audit $this->createForm(AuditType::class, $audit);
  1661.         $form_audit->handleRequest($this->request->getCurrentRequest());
  1662.         if ($form_audit->isSubmitted() && $form_audit->isValid()) {
  1663.             if (isset($_COOKIE['afid'])) {
  1664.                 // Récupère la valeur du cookie 'afid'
  1665.                 $afidValue $_COOKIE['afid'];
  1666.                 $audit->setAfid($afidValue);
  1667.             }
  1668.             $this->em->persist($audit);
  1669.             $this->em->flush();
  1670.             $this->saveAsNewsletter($audit->getName(), $audit->getEmail());
  1671.             $email = new Mail();
  1672.             $email->sendFicheGMB($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
  1673.             $email->sendToUserFicheGMB($audit->getName(), $audit->getEmail());
  1674.             $this->addFlash('success''Votre message a bien été envoyé');
  1675.         }
  1676.         return $this->render('Front/fiche-gmb/fiche_gmb.html.twig', [
  1677.             'title' => "Optimisez votre fiche Google My Business by lagence.expert",
  1678.             'formCabinet' => $form_audit->createView(),
  1679.         ]);
  1680.     }
  1681.     #[Route('realisations/update-position'name'realisations_update_position')]
  1682.     public function reference_test(Request $requestRealisationRepository $realisationRepository): Response
  1683.     {
  1684.         $realisations $realisationRepository->findBy([], ['position' => 'ASC']);
  1685.         return $this->render('Front/realisations/test.html.twig', [
  1686.             'title' => "reference",
  1687.             'realisations' => $realisations
  1688.         ]);
  1689.     }
  1690.     #[Route('/podcast2'name'podcast2_redirect')]
  1691.     public function redirectPodcast(): RedirectResponse
  1692.     {
  1693.         return $this->redirectToRoute('podcast2');
  1694.     }
  1695.     #[Route('/podcast'name'podcast2')]
  1696.     public function podcast(): Response
  1697.     {
  1698.         $notifPodcast = new NotifPodcast;
  1699.         $formNotifPodcast $this->createForm(PlaceExpertContactType::class, $notifPodcast); // form être informé de la sortie d'un épisode
  1700.         $formNotifPodcast->handleRequest($this->request->getCurrentRequest());
  1701.         if ($formNotifPodcast->isSubmitted() && $formNotifPodcast->isValid()) {
  1702.             if (isset($_COOKIE['afid'])) {
  1703.                 // Récupère la valeur du cookie 'afid'
  1704.                 $afidValue $_COOKIE['afid'];
  1705.                 $notifPodcast->setAfid($afidValue);
  1706.             }
  1707.             $this->em->persist($notifPodcast);
  1708.             $this->em->flush();
  1709.             $email = new Mail();
  1710.             $email->sendNotifPodcast($formNotifPodcast['name']->getData(), $formNotifPodcast['email']->getData(), $notifPodcast->getAfid());
  1711.             $this->addFlash('success''Nous vous enverrons un mail à la sortie du prochain épisode de place à l\'expert, merci pour votre confiance ! ');
  1712.             if ($request->getHttpHost() === "127.0.0.1:8000") {
  1713.                 $domain "127.0.0.1";
  1714.             } else {
  1715.                 $domain $request->getHttpHost();
  1716.             }
  1717.             $cookie Cookie::create('accessPodcast')
  1718.                 ->withValue('true')
  1719.                 ->withExpires(time() + (10 365 24 60 60))
  1720.                 ->withDomain($domain)
  1721.                 ->withSecure(true);
  1722.             $response = new Response();
  1723.             $response->headers->setCookie($cookie);
  1724.             $response->sendHeaders();
  1725.             return $this->redirectToRoute('place_expert_comptable');
  1726.         }
  1727.         return $this->render('Front/podcast2/index.html.twig', [
  1728.             'title' => "Podcast",
  1729.             'formNotif' => $formNotifPodcast->createView(),
  1730.         ]);
  1731.     }
  1732.     #[Route('/newsletter-du-mois-cec'name'newsletter-actu-cec')]
  1733.     public function NewsletterActuCEC(Request $request): Response
  1734.     {
  1735.         $newsletterDuMois = new NewsletterDuMois;
  1736.         $formnewsletterDuMois $this->createForm(NewsletterDuMoisType::class, $newsletterDuMois);
  1737.         $formnewsletterDuMois->handleRequest($this->request->getCurrentRequest());
  1738.         if ($formnewsletterDuMois->isSubmitted() && $formnewsletterDuMois->isValid()) {
  1739.             if (isset($_COOKIE['afid'])) {
  1740.                 // Récupère la valeur du cookie 'afid'
  1741.                 $afidValue $_COOKIE['afid'];
  1742.                 $newsletterDuMois->setAfid($afidValue);
  1743.             }
  1744.             $this->em->persist($newsletterDuMois);
  1745.             $this->em->flush();
  1746.             $this->saveAsNewsletter($newsletterDuMois->getName(), $newsletterDuMois->getEmail());
  1747.             $email = new Mail();
  1748.             $email->sendNewsletterDuMoisCEC($formnewsletterDuMois['name']->getData(), $formnewsletterDuMois['phone']->getData(), $formnewsletterDuMois['email']->getData());
  1749.             $email->sendNewsletterSimulateurCEC($formnewsletterDuMois['name']->getData(), $formnewsletterDuMois['phone']->getData(), $formnewsletterDuMois['email']->getData(), $formnewsletterDuMois['page']->getData(), $formnewsletterDuMois['cabinet']->getData(), $newsletterDuMois->getAfid());
  1750.             $email->sendNewsletterSimulateurCECCopie($formnewsletterDuMois['name']->getData(), $formnewsletterDuMois['phone']->getData(), $formnewsletterDuMois['email']->getData(), $formnewsletterDuMois['page']->getData(), $formnewsletterDuMois['cabinet']->getData());
  1751.             $this->addFlash('success'"Votre demande a été envoyé avec succès. On va vous recontacter dans les plus brefs délais. Au plaisir d'échanger 🚀");
  1752.             if ($request->getHttpHost() === "127.0.0.1:8000") {
  1753.                 $domain "127.0.0.1";
  1754.             } else {
  1755.                 $domain $request->getHttpHost();
  1756.             }
  1757.             $cookie Cookie::create('accessNewsletterDuMoisCEC')
  1758.                 ->withValue('true')
  1759.                 ->withExpires(time() + (10 365 24 60 60))
  1760.                 ->withDomain($domain)
  1761.                 ->withSecure(true);
  1762.             $response = new Response();
  1763.             $response->headers->setCookie($cookie);
  1764.             $response->sendHeaders();
  1765.             return $this->redirectToRoute('newsletter-actu-cec');
  1766.         }
  1767.         return $this->render('Front/widget/newsletter-du-mois-cec.html.twig', [
  1768.             'title' => "L'actualité du mois by CEC",
  1769.             'formNewsDuMois' => $formnewsletterDuMois->createView(),
  1770.             'formNewsDuMois2' => $formnewsletterDuMois->createView(),
  1771.             'formNewsDuMois3' => $formnewsletterDuMois->createView(),
  1772.             'formNewsDuMois4' => $formnewsletterDuMois->createView(),
  1773.         ]);
  1774.     }
  1775.     #[Route('/place-a-l-expert'name'pal-offre')]
  1776.     public function palNew(Request $request): Response
  1777.     {
  1778.         return $this->redirectToRoute('newsletter-actu');
  1779.         $newsletterDuMois = new NewsletterDuMois;
  1780.         $formnewsletterDuMois $this->createForm(NewsletterDuMoisType::class, $newsletterDuMois);
  1781.         $formnewsletterDuMois->handleRequest($this->request->getCurrentRequest());
  1782.         if ($formnewsletterDuMois->isSubmitted() && $formnewsletterDuMois->isValid()) {
  1783.             if (isset($_COOKIE['afid'])) {
  1784.                 // Récupère la valeur du cookie 'afid'
  1785.                 $afidValue $_COOKIE['afid'];
  1786.                 $newsletterDuMois->setAfid($afidValue);
  1787.             }
  1788.             $this->em->persist($newsletterDuMois);
  1789.             $this->em->flush();
  1790.             $this->saveAsNewsletter($newsletterDuMois->getName(), $newsletterDuMois->getEmail());
  1791.             $email = new Mail();
  1792.             $email->sendPALClient($formnewsletterDuMois['name']->getData(), $formnewsletterDuMois['phone']->getData(), $formnewsletterDuMois['email']->getData());
  1793.             $email->sendPAL($formnewsletterDuMois['name']->getData(), $formnewsletterDuMois['phone']->getData(), $formnewsletterDuMois['email']->getData(), $formnewsletterDuMois['page']->getData(), $newsletterDuMois->getAfid());
  1794.             $this->addFlash('success'"Votre demande a été envoyé avec succès. On va vous recontacter dans les plus brefs délais. Au plaisir d'échanger 🚀");
  1795.             if ($request->getHttpHost() === "127.0.0.1:8000") {
  1796.                 $domain "127.0.0.1";
  1797.             } else {
  1798.                 $domain $request->getHttpHost();
  1799.             }
  1800.             $cookie Cookie::create('accessPAL')
  1801.                 ->withValue('true')
  1802.                 ->withExpires(time() + (10 365 24 60 60))
  1803.                 ->withDomain($domain)
  1804.                 ->withSecure(true);
  1805.             $response = new Response();
  1806.             $response->headers->setCookie($cookie);
  1807.             $response->sendHeaders();
  1808.             return $this->redirectToRoute('pal-offre');
  1809.         }
  1810.         return $this->render('Front/widget/pal.html.twig', [
  1811.             'title' => "Place à l’Expert",
  1812.             'formNewsDuMois' => $formnewsletterDuMois->createView(),
  1813.             'formNewsDuMois2' => $formnewsletterDuMois->createView(),
  1814.             'formNewsDuMois3' => $formnewsletterDuMois->createView(),
  1815.             'formNewsDuMois4' => $formnewsletterDuMois->createView(),
  1816.         ]);
  1817.     }
  1818.     #[Route('/place-a-l-expert-offre-speciale-client'name'pal-offre-client')]
  1819.     public function palNew_client(Request $request): Response
  1820.     {
  1821.         $cabinet = new Cabinet();
  1822.         $formCabinet $this->createForm(CabinetType::class, $cabinet);
  1823.         $formCabinet->handleRequest($this->request->getCurrentRequest());
  1824.         if ($formCabinet->isSubmitted() && $formCabinet->isValid()) {
  1825.             if (isset($_COOKIE['afid'])) {
  1826.                 // Récupère la valeur du cookie 'afid'
  1827.                 $afidValue $_COOKIE['afid'];
  1828.                 $cabinet->setAfid($afidValue);
  1829.             }
  1830.             $this->em->persist($cabinet);
  1831.             $this->em->flush();
  1832.             $this->saveAsNewsletter($cabinet->getName(), $cabinet->getEmail());
  1833.             $email = new Mail();
  1834.             $email->sendPALOffreClient($formCabinet['cabinet']->getData(), $formCabinet['page']->getData(), $cabinet->getAfid());
  1835.             $this->addFlash('success'"Votre demande a été envoyé avec succès. On va vous recontacter dans les plus brefs délais. Au plaisir d'échanger 🚀");
  1836.             if ($request->getHttpHost() === "127.0.0.1:8000") {
  1837.                 $domain "127.0.0.1";
  1838.             } else {
  1839.                 $domain $request->getHttpHost();
  1840.             }
  1841.             $cookie Cookie::create('accessPAL')
  1842.                 ->withValue('true')
  1843.                 ->withExpires(time() + (10 365 24 60 60))
  1844.                 ->withDomain($domain)
  1845.                 ->withSecure(true);
  1846.             $response = new Response();
  1847.             $response->headers->setCookie($cookie);
  1848.             $response->sendHeaders();
  1849.             return $this->redirectToRoute('pal-offre-client');
  1850.         }
  1851.         return $this->render('Front/widget/pal-client.html.twig', [
  1852.             'title' => "Place à l’Expert Offre spéciale client",
  1853.             'formCabinet' => $formCabinet->createView(),
  1854.             'formCabinet2' => $formCabinet->createView(),
  1855.         ]);
  1856.     }
  1857.     #[Route('/offre-speciale-viseeon'name'viseeon')]
  1858.     public function viseeon(): Response
  1859.     {
  1860.         $audit = new Audit();
  1861.         $form_audit $this->createForm(AuditType::class, $audit);
  1862.         $form_audit->handleRequest($this->request->getCurrentRequest());
  1863.         if ($form_audit->isSubmitted() && $form_audit->isValid()) {
  1864.             if (isset($_COOKIE['afid'])) {
  1865.                 // Récupère la valeur du cookie 'afid'
  1866.                 $afidValue $_COOKIE['afid'];
  1867.                 $audit->setAfid($afidValue);
  1868.             }
  1869.             $this->em->persist($audit);
  1870.             $this->em->flush();
  1871.             $this->saveAsNewsletter($audit->getName(), $audit->getEmail());
  1872.             $email = new Mail();
  1873.             $email->sendAuditViseeon($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
  1874.             $email->sendPartnerAuditViseeon($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage());
  1875.             $email->sendToUserAuditViseeon($audit->getName(), $audit->getEmail());
  1876.             $this->addFlash('success''Votre message a bien été envoyé');
  1877.         }
  1878.         return $this->render('Front/viseeon/viseeon.html.twig', [
  1879.             'title' => "Landingpage Viseeon by lagence.expert",
  1880.             'formRh' => $form_audit->createView(),
  1881.         ]);
  1882.     }
  1883.     #[Route('/offre-speciale-cjec'name'cjec')]
  1884.     public function cjec(): Response
  1885.     {
  1886.         $audit = new Audit();
  1887.         $form_audit $this->createForm(AuditType::class, $audit);
  1888.         $form_audit->handleRequest($this->request->getCurrentRequest());
  1889.         if ($form_audit->isSubmitted() && $form_audit->isValid()) {
  1890.             if (isset($_COOKIE['afid'])) {
  1891.                 // Récupère la valeur du cookie 'afid'
  1892.                 $afidValue $_COOKIE['afid'];
  1893.                 $audit->setAfid($afidValue);
  1894.             }
  1895.             $this->em->persist($audit);
  1896.             $this->em->flush();
  1897.             $this->saveAsNewsletter($audit->getName(), $audit->getEmail());
  1898.             $email = new Mail();
  1899.             $email->sendAuditCJEC($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
  1900.             $email->sendToUserAuditCJEC($audit->getName(), $audit->getEmail());
  1901.             $this->addFlash('success''Votre message a bien été envoyé');
  1902.         }
  1903.         return $this->render('Front/cjec/cjec.html.twig', [
  1904.             'title' => "Landingpage CJEC by lagence.expert",
  1905.             'formRh' => $form_audit->createView(),
  1906.         ]);
  1907.     }
  1908.     #[Route('/place-a-l-expert-comptable'name'place_expert_comptable')]
  1909.     public function place_expert_comptable(Request $request): Response
  1910.     {
  1911.         $contactPodcast = new ContactPodcast//form ajout du widget
  1912.         $formPodcast $this->createForm(PodcastContactType::class, $contactPodcast);
  1913.         $formPodcast->handleRequest($this->request->getCurrentRequest());
  1914.         if ($formPodcast->isSubmitted() && $formPodcast->isValid()) {
  1915.             if (isset($_COOKIE['afid'])) {
  1916.                 // Récupère la valeur du cookie 'afid'
  1917.                 $afidValue $_COOKIE['afid'];
  1918.                 $contactPodcast->setAfid($afidValue);
  1919.             }
  1920.             $this->em->persist($contactPodcast);
  1921.             $this->em->flush();
  1922.             $this->saveAsNewsletter($contactPodcast->getName(), $contactPodcast->getEmail());
  1923.             $email = new Mail();
  1924.             $email->sendPodcast($contactPodcast->getEmail(), $contactPodcast->getSiteInternet(), $contactPodcast->getAfid());
  1925.             $this->addFlash('success''Vous allez bientôt recevoir le widget par mail, merci pour votre confiance !');
  1926.         }
  1927.         $notifPodcast = new NotifPodcast;
  1928.         $formNotifPodcast $this->createForm(PlaceExpertContactType::class, $notifPodcast); // form être informé de la sortie d'un épisode
  1929.         $formNotifPodcast->handleRequest($this->request->getCurrentRequest());
  1930.         if ($formNotifPodcast->isSubmitted() && $formNotifPodcast->isValid()) {
  1931.             if (isset($_COOKIE['afid'])) {
  1932.                 // Récupère la valeur du cookie 'afid'
  1933.                 $afidValue $_COOKIE['afid'];
  1934.                 $notifPodcast->setAfid($afidValue);
  1935.             }
  1936.             $this->em->persist($notifPodcast);
  1937.             $this->em->flush();
  1938.             $email = new Mail();
  1939.             $email->sendNotifPodcast($formNotifPodcast['name']->getData(), $formNotifPodcast['email']->getData(), $notifPodcast->getAfid());
  1940.             $this->addFlash('success''Nous vous enverrons un mail à la sortie du prochain épisode de place à l\'expert, merci pour votre confiance ! ');
  1941.             if ($request->getHttpHost() === "127.0.0.1:8000") {
  1942.                 $domain "127.0.0.1";
  1943.             } else {
  1944.                 $domain $request->getHttpHost();
  1945.             }
  1946.             $cookie Cookie::create('accessPodcast')
  1947.                 ->withValue('true')
  1948.                 ->withExpires(time() + (10 365 24 60 60))
  1949.                 ->withDomain($domain)
  1950.                 ->withSecure(true);
  1951.             $response = new Response();
  1952.             $response->headers->setCookie($cookie);
  1953.             $response->sendHeaders();
  1954.             return $this->redirectToRoute('place_expert_comptable');
  1955.         }
  1956.         return $this->render('Front/place_expert_comptable/index.html.twig', [
  1957.             'title' => "Podcast Place à l’Expert-comptable au-delà des chiffres 🚀",
  1958.             'formPodcast' => $formPodcast->createView(),
  1959.             'formNotif' => $formNotifPodcast->createView(),
  1960.             'formNotif2' => $formNotifPodcast->createView(),
  1961.         ]);
  1962.     }
  1963.     #[Route('/place-a-l-expert-comptable-2'name'place_expert_comptable_2')]
  1964.     public function place_expert_comptable2(Request $request): Response
  1965.     {
  1966.         return $this->render('Front/place_expert_comptable/index.html.twig', [
  1967.             'title' => "Podcast Place à l’Expert-comptable au-delà des chiffres 🚀",
  1968.         ]);
  1969.     }
  1970.     #[Route('/palec'name'palec')]
  1971.     public function palec(Request $request): Response
  1972.     {
  1973.         $contactPodcast = new ContactPodcast//form ajout du widget
  1974.         $formPodcast $this->createForm(PodcastContactType::class, $contactPodcast);
  1975.         $formPodcast->handleRequest($this->request->getCurrentRequest());
  1976.         if ($formPodcast->isSubmitted() && $formPodcast->isValid()) {
  1977.             if (isset($_COOKIE['afid'])) {
  1978.                 // Récupère la valeur du cookie 'afid'
  1979.                 $afidValue $_COOKIE['afid'];
  1980.                 $contactPodcast->setAfid($afidValue);
  1981.             }
  1982.             $this->em->persist($contactPodcast);
  1983.             $this->em->flush();
  1984.             $this->saveAsNewsletter($contactPodcast->getName(), $contactPodcast->getEmail());
  1985.             $email = new Mail();
  1986.             $email->sendPodcast($contactPodcast->getEmail(), $contactPodcast->getSiteInternet(), $contactPodcast->getAfid());
  1987.             $this->addFlash('success''Vous allez bientôt recevoir le widget par mail, merci pour votre confiance !');
  1988.         }
  1989.         return $this->render('Front/palec/index.html.twig', [
  1990.             'title' => "PALEC",
  1991.             'formPodcast' => $formPodcast->createView(),
  1992.         ]);
  1993.     }
  1994.     #[Route('/emailing'name'emailing')]
  1995.     public function emailing(): Response
  1996.     {
  1997.         $audit = new Audit();
  1998.         $form_audit $this->createForm(AuditType::class, $audit);
  1999.         $form_audit->handleRequest($this->request->getCurrentRequest());
  2000.         if ($form_audit->isSubmitted() && $form_audit->isValid()) {
  2001.             if (isset($_COOKIE['afid'])) {
  2002.                 // Récupère la valeur du cookie 'afid'
  2003.                 $afidValue $_COOKIE['afid'];
  2004.                 $audit->setAfid($afidValue);
  2005.             }
  2006.             $this->em->persist($audit);
  2007.             $this->em->flush();
  2008.             $this->saveAsNewsletter($audit->getName(), $audit->getEmail());
  2009.             $email = new Mail();
  2010.             $email->sendEmailing($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
  2011.             $email->sendToUserEmailing($audit->getName(), $audit->getEmail());
  2012.             $this->addFlash('success''Votre message a bien été envoyé');
  2013.         }
  2014.         return $this->render('Front/widget-emailing/index.html.twig', [
  2015.             'title' => "Emailing by lagence.expert",
  2016.             'formCabinet' => $form_audit->createView(),
  2017.         ]);
  2018.     }
  2019.     #[Route('/calendly'name'calendly')]
  2020.     public function calendly(): Response
  2021.     {
  2022.         return $this->render('Front/calendly/index.html.twig', [
  2023.             'title' => "Calendly",
  2024.         ]);
  2025.     }
  2026.     #[Route('/whatsapp'name'whatsapp')]
  2027.     public function whatsapp(): Response
  2028.     {
  2029.         return $this->render('Front/whatsapp/index.html.twig', [
  2030.             'title' => "WhatsApp",
  2031.         ]);
  2032.     }
  2033.     #[Route('/live-linkedin'name'live-linkedin')]
  2034.     public function liveLinkedin(): Response
  2035.     {
  2036.         $request $this->request->getCurrentRequest();
  2037.         // Formulaire « pose ta question » propre à cette page : mêmes champs que
  2038.         // l'audit mais SANS téléphone (AuditLinkedinType). Le traitement reste
  2039.         // identique à l'index (persistance + newsletter + mail) via le handler
  2040.         // partagé handleAuditSubmission().
  2041.         $audit = new Audit();
  2042.         $form_question $this->formFactory->createNamed(
  2043.             'form_question',
  2044.             AuditLinkedinType::class,
  2045.             $audit,
  2046.             ['attr' => ['id' => 'form_question_anchor']]
  2047.         );
  2048.         $form_question->handleRequest($request);
  2049.         if ($form_question->isSubmitted() && $form_question->isValid()) {
  2050.             $this->handleAuditSubmission($audit);
  2051.             return $this->redirect($request->getRequestUri() . '#form_question_anchor');
  2052.         }
  2053.         return $this->render('Front/live-linkedin/index.html.twig', [
  2054.             'title' => "Live LinkedIn",
  2055.             'form_question' => $form_question->createView(),
  2056.         ]);
  2057.     }
  2058.     #[Route('/offre-speciale-animation-site-cjec'name'cjec-animation-site')]
  2059.     public function cjec_animation(): Response
  2060.     {
  2061.         $audit = new Audit();
  2062.         $form_audit $this->createForm(AuditType::class, $audit);
  2063.         $form_audit->handleRequest($this->request->getCurrentRequest());
  2064.         if ($form_audit->isSubmitted() && $form_audit->isValid()) {
  2065.             if (isset($_COOKIE['afid'])) {
  2066.                 // Récupère la valeur du cookie 'afid'
  2067.                 $afidValue $_COOKIE['afid'];
  2068.                 $audit->setAfid($afidValue);
  2069.             }
  2070.             $this->em->persist($audit);
  2071.             $this->em->flush();
  2072.             $this->saveAsNewsletter($audit->getName(), $audit->getEmail());
  2073.             $email = new Mail();
  2074.             $email->sendAuditCJEC($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
  2075.             $email->sendToUserAuditCJEC($audit->getName(), $audit->getEmail());
  2076.             $this->addFlash('success''Votre message a bien été envoyé');
  2077.         }
  2078.         return $this->render('Front/cjec/cjec-animation-site.html.twig', [
  2079.             'title' => "Landingpage Animation Site CJEC by lagence.expert",
  2080.             'formRh' => $form_audit->createView(),
  2081.         ]);
  2082.     }
  2083.     #[Route('/aides-aux-entreprises'name'aides-aux-entreprises')]
  2084.     public function newsletter_aide_entreprise(Request $request): Response
  2085.     {
  2086.         $newsletterDuMois = new NewsletterDuMois;
  2087.         $formnewsletterDuMois $this->createForm(NewsletterDuMoisType::class, $newsletterDuMois);
  2088.         $formnewsletterDuMois->handleRequest($this->request->getCurrentRequest());
  2089.         if ($formnewsletterDuMois->isSubmitted() && $formnewsletterDuMois->isValid()) {
  2090.             if (isset($_COOKIE['afid'])) {
  2091.                 // Récupère la valeur du cookie 'afid'
  2092.                 $afidValue $_COOKIE['afid'];
  2093.                 $newsletterDuMois->setAfid($afidValue);
  2094.             }
  2095.             $this->em->persist($newsletterDuMois);
  2096.             $this->em->flush();
  2097.             $this->saveAsNewsletter($newsletterDuMois->getName(), $newsletterDuMois->getEmail());
  2098.             $email = new Mail();
  2099.             $email->sendAideAuxEntreprise($formnewsletterDuMois['name']->getData(), $formnewsletterDuMois['phone']->getData(), $formnewsletterDuMois['email']->getData());
  2100.             $email->sendAideauentrepriseDemande($formnewsletterDuMois['name']->getData(), $formnewsletterDuMois['phone']->getData(), $formnewsletterDuMois['email']->getData(), $formnewsletterDuMois['page']->getData(), $newsletterDuMois->getAfid());
  2101.             $this->addFlash('success'"Votre demande a été envoyé avec succès. On va vous recontacter dans les plus brefs délais. Au plaisir d'échanger 🚀");
  2102.             if ($request->getHttpHost() === "127.0.0.1:8000") {
  2103.                 $domain "127.0.0.1";
  2104.             } else {
  2105.                 $domain $request->getHttpHost();
  2106.             }
  2107.             $cookie Cookie::create('accessAidesAuxEntreprises')
  2108.                 ->withValue('true')
  2109.                 ->withExpires(time() + (10 365 24 60 60))
  2110.                 ->withDomain($domain)
  2111.                 ->withSecure(true);
  2112.             $response = new Response();
  2113.             $response->headers->setCookie($cookie);
  2114.             $response->sendHeaders();
  2115.             return $this->redirectToRoute('aides-aux-entreprises');
  2116.         }
  2117.         return $this->render('Front/widget/aide-entreprise.html.twig', [
  2118.             'title' => "Plus de 2000 aides pour votre entreprise",
  2119.             'formNewsDuMois' => $formnewsletterDuMois->createView(),
  2120.             'formNewsDuMois2' => $formnewsletterDuMois->createView(),
  2121.             'formNewsDuMois3' => $formnewsletterDuMois->createView(),
  2122.             'formNewsDuMois4' => $formnewsletterDuMois->createView(),
  2123.         ]);
  2124.     }
  2125.     #[Route('/aides-aux-entreprises-offre-speciale-client'name'aides-aux-entreprises-offre-special-client')]
  2126.     public function newsletter_aide_entreprise_client(Request $request): Response
  2127.     {
  2128.         $cabinet = new Cabinet;
  2129.         $formnewsletterDuMois $this->createForm(CabinetType::class, $cabinet);
  2130.         $formnewsletterDuMois->handleRequest($this->request->getCurrentRequest());
  2131.         if ($formnewsletterDuMois->isSubmitted() && $formnewsletterDuMois->isValid()) {
  2132.             if (isset($_COOKIE['afid'])) {
  2133.                 // Récupère la valeur du cookie 'afid'
  2134.                 $afidValue $_COOKIE['afid'];
  2135.                 $cabinet->setAfid($afidValue);
  2136.             }
  2137.             $this->em->persist($cabinet);
  2138.             $this->em->flush();
  2139.             $this->saveAsNewsletter($cabinet->getName(), $cabinet->getEmail());
  2140.             $email = new Mail();
  2141.             $email->sendAideAuxEntrepriseClient($formnewsletterDuMois['cabinet']->getData(), $formnewsletterDuMois['page']->getData(), $cabinet->getAfid());
  2142.             $this->addFlash('success'"Votre demande a été envoyé avec succès. On va vous recontacter dans les plus brefs délais. Au plaisir d'échanger 🚀");
  2143.             if ($request->getHttpHost() === "127.0.0.1:8000") {
  2144.                 $domain "127.0.0.1";
  2145.             } else {
  2146.                 $domain $request->getHttpHost();
  2147.             }
  2148.             $cookie Cookie::create('accessAidesAuxEntreprises')
  2149.                 ->withValue('true')
  2150.                 ->withExpires(time() + (10 365 24 60 60))
  2151.                 ->withDomain($domain)
  2152.                 ->withSecure(true);
  2153.             $response = new Response();
  2154.             $response->headers->setCookie($cookie);
  2155.             $response->sendHeaders();
  2156.             return $this->redirectToRoute('aides-aux-entreprises-offre-special-client');
  2157.         }
  2158.         return $this->render('Front/widget/aide-entreprise-client.html.twig', [
  2159.             'title' => "Plus de 2000 aides pour votre entreprise",
  2160.             'formNewsDuMois' => $formnewsletterDuMois->createView(),
  2161.             'formNewsDuMois2' => $formnewsletterDuMois->createView(),
  2162.             'formNewsDuMois3' => $formnewsletterDuMois->createView(),
  2163.             'formNewsDuMois4' => $formnewsletterDuMois->createView(),
  2164.         ]);
  2165.     }
  2166.     #[Route('/widget-aides-aux-entreprises'name'widget-aides-aux-entreprises')]
  2167.     public function aides_aux_entreprises(Request $request): Response
  2168.     {
  2169.         return $this->render('Front/widget/widget-aides-aux-entreprises.html.twig', [
  2170.             'title' => "Plus de 2000 aides pour votre entreprise",
  2171.         ]);
  2172.     }
  2173.     #[Route('/landing-page-webinaire'name'landing-page-webinaire')]
  2174.     public function landing_page_webinaire(): Response
  2175.     {
  2176.         $audit = new Audit();
  2177.         $form_audit $this->createForm(AuditType::class, $audit);
  2178.         $form_audit->handleRequest($this->request->getCurrentRequest());
  2179.         if ($form_audit->isSubmitted() && $form_audit->isValid()) {
  2180.             if (isset($_COOKIE['afid'])) {
  2181.                 // Récupère la valeur du cookie 'afid'
  2182.                 $afidValue $_COOKIE['afid'];
  2183.                 $audit->setAfid($afidValue);
  2184.             }
  2185.             $this->em->persist($audit);
  2186.             $this->em->flush();
  2187.             $this->saveAsNewsletter($audit->getName(), $audit->getEmail());
  2188.             $email = new Mail();
  2189.             $email->sendAuditWebinaire($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
  2190.             $email->sendToUserAuditWebinaire($audit->getName(), $audit->getEmail());
  2191.             $this->addFlash('success''Votre message a bien été envoyé');
  2192.         }
  2193.         return $this->render('Front/webinaire/landingpage-webinaire.html.twig', [
  2194.             'title' => "Landingpage Webinaire by lagence.expert",
  2195.             'formRh' => $form_audit->createView(),
  2196.         ]);
  2197.     }
  2198.     #[Route('/landing-page-webinaire-2'name'landing-page-webinaire-2')]
  2199.     public function landing_page_webinaire_2(Request $requestemailAccessWebinaireRepository $emailAccessWebinaireRepository): Response
  2200.     {
  2201.         $emailAccess = new EmailAccessWebinaire;
  2202.         $formEmailAccess $this->createForm(EmailAccessWebinaireType::class, $emailAccess);
  2203.         $formEmailAccess->handleRequest($request);
  2204.         if ($formEmailAccess->isSubmitted() && $formEmailAccess->isValid()) {
  2205.             if (!$emailAccessWebinaireRepository->findBy(['email' => $emailAccess->getEmail()])) {
  2206.                 if (isset($_COOKIE['afid'])) {
  2207.                     // Récupère la valeur du cookie 'afid'
  2208.                     $afidValue $_COOKIE['afid'];
  2209.                     $emailAccess->setAfid($afidValue);
  2210.                 }
  2211.                 $this->em->persist($emailAccess);
  2212.                 $this->em->flush();
  2213.             }
  2214.             if ($request->getHttpHost() === "127.0.0.1:8000") {
  2215.                 $domain "127.0.0.1";
  2216.             } else {
  2217.                 $domain $request->getHttpHost();
  2218.             }
  2219.             $cookie Cookie::create('accessWebinaireLandingPage')
  2220.                 ->withValue('true')
  2221.                 ->withExpires(time() + (10 365 24 60 60))
  2222.                 ->withDomain($domain)
  2223.                 ->withSecure(true);
  2224.             $response = new Response();
  2225.             $response->headers->setCookie($cookie);
  2226.             $response->sendHeaders();
  2227.             $this->saveAsNewsletter($emailAccess->getNom(), $emailAccess->getEmail());
  2228.             $email = new Mail();
  2229.             $email->sendAccessWebinaire($emailAccess->getNom(), $emailAccess->getEmail());
  2230.             $this->addFlash('success''Vous avez accès au webinaire');
  2231.         }
  2232.         $audit = new Audit();
  2233.         $form_audit $this->createForm(AuditType::class, $audit);
  2234.         $form_audit->handleRequest($this->request->getCurrentRequest());
  2235.         if ($form_audit->isSubmitted() && $form_audit->isValid()) {
  2236.             if (isset($_COOKIE['afid'])) {
  2237.                 // Récupère la valeur du cookie 'afid'
  2238.                 $afidValue $_COOKIE['afid'];
  2239.                 $audit->setAfid($afidValue);
  2240.             }
  2241.             $this->em->persist($audit);
  2242.             $this->em->flush();
  2243.             $this->saveAsNewsletter($audit->getName(), $audit->getEmail());
  2244.             $email = new Mail();
  2245.             $email->sendAuditWebinaire($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
  2246.             $email->sendToUserAuditWebinaire($audit->getName(), $audit->getEmail());
  2247.             $this->addFlash('success''Votre message a bien été envoyé');
  2248.         }
  2249.         return $this->render('Front/webinaire/landingpage-webinaire-2.html.twig', [
  2250.             'title' => "Landingpage Webinaire by lagence.expert",
  2251.             'formRh' => $form_audit->createView(),
  2252.             'formWebinaire' => $formEmailAccess->createView(),
  2253.         ]);
  2254.     }
  2255.     #[Route('/landing-page-webinaire-objectif-dec'name'landing-page-webinaire-dec')]
  2256.     public function landing_page_webinaire_objectif_dec(Request $requestemailAccessWebinaireRepository $emailAccessWebinaireRepository): Response
  2257.     {
  2258.         $audit = new Audit();
  2259.         $form_audit $this->createForm(AuditType::class, $audit);
  2260.         $form_audit->handleRequest($this->request->getCurrentRequest());
  2261.         if ($form_audit->isSubmitted() && $form_audit->isValid()) {
  2262.             if (isset($_COOKIE['afid'])) {
  2263.                 // Récupère la valeur du cookie 'afid'
  2264.                 $afidValue $_COOKIE['afid'];
  2265.                 $audit->setAfid($afidValue);
  2266.             }
  2267.             $this->em->persist($audit);
  2268.             $this->em->flush();
  2269.             $this->saveAsNewsletter($audit->getName(), $audit->getEmail());
  2270.             $email = new Mail();
  2271.             $email->sendAuditWebinaire($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
  2272.             $email->sendToUserAuditWebinaire($audit->getName(), $audit->getEmail());
  2273.             $this->addFlash('success''Votre message a bien été envoyé');
  2274.         }
  2275.         return $this->render('Front/webinaire/landingpage-webinaire-objectif-dec.html.twig', [
  2276.             'title' => "Landingpage Webinaire Objectif DEC by lagence.expert",
  2277.             'formRh' => $form_audit->createView(),
  2278.         ]);
  2279.     }
  2280.     #[Route('/landing-page-webinaire-newsletter-du-mois'name'landing-page-webinaire-dec-newsletter')]
  2281.     public function landing_page_webinaire_objectif_dec_newsletter(Request $requestemailAccessWebinaireRepository $emailAccessWebinaireRepository): Response
  2282.     {
  2283.         return $this->render('Front/webinaire/landingpage-webinaire-dec-newsletter.html.twig', [
  2284.             'title' => "S’abonner à la newsletter de l’agence des Experts-comptables",
  2285.         ]);
  2286.     }
  2287.     #[Route('/landingpage-webinaire-myunisoft'name'landing-page-webinaire-myunisoft')]
  2288.     public function landing_page_webinaire_myunisoft(Request $requestemailAccessWebinaireRepository $emailAccessWebinaireRepository): Response
  2289.     {
  2290.         $audit = new Audit();
  2291.         $form_audit $this->createForm(AuditType::class, $audit);
  2292.         $form_audit->handleRequest($this->request->getCurrentRequest());
  2293.         if ($form_audit->isSubmitted() && $form_audit->isValid()) {
  2294.             if (isset($_COOKIE['afid'])) {
  2295.                 // Récupère la valeur du cookie 'afid'
  2296.                 $afidValue $_COOKIE['afid'];
  2297.                 $audit->setAfid($afidValue);
  2298.             }
  2299.             $this->em->persist($audit);
  2300.             $this->em->flush();
  2301.             $this->saveAsNewsletter($audit->getName(), $audit->getEmail());
  2302.             $email = new Mail();
  2303.             $email->sendAuditWebinaire($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
  2304.             $email->sendToUserAuditWebinaire($audit->getName(), $audit->getEmail());
  2305.             $this->addFlash('success''Votre message a bien été envoyé');
  2306.         }
  2307.         return $this->render('Front/webinaire/landingpage-webinaire-myunisoft.html.twig', [
  2308.             'title' => "Landingpage Webinaire MyUnisoft by lagence.expert",
  2309.             'formRh' => $form_audit->createView(),
  2310.         ]);
  2311.     }
  2312.     #[Route('/landing-page-cjec'name'landing-page-webinaire-cjec')]
  2313.     public function landing_page_cjec(): Response
  2314.     {
  2315.         $audit = new Audit();
  2316.         $form_audit $this->createForm(AuditType::class, $audit);
  2317.         $form_audit->handleRequest($this->request->getCurrentRequest());
  2318.         if ($form_audit->isSubmitted() && $form_audit->isValid()) {
  2319.             if (isset($_COOKIE['afid'])) {
  2320.                 // Récupère la valeur du cookie 'afid'
  2321.                 $afidValue $_COOKIE['afid'];
  2322.                 $audit->setAfid($afidValue);
  2323.             }
  2324.             $this->em->persist($audit);
  2325.             $this->em->flush();
  2326.             $this->saveAsNewsletter($audit->getName(), $audit->getEmail());
  2327.             $email = new Mail();
  2328.             $email->sendLPCJEC($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
  2329.             $email->sendToUserLPCJEC($audit->getName(), $audit->getEmail());
  2330.             $this->addFlash('success''Votre message a bien été envoyé');
  2331.         }
  2332.         return $this->render('Front/webinaire/landingpage-cjec.html.twig', [
  2333.             'title' => "Landingpage CJEC by lagence.expert",
  2334.             'formRh' => $form_audit->createView(),
  2335.         ]);
  2336.     }
  2337.     #[Route('/audit-offert-linkedin'name'audit-offert-linkedin')]
  2338.     public function demande_audit_offert(): Response
  2339.     {
  2340.         $audit = new ContactBesoins();
  2341.         $form_besoin $this->createForm(ContactBesoinsType::class, $audit);
  2342.         $form_besoin->handleRequest($this->request->getCurrentRequest());
  2343.         if ($form_besoin->isSubmitted() && $form_besoin->isValid()) {
  2344.             if (isset($_COOKIE['afid'])) {
  2345.                 // Récupère la valeur du cookie 'afid'
  2346.                 $afidValue $_COOKIE['afid'];
  2347.                 $audit->setAfid($afidValue);
  2348.             }
  2349.             $this->em->persist($audit);
  2350.             $this->em->flush();
  2351.             $this->saveAsNewsletter($audit->getName(), $audit->getEmail());
  2352.             $email = new Mail();
  2353.             $email->sendAuditOffert($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getBesoin(), $audit->getPage(), $audit->getAfid());
  2354.             $email->sendToUserAuditOffert($audit->getName(), $audit->getEmail());
  2355.             $this->addFlash('success''Votre message a bien été envoyé');
  2356.         }
  2357.         return $this->render('Front/webinaire/landingpage-webinaire-audit.html.twig', [
  2358.             'title' => "Landingpage Demande Audit Offert by lagence.expert",
  2359.             'formBesoin' => $form_besoin->createView(),
  2360.         ]);
  2361.     }
  2362.     #[Route('/agence-digitale-expert-comptable-paris'name'agence-digitale-expert-comptable-paris')]
  2363.     public function agence_digitale_expert_comptable_paris(Request $requestRealisationRepository $realisationRepositoryBlogRepository $blogRepositoryModulePopupRepository $modulePopupRepository): Response
  2364.     {
  2365.         return $this->render('Front/home/agence-digitale-expert-comptable-paris.html.twig', [
  2366.             'title' => 'Agence Digitale Expert-Comptable Paris',
  2367.             'realisations' => $realisationRepository->findBy([], ['id' => 'DESC'], 120),
  2368.             'blogs' => $blogRepository->findBy([], [], 30),
  2369.             'module_popup' => $modulePopupRepository->findActive(),
  2370.         ]);
  2371.     }
  2372.     #[Route('/landingpage/ebook/marque-forte'name'landing_page_comptatech')]
  2373.     public function landingPageComptatech(Request $requestRealisationRepository $realisationRepositoryBlogRepository $blogRepositoryModulePopupRepository $modulePopupRepository): Response
  2374.     {
  2375.         $ebook_comptatech = new ContactEbookComptatech();
  2376.         $form_ebook_comptatech $this->createForm(ContactEbookComptatechType::class, $ebook_comptatech);
  2377.         $form_ebook_comptatech->handleRequest($this->request->getCurrentRequest());
  2378.         if ($form_ebook_comptatech->isSubmitted() && $form_ebook_comptatech->isValid()) {
  2379.             $ebook_comptatech->setCreatedAt(new \DateTime());
  2380.             $ebook_comptatech->setUpdatedAt(new \DateTime());
  2381.             $this->em->persist($ebook_comptatech);
  2382.             $this->em->flush();
  2383.             $this->saveAsNewsletter($ebook_comptatech->getName(), $ebook_comptatech->getEmail());
  2384.             $email = new Mail();
  2385.             $email->sendLandingpageComptatech($ebook_comptatech);
  2386.             $email->sendToUserComptatech($ebook_comptatech->getName(), $ebook_comptatech->getEmail());
  2387.             $this->addFlash('success''Votre message a bien été envoyé, vous allez recevoir l\'ebook par email.');
  2388.         }
  2389.         return $this->render('Front/webinaire/landingpage-comptatech.html.twig', [
  2390.             'form_ebook_comptatech' => $form_ebook_comptatech->createView(),
  2391.         ]);
  2392.     }
  2393.     #[Route('/ebook/livre-blanc/marque-forte'name'ebook_comptatech_download')]
  2394.     public function downloadEbookComptatech(): Response
  2395.     {
  2396.         // Chemin vers le fichier PDF
  2397.         $filePath $this->getParameter('kernel.project_dir') . '/public/assets/files/livre-blanc.pdf';
  2398.         // Vérifier que le fichier existe
  2399.         if (!file_exists($filePath)) {
  2400.             throw $this->createNotFoundException('Le fichier demandé n\'existe pas');
  2401.         }
  2402.         // Création d'une réponse avec le fichier
  2403.         $response = new Response(file_get_contents($filePath));
  2404.         // Configuration des en-têtes pour le téléchargement
  2405.         $response->headers->set('Content-Type''application/pdf');
  2406.         $response->headers->set('Content-Disposition''inline; filename="livre-blanc.pdf"');
  2407.         return $response;
  2408.     }
  2409.     #[Route('/landingpage/ebook/kit-de-communication-pour-lancer-ton-cabinet-dexpertise-comptable'name'landing_page_decmotiv')]
  2410.     public function landingPageDecMotiv(Request $requestRealisationRepository $realisationRepositoryBlogRepository $blogRepositoryModulePopupRepository $modulePopupRepository): Response
  2411.     {
  2412.         $ebook_decmotiv = new ContactEbookDecMotiv();
  2413.         $form_ebook_decmotiv $this->createForm(ContactEbookDecMotivType::class, $ebook_decmotiv);
  2414.         $form_ebook_decmotiv->handleRequest($this->request->getCurrentRequest());
  2415.         if ($form_ebook_decmotiv->isSubmitted() && $form_ebook_decmotiv->isValid()) {
  2416.             $ebook_decmotiv->setCreatedAt(new \DateTime());
  2417.             $ebook_decmotiv->setUpdatedAt(new \DateTime());
  2418.             $this->em->persist($ebook_decmotiv);
  2419.             $this->em->flush();
  2420.             $this->saveAsNewsletter($ebook_decmotiv->getName(), $ebook_decmotiv->getEmail());
  2421.             $email = new Mail();
  2422.             $email->sendLandingpageDecMotiv($ebook_decmotiv);
  2423.             $email->sendToUserDecMotiv($ebook_decmotiv->getName(), $ebook_decmotiv->getEmail());
  2424.             $this->addFlash('success''Votre message a bien été envoyé, vous allez recevoir l\'ebook par email.');
  2425.         }
  2426.         return $this->render('Front/webinaire/landingpage-decmotiv.html.twig', [
  2427.             'form_ebook_decmotiv' => $form_ebook_decmotiv->createView(),
  2428.         ]);
  2429.     }
  2430.     #[Route('/ebook/livre-blanc'name'ebook_decmotiv_download')]
  2431.     public function downloadEbookDecMotiv(): Response
  2432.     {
  2433.         // Chemin vers le fichier PDF
  2434.         $filePath $this->getParameter('kernel.project_dir') . '/public/assets/files/livre-blanc-decmotiv.pdf';
  2435.         // Vérifier que le fichier existe
  2436.         if (!file_exists($filePath)) {
  2437.             throw $this->createNotFoundException('Le fichier demandé n\'existe pas');
  2438.         }
  2439.         // Création d'une réponse avec le fichier
  2440.         $response = new Response(file_get_contents($filePath));
  2441.         // Configuration des en-têtes pour le téléchargement
  2442.         $response->headers->set('Content-Type''application/pdf');
  2443.         $response->headers->set('Content-Disposition''inline; filename="livre-blanc.pdf"');
  2444.         return $response;
  2445.     }
  2446.     #[Route('/landingpage/ebook/comment-la-communication-boost-l-attractivite-de-votre-cabinet'name'landing_page_ensemble')]
  2447.     public function landingPageEnsemble(): Response
  2448.     {
  2449.         $ebook_ensemble = new ContactEbookEnsemble();
  2450.         $form_ebook_ensemble $this->createForm(ContactEbookEnsembleType::class, $ebook_ensemble);
  2451.         $form_ebook_ensemble->handleRequest($this->request->getCurrentRequest());
  2452.         if ($form_ebook_ensemble->isSubmitted() && $form_ebook_ensemble->isValid()) {
  2453.             $ebook_ensemble->setCreatedAt(new \DateTime());
  2454.             $ebook_ensemble->setUpdatedAt(new \DateTime());
  2455.             $this->em->persist($ebook_ensemble);
  2456.             $this->em->flush();
  2457.             $this->saveAsNewsletter($ebook_ensemble->getName(), $ebook_ensemble->getEmail());
  2458.             $email = new Mail();
  2459.             $email->sendLandingpageEnsemble($ebook_ensemble);
  2460.             $email->sendToUserEnsemble($ebook_ensemble->getName(), $ebook_ensemble->getEmail());
  2461.             $this->addFlash('success''Votre message a bien été envoyé, vous allez recevoir l\'ebook par email.');
  2462.         }
  2463.         return $this->render('Front/webinaire/landingpage-ensemble.html.twig', [
  2464.             'form_ebook_ensemble' => $form_ebook_ensemble->createView(),
  2465.         ]);
  2466.     }
  2467.     #[Route('/ebook-ensemble-pour-agir/livre-blanc'name'ebook_ensemble_download')]
  2468.     public function downloadEbookEnsemble(): Response
  2469.     {
  2470.         // Chemin vers le fichier PDF
  2471.         $filePath $this->getParameter('kernel.project_dir') . '/public/assets/files/livre-blanc-ensemble-pour-agir.pdf';
  2472.         // Vérifier que le fichier existe
  2473.         if (!file_exists($filePath)) {
  2474.             throw $this->createNotFoundException('Le fichier demandé n\'existe pas');
  2475.         }
  2476.         // Création d'une réponse avec le fichier
  2477.         $response = new Response(file_get_contents($filePath));
  2478.         // Configuration des en-têtes pour le téléchargement
  2479.         $response->headers->set('Content-Type''application/pdf');
  2480.         $response->headers->set('Content-Disposition''inline; filename="livre-blanc-ensemble-pour-agir.pdf"');
  2481.         return $response;
  2482.     }
  2483.     #[Route('/landingpage/ebook/developpe-ton-cab-en-local'name'landing_page_ebook_dev_cab_local')]
  2484.     public function landingPageEbookDevCabLocal(Request $requestRealisationRepository $realisationRepositoryBlogRepository $blogRepositoryModulePopupRepository $modulePopupRepository): Response
  2485.     {
  2486.         $ebook = new ContactEbook();
  2487.         $form_ebook $this->createForm(ContactEbookType::class, $ebook);
  2488.         $form_ebook->handleRequest($this->request->getCurrentRequest());
  2489.         if ($form_ebook->isSubmitted() && $form_ebook->isValid()) {
  2490.             $ebook->setCreatedAt(new \DateTime());
  2491.             $ebook->setUpdatedAt(new \DateTime());
  2492.             $this->em->persist($ebook);
  2493.             $this->em->flush();
  2494.             $this->saveAsNewsletter($ebook->getName(), $ebook->getEmail());
  2495.             $email = new Mail();
  2496.             $email->sendLandingpageEbookDevCabLocal($ebook);
  2497.             $email->sendToUserDevCabLocal($ebook->getName(), $ebook->getEmail());
  2498.             $this->addFlash('success''Votre message a bien été envoyé, vous allez recevoir l\'ebook par email.');
  2499.         }
  2500.         return $this->render('Front/ebook/dev-cab-local.html.twig', [
  2501.             'form_ebook' => $form_ebook->createView(),
  2502.         ]);
  2503.     }
  2504.     #[Route('/ebook/livre-blanc-dev-cab-local'name'ebook_dev_cab_local_download')]
  2505.     public function downloadEbookDevCabLocal(): Response
  2506.     {
  2507.         // Chemin vers le fichier PDF
  2508.         $filePath $this->getParameter('kernel.project_dir') . '/public/assets/files/livre-blanc-dev-cab-local.pdf';
  2509.         // Vérifier que le fichier existe
  2510.         if (!file_exists($filePath)) {
  2511.             throw $this->createNotFoundException('Le fichier demandé n\'existe pas');
  2512.         }
  2513.         // Création d'une réponse avec le fichier
  2514.         $response = new Response(file_get_contents($filePath));
  2515.         // Configuration des en-têtes pour le téléchargement
  2516.         $response->headers->set('Content-Type''application/pdf');
  2517.         $response->headers->set('Content-Disposition''inline; filename="livre-blanc.pdf"');
  2518.         return $response;
  2519.     }
  2520.     #[Route('/landingpage/ebook/marque-forte'name'landing_page_ebook_marque_forte')]
  2521.     public function landingPageEbookMarqueForte(Request $requestRealisationRepository $realisationRepositoryBlogRepository $blogRepositoryModulePopupRepository $modulePopupRepository): Response
  2522.     {
  2523.         $ebook = new ContactEbook();
  2524.         $form_ebook $this->createForm(ContactEbookType::class, $ebook);
  2525.         $form_ebook->handleRequest($this->request->getCurrentRequest());
  2526.         if ($form_ebook->isSubmitted() && $form_ebook->isValid()) {
  2527.             $ebook->setCreatedAt(new \DateTime());
  2528.             $ebook->setUpdatedAt(new \DateTime());
  2529.             $this->em->persist($ebook);
  2530.             $this->em->flush();
  2531.             $this->saveAsNewsletter($ebook->getName(), $ebook->getEmail());
  2532.             $email = new Mail();
  2533.             $email->sendLandingpageEbookMarqueForte($ebook);
  2534.             $email->sendToUserMarqueForte($ebook->getName(), $ebook->getEmail());
  2535.             $this->addFlash('success''Votre message a bien été envoyé, vous allez recevoir l\'ebook par email.');
  2536.         }
  2537.         return $this->render('Front/ebook/marque-forte.html.twig', [
  2538.             'form_ebook' => $form_ebook->createView(),
  2539.         ]);
  2540.     }
  2541.     #[Route('/ebook/livre-blanc-marque-forte'name'ebook_marque_forte_download')]
  2542.     public function downloadEbookMarqueForte(): Response
  2543.     {
  2544.         // Chemin vers le fichier PDF
  2545.         $filePath $this->getParameter('kernel.project_dir') . '/public/assets/files/livre-blanc-marque-forte.pdf';
  2546.         // Vérifier que le fichier existe
  2547.         if (!file_exists($filePath)) {
  2548.             throw $this->createNotFoundException('Le fichier demandé n\'existe pas');
  2549.         }
  2550.         // Création d'une réponse avec le fichier
  2551.         $response = new Response(file_get_contents($filePath));
  2552.         // Configuration des en-têtes pour le téléchargement
  2553.         $response->headers->set('Content-Type''application/pdf');
  2554.         $response->headers->set('Content-Disposition''inline; filename="livre-blanc.pdf"');
  2555.         return $response;
  2556.     }
  2557.     #[Route('/landingpage/ebook/comment-la-communication-boost-l-attractivite-de-votre-cabinet'name'landing_page_ebook_com_boost')]
  2558.     public function landingPageEbookComBoost(Request $requestRealisationRepository $realisationRepositoryBlogRepository $blogRepositoryModulePopupRepository $modulePopupRepository): Response
  2559.     {
  2560.         $ebook = new ContactEbook();
  2561.         $form_ebook $this->createForm(ContactEbookType::class, $ebook);
  2562.         $form_ebook->handleRequest($this->request->getCurrentRequest());
  2563.         if ($form_ebook->isSubmitted() && $form_ebook->isValid()) {
  2564.             $ebook->setCreatedAt(new \DateTime());
  2565.             $ebook->setUpdatedAt(new \DateTime());
  2566.             $this->em->persist($ebook);
  2567.             $this->em->flush();
  2568.             $this->saveAsNewsletter($ebook->getName(), $ebook->getEmail());
  2569.             $email = new Mail();
  2570.             $email->sendLandingpageEbookComBoost($ebook);
  2571.             $email->sendToUserComBoost($ebook->getName(), $ebook->getEmail());
  2572.             $this->addFlash('success''Votre message a bien été envoyé, vous allez recevoir l\'ebook par email.');
  2573.         }
  2574.         return $this->render('Front/ebook/com-boost.html.twig', [
  2575.             'form_ebook' => $form_ebook->createView(),
  2576.         ]);
  2577.     }
  2578.     #[Route('/ebook/livre-blanc-com-boost'name'ebook_com_boost_download')]
  2579.     public function downloadEbookComBoost(): Response
  2580.     {
  2581.         // Chemin vers le fichier PDF
  2582.         $filePath $this->getParameter('kernel.project_dir') . '/public/assets/files/livre-blanc-com-boost.pdf';
  2583.         // Vérifier que le fichier existe
  2584.         if (!file_exists($filePath)) {
  2585.             throw $this->createNotFoundException('Le fichier demandé n\'existe pas');
  2586.         }
  2587.         // Création d'une réponse avec le fichier
  2588.         $response = new Response(file_get_contents($filePath));
  2589.         // Configuration des en-têtes pour le téléchargement
  2590.         $response->headers->set('Content-Type''application/pdf');
  2591.         $response->headers->set('Content-Disposition''inline; filename="livre-blanc.pdf"');
  2592.         return $response;
  2593.     }
  2594.     #[Route('/widget-sondage'name'widget-sondage')]
  2595.     public function widgetSondage(): Response
  2596.     {
  2597.         return $this->render('Front/widget/sondage.html.twig', [
  2598.             'title' => "Sondage de l'agence.expert",
  2599.         ]);
  2600.     }
  2601.     #[Route('/widget-facture-electronique'name'widget-facture-electronique')]
  2602.     public function widgetFactureElectronique(): Response
  2603.     {
  2604.         return $this->render('Front/widget/facture-electronique.html.twig', [
  2605.             'title' => "facture électronique de l'agence.expert",
  2606.         ]);
  2607.     }
  2608.     #[Route('/recommandation'name'widget-recommandation')]
  2609.     public function widgetRecommandation(): Response
  2610.     {
  2611.         return $this->render('Front/widget/recommandation.html.twig', [
  2612.             'title' => "Recommandation de l'agence.expert",
  2613.         ]);
  2614.     }
  2615.     #[Route('/test-chatbot'name'test-chatbot')]
  2616.     public function testChatbot(): Response
  2617.     {
  2618.         return $this->render('Front/chatbot/test-chatbot.html.twig', [
  2619.             'title' => "Recommandation de l'agence.expert",
  2620.         ]);
  2621.     }
  2622.     #[Route('/plateforme-de-com'name'plateforme-de-com')]
  2623.     public function plateformeDeCom(): Response
  2624.     {
  2625.         return $this->render('Front/plateforme-de-com/index.html.twig', [
  2626.             'title' => "Plateforme de com by lagence.expert",
  2627.         ]);
  2628.     }
  2629.     #[Route('/webinaire/save-mail'name'webinaire_save_email'methods: ['POST'])]
  2630.     public function saveEmail(Request $requestEntityManagerInterface $emNewsletterRepository $newsletterRepository): JsonResponse
  2631.     {
  2632.         $data json_decode($request->getContent(), true);
  2633.         $firstname $data['firstname'] ?? null;
  2634.         $email $data['email'] ?? null;
  2635.         if (!$email || !filter_var($emailFILTER_VALIDATE_EMAIL)) {
  2636.             return new JsonResponse(['error' => 'Email invalide'], 400);
  2637.         }
  2638.         if ($newsletterRepository->findOneBy(['email' => $email])) {
  2639.             return new JsonResponse(['success' => true]);
  2640.         }
  2641.         // Exemple : sauvegarder en base
  2642.         $newsletter = new Newsletter();
  2643.         $newsletter->setName($firstname);
  2644.         $newsletter->setEmail($email);
  2645.         $em->persist($newsletter);
  2646.         $em->flush();
  2647.         return new JsonResponse(['success' => true]);
  2648.     }
  2649.     #[Route('/onboarding'name'calendly_amira')]
  2650.     public function calendlyAmira(): Response
  2651.     {
  2652.         return $this->render('Front/calendly/amira.html.twig', [
  2653.             'title' => "Réservez votre session avec Amira",
  2654.         ]);
  2655.     }
  2656.     #[Route('/webinaire/notify-cjec'name'webinaire_notify_cjec'methods: ['POST'])]
  2657.     public function webinaireNotifyCjec(Request $requestEntityManagerInterface $em): JsonResponse
  2658.     {
  2659.         $data json_decode($request->getContent(), true);
  2660.         $contact = new WebinaireContact();
  2661.         $contact->setName($data['prenom'] ?? '');
  2662.         $contact->setEmail($data['email'] ?? '');
  2663.         $contact->setNumber('');
  2664.         $contact->setMessage('');
  2665.         $contact->setPage($data['webinaire'] ?? 'Webinaire CJEC 2026');
  2666.         try {
  2667.             $em->persist($contact);
  2668.             $em->flush();
  2669.         } catch (\Exception $e) {
  2670.         }
  2671.         return new JsonResponse(['success' => true]);
  2672.     }
  2673. }