<?php
namespace App\Controller\Front;
use App\Entity\Blog;
use App\Entity\ContactEbook;
use App\Entity\ContactEbookComptatech;
use App\Entity\ContactEbookDecMotiv;
use App\Entity\ContactEbookEnsemble;
use App\Entity\Outil;
use App\Entity\WebinaireEcf;
use App\Entity\WebinaireEcfContact;
use App\Form\AuditWebinaireEcfType;
use App\Form\AuditMisterIAType;
use App\Form\ContactEbookComptatechType;
use App\Form\ContactEbookDecMotivType;
use App\Form\ContactEbookEnsembleType;
use App\Form\ContactEbookType;
use App\Form\WebinaireEcfContactType;
use App\Repository\NewsletterRepository;
use App\Repository\WebinaireEcfContactRepository;
use App\Service\Mail;
use App\Entity\Newsletter;
use App\Entity\Simulateur;
use App\Form\SimulateurType;
use App\Entity\ActualiteDuMois;
use App\Form\ActualiteDuMoisType;
use App\Repository\BlogRepository;
use App\Repository\OutilRepository;
use App\Repository\RealisationRepository;
use App\Entity\WebinaireContact;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use App\Controller\Front\AbstractFrontController;
use App\Entity\AppelleTonEC;
use App\Entity\Audit;
use App\Entity\Cabinet;
use App\Entity\ContactBesoins;
use App\Entity\ContactPodcast;
use App\Entity\EmailAccessWebinaire;
use App\Entity\ModulePopup;
use App\Entity\ModuleVideo;
use App\Entity\NewsletterDuMois;
use App\Entity\NotifPodcast;
use App\Entity\Parrainage;
use App\Entity\Webinaire;
use App\Form\AppelleTonECType;
use App\Form\AuditType;
use App\Form\AuditLinkedinType;
use App\Form\CabinetType;
use App\Form\ContactBesoinsType;
use App\Form\EmailAccessWebinaireType;
use App\Form\NewsletterDuMoisType;
use App\Form\ParrainageType;
use App\Form\PlaceExpertContactType;
use App\Form\PodcastContactType;
use App\Form\WebinaireContactType;
use App\Repository\EmailAccessWebinaireRepository;
use App\Repository\ModulePopupRepository;
use App\Repository\ModuleVideoRepository;
use App\Repository\SEOPodcastRepository;
use App\Repository\WebinaireRepository;
use Symfony\Component\HttpFoundation\Cookie;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Twig\Environment;
#[Route('/')]
class AgenceController extends AbstractFrontController
{
private const CATEGORY_SITE_ID = 3;
#[Route(path: '/', name: 'cjec_landing_page_hosted', host: 'cjec.lagence.expert')]
#[Route(path: '/cjec-landing', name: 'cjec_landing_page')]
public function pageCjec(RealisationRepository $realisationRepository): Response
{
return $this->render('Front/cjec/landing-page.html.twig', [
'title' => "Découvre les offres spéciales CJEC by lagence.expert",
'realisations' => $realisationRepository->findBy([], ['id' => 'DESC'], 10, 0),
]);
}
#[Route(path: '/', name: 'ia_landing_page_hosted', host: 'ia.lagence.expert')]
#[Route(path: '/preview/ia-landing', name: 'ia_landing_page')]
public function pageIa(RealisationRepository $realisationRepository): Response
{
return $this->render('Front/ia/landing-page.html.twig', [
'title' => "IA - l'agence des Experts-comptables",
'realisations' => $realisationRepository->findBy([], ['id' => 'DESC'], 10, 0),
]);
}
#[Route(path: '/', name: 'cdpr_landing_page_hosted', host: 'cdpr.lagence.expert')]
#[Route(path: '/preview/cdpr-landing', name: 'cdpr_landing_page')]
public function pageCdpr(RealisationRepository $realisationRepository): Response
{
return $this->render('Front/cdpr/landing-page.html.twig', [
'title' => "L'Agence des Experts-Comptables - Partenaire CDPR",
'realisations' => $realisationRepository->findBy([], ['id' => 'DESC'], 10, 0),
]);
}
#[Route(path: '/', name: 'ecf_landing_page_hosted', host: 'ecf.lagence.expert')]
#[Route(path: '/preview/ecf-landing', name: 'ecf_landing_page')]
public function pageEcf(RealisationRepository $realisationRepository): Response
{
return $this->render('Front/ecf/landing-page.html.twig', [
'title' => "Découvre les offres spéciales CJEC by lagence.expert",
'realisations' => $realisationRepository->findBy([], ['id' => 'DESC'], 10, 0),
]);
}
#[Route(path: '/', name: 'epa_landing_page_hosted', host: 'epa.lagence.expert')]
#[Route(path: '/preview/epa-landing', name: 'epa_landing_page')]
public function pageEpa(RealisationRepository $realisationRepository): Response
{
return $this->render('Front/epa/landing-page.html.twig', [
'title' => "Découvre les offres spéciales CJEC by lagence.expert",
'realisations' => $realisationRepository->findBy([], ['id' => 'DESC'], 10, 0),
]);
}
#[Route(path: '/', name: 'ifec_landing_page_hosted', host: 'ifec.lagence.expert')]
#[Route(path: '/preview/ifec-landing', name: 'ifec_landing_page')]
public function pageIfec(RealisationRepository $realisationRepository): Response
{
return $this->render('Front/ifec/landing-page.html.twig', [
'title' => "Découvre les offres spéciales CJEC by lagence.expert",
'realisations' => $realisationRepository->findBy([], ['id' => 'DESC'], 10, 0),
]);
}
#[Route(path: '/fidelisation', name: 'fidelisation_landing_page')]
public function pageFidelisation(): Response
{
return $this->render('Front/fidelisation/index.html.twig', [
'title' => "Fidélisation - Pack de Bienvenue | l'agence des Experts-comptables",
]);
}
#[Route(path: '/', name: 'objectifdec_landing_page_hosted', host: 'objectifdec.lagence.expert')]
#[Route(path: '/preview/objectifdec-landing', name: 'objectifdec_landing_page')]
public function pageObjectifDec(RealisationRepository $realisationRepository): Response
{
return $this->render('Front/objectif-dec/landing-page.html.twig', [
'title' => "Découvre les offres spéciales CJEC by lagence.expert",
'realisations' => $realisationRepository->findBy([], ['id' => 'DESC'], 10, 0),
]);
}
#[Route(path: '/', name: 'decmotiv_landing_page_hosted', host: 'decmotiv.lagence.expert')]
#[Route(path: '/preview/decmotiv-landing', name: 'decmotiv_landing_page')]
public function pageDecmotiv(RealisationRepository $realisationRepository): Response
{
return $this->render('Front/decmotiv/landing-page.html.twig', [
'title' => "Découvre les offres spéciales CJEC by lagence.expert",
'realisations' => $realisationRepository->findBy([], ['id' => 'DESC'], 10, 0),
]);
}
#[Route('', name: 'home')]
public function index(Request $request, RealisationRepository $realisationRepository, BlogRepository $blogRepository, ModulePopupRepository $modulePopupRepository): Response
{
return $this->render('Front/home/index.html.twig', [
'title' => 'Accueil',
'realisations' => $realisationRepository->findBy([], ['id' => 'DESC'], 12, 0),
'blogs' => $blogRepository->findBy([], [], 3, 0),
'module_popup' => $modulePopupRepository->findActive(),
]);
}
#[Route('/lagence-des-experts-comptables', name: 'agence')]
public function agence(Request $request): Response
{
return $this->render('Front/agence/index.html.twig', [
'title' => "L'agence des experts comptables",
]);
}
#[Route('/contact', name: 'contact')]
public function contact(Request $request): Response
{
return $this->render('Front/contact/index.html.twig', [
'title' => "L'agence des experts comptables - Contact",
]);
}
#[Route('/identite-visuelle', name: 'identite-visuelle')]
public function identiteVisuelle(Request $request, RealisationRepository $realisationRepository, BlogRepository $blogRepository): Response
{
return $this->render('Front/communiquer/identitevisuelle.html.twig', [
'title' => "Identité Visuelle",
'realisations' => $realisationRepository->findByCategoryName('Identité visuelle'),
'blogs' => $blogRepository->findBy([], [], 3, 0)
]);
}
#[Route('/print', name: 'print')]
public function print(Request $request, RealisationRepository $realisationRepository, BlogRepository $blogRepository): Response
{
return $this->render('Front/communiquer/print.html.twig', [
'title' => "Print",
'realisations' => $realisationRepository->findByCategoryName('Print'),
'blogs' => $blogRepository->findBy([], [], 3, 0)
]);
}
#[Route('/site-internet', name: 'site-internetOld')]
public function siteInternetOld(): Response
{
return $this->redirectToRoute('site-internet');
}
#[Route('/creation-site-internet-expert-comptable', name: 'site-internet')]
public function siteInternet(Request $request, RealisationRepository $realisationRepository, BlogRepository $blogRepository): Response
{
return $this->render('Front/communiquer/siteinternet.html.twig', [
'title' => "Création site Internet Expert-comptable",
'realisations' => $realisationRepository->findByCategoryName('Site internet'),
'blogs' => $blogRepository->findBy([], [], 3, 0)
]);
}
#[Route('/visibilite', name: 'visibilite')]
public function visibilite(Request $request, BlogRepository $blogRepository): Response
{
return $this->render('Front/communiquer/visibilite.html.twig', [
'title' => "Visibilité",
'blogs' => $blogRepository->findBy([], [], 3, 0)
]);
}
#[Route('/realisations', name: 'realisations')]
public function realisations(): Response
{
return $this->render('Front/realisations/index.html.twig', [
'title' => "Realisations",
]);
}
#[Route('/partenaires/{id<[0-9]+>}', name: 'singlePartenaire')]
public function singlePartner(OutilRepository $outilRepository, Request $request, Outil $outil): Response
{
$outils = $outilRepository->findBy([], ['updatedAt' => 'DESC']);
return $this->render('Front/outils/detail.html.twig', [
'title' => "Outils",
'outils' => $outils,
'outilSingle' => $outil,
]);
}
#[Route('/partenaires', name: 'partenaires')]
public function partenaires(OutilRepository $outilRepository, Request $request): Response
{
$outils = $outilRepository->findBy([], ['updatedAt' => 'DESC']);
return $this->render('Front/outils/index.html.twig', [
'title' => "Outils",
'outils' => $outils,
]);
}
#[Route('/commerciale', name: 'commerciale')]
public function commerciale(Request $request, BlogRepository $blogRepository): Response
{
return $this->render('Front/developper/commerciale.html.twig', [
'title' => "Commerciale",
'blogs' => $blogRepository->findBy([], [], 3, 0)
]);
}
#[Route('/blog', name: 'blog_list', methods: ['GET'])]
public function blogList(Request $request, BlogRepository $blogRepository): Response
{
// Récupère offset depuis l’URL : ?offset=9 par exemple
$offset = max(0, (int) $request->query->get('offset', 0));
$limit = 9;
$blogs = $blogRepository->findBy([], ['id' => 'DESC'], $limit, $offset);
return $this->render('Front/blog/list.html.twig', [
'blogs' => $blogs,
'offset' => $offset,
'limit' => $limit,
// utile plus tard pour savoir s'il reste des articles
'hasMore' => count($blogs) === $limit
]);
}
#[Route('/blog/load-more', name: 'blog_load_more', methods: ['GET'])]
public function loadMore(Request $request, BlogRepository $blogRepository): JsonResponse
{
$offset = max(0, (int) $request->query->get('offset', 0));
$limit = 9;
$blogs = $blogRepository->findBy([], ['id' => 'DESC'], $limit, $offset);
// On construit les données JSON pour JS
$data = [];
foreach ($blogs as $blog) {
$data[] = [
'id' => $blog->getId(),
'title' => $blog->getTitle(),
'image' => '/uploads/blogs/images/' . $blog->getImageName(),
'url' => $this->generateUrl('singleBlog', ['id' => $blog->getId()])
];
}
return new JsonResponse([
'blogs' => $data,
'hasMore' => count($blogs) === $limit
]);
}
#[Route('/blog/{id<[0-9]+>}', name: 'singleBlog')]
public function singleBlog(Request $request, Blog $blog, BlogRepository $blogRepository): Response
{
$blogs = $blogRepository->findBy([], [], 5, 0);
$slug = $blog->getSlug();
return $this->redirectToRoute('singleBlogNew', ['Slug' => $slug]);
// return $this->render('Front/blog/single.html.twig', [
// 'title' => $blog->getTitle(),
// 'blogs' => $blogs,
// 'singleBlog' => $blog
// ]);
}
#[Route('/blog/{Slug}', name: 'singleBlogNew', methods: ['GET'])]
public function singleBlogNew(string $Slug, Request $request, Blog $blog, BlogRepository $blogRepository): Response
{
// $blogsOld = $blogRepository->findBy([], [], 5, 0);
// $blogs = $blogRepository->findOneBy(['Slug' => $slug]);
$blogs = $blogRepository->findOneBy(['Slug' => $Slug]);
// dd($blogs);
return $this->render('Front/blog/single.html.twig', [
'title' => $blog->getTitle(),
'blogs' => $blogs,
// 'blogsOld' => $blogsOld,
'singleBlog' => $blog
]);
}
#[Route('/communiquer', name: 'communiquer')]
public function communiquer(Request $request, BlogRepository $blogRepository, RealisationRepository $realisationRepository): Response
{
return $this->render('Front/home/communiquer.html.twig', [
'title' => "Communiquer",
'blogs' => $blogRepository->findBy([], [], 3, 0),
'realisations' => $realisationRepository->findBy([], ['id' => 'DESC'], 12, 0),
]);
}
#[Route('/mentions-legales', name: 'mentionsLegales')]
public function mentionsLegales(Request $request): Response
{
return $this->render('Front/legal/mentions-legales.html.twig', [
'title' => "Mentions légales",
]);
}
#[Route('/politique-confidentialite', name: 'politiqueConfidentialite')]
public function politiqueConfidentialite(Request $request): Response
{
return $this->render('Front/legal/politique-confidentialite.html.twig', [
'title' => "Politique de confidentialité",
]);
}
#[Route('/widget', name: 'widget-page')]
#[Route('/widget-actualite-du-mois ', name: 'widget-actu')]
public function widgetActu(Request $request): Response
{
return $this->render('Front/widget/actualite-du-mois.html.twig', [
'title' => "Actualité du mois",
]);
}
#[Route('/widget-simulateur', name: 'widget-simu')]
public function widgetSimu(Request $request): Response
{
return $this->render('Front/widget/simulateur.html.twig', [
'title' => "Simulateur",
]);
}
#[Route('/widget-evenement', name: 'widget-evenement')]
public function widgetEvenement(Request $request): Response
{
return $this->render('Front/widget/evenement.html.twig', [
'title' => "évenements",
]);
}
#[Route('/widget-parrainage', name: 'widget-parrainage')]
public function widgetParrainage(Request $request): Response
{
return $this->render('Front/widget/parrainage.html.twig', [
'title' => "Parrainage",
]);
}
#[Route('/widget-satisfaction', name: 'widget-satisfaction')]
public function widgetSatisfaction(Request $request): Response
{
return $this->render('Front/widget/satisfaction.html.twig', [
'title' => "Parrainage",
]);
}
#[Route('/widget-rgpd', name: 'widget-rgpd')]
public function widgetRgpd(Request $request): Response
{
return $this->render('Front/widget/rgpd.html.twig', [
'title' => "Rgpd",
]);
}
#[Route('/podcast/share/{slug}-{id}', name: 'widget-podcast-share')]
public function widgetPodcastShare(Request $request, string $slug, int $id): Response
{
$tokens = [];
$token[0] = "8bhb2xwexprgxmnv1umkwttfxnnfufqlloogn3fo"; //DEFAULT
$token[1] = "2z3zc1eyeek3s4bt2jn18w1pu36ukkt5hdtok60v";
$token[2] = "t9nfdz02y7cllng0bmezg0jezaeuldyncqppt5ed";
$token[3] = "wt66y9xn89h70nnhd3o8im0vzycihn62j9bvjmfk";
$token[4] = "s7890utzqirfzeexkepx15bthdxbuxwbb88nb8qd";
$token[5] = "2tzvx99fz7bthzvglrnkllyeh8raug54albvabd9";
$token[6] = "28r9uq3ddgfxkr1c9zrf08dmtykbydfsf7r8wbt8";
$token[7] = "obgj5nnte1m9ijb5oa4zmdg4n7bimcaof1fdpng0";
$token[8] = "1i43uha4nodl5kqf4aa35db4c6y9o3k0jp5dzx00";
$token[9] = "gdkhlxjkh0aijhd98g1kks7s19aae8l8lmbar8jw";
$token[10] = "ol9xt217no3xqroh1gsv8h2y9nhdagq4rafl6bml";
$token[11] = "bid1jp0si74t8hm2bj16knngbc7byq1b2jn71zso";
$token[12] = "yko0bcx0iysfqi0m5r72c9zcvvw0gd4wgehcenj5";
$token[13] = "ujg8dksz48bxa0fdjdep2gsf2x2dztjdrvma6z5a";
$token[14] = "xhvrgq3f46hisaoaq2mdw3v2vekashito87b2zk4";
$token[15] = "8bhb2xwexprgxmnv1umkwttfxnnfufqlloogn3fo";
$token[16] = "q2w5gjiyrglraj8h99179xmsoeyz7zkapl6zvwl6";
$token[17] = "6b70dauw9a41hppsixyd7oqc6b3ic67cmw3lamln";
$token[18] = "c7j6q8j6gsf9s2mmdfvb3biprayw80twohhgmulp";
$token[19] = "cfgxhtqsqmv2v2jg1t28h9s6rz155rmkyyb6c4e8";
$keys = [];
$keys[0] = 1;
$keys[1] = 1;
$keys[2] = 2;
$keys[3] = 3;
$keys[4] = 4;
$keys[5] = 5;
$keys[6] = 6;
$keys[7] = 7;
$keys[8] = 8;
$keys[9] = 9;
$keys[10] = 10;
$keys[11] = 11;
$keys[12] = 12;
$keys[13] = 13;
$keys[14] = 14;
$keys[15] = 15;
$keys[16] = 16;
$keys[17] = 17;
$keys[18] = 18;
$keys[19] = 21;
if (isset($token[$id]) && !is_null($token[$id])) {
$rToken = $token[$id];
} else {
$rToken = $token[0];
}
if (isset($keys[$id]) && !is_null($keys[$id])) {
$rKey = $keys[$id];
} else {
$rKey = $keys[0];
}
return $this->render('Front/widget/podcastShare.html.twig', [
'title' => "Podcast",
'token' => $rToken,
'podId' => $rKey,
]);
}
#[Route('/ressources-humaines', name: 'rh')]
public function rh(): Response
{
return $this->redirectToRoute('home', [], 301);
// $audit = new Audit();
// $form_audit = $this->createForm(AuditType::class, $audit);
// $form_audit->handleRequest($this->request->getCurrentRequest());
// if ($form_audit->isSubmitted() && $form_audit->isValid()) {
// if (isset($_COOKIE['afid'])) {
// // Récupère la valeur du cookie 'afid'
// $afidValue = $_COOKIE['afid'];
// $audit->setAfid($afidValue);
// }
// $this->em->persist($audit);
// $this->em->flush();
//
// $email = new Mail();
// $email->sendRh($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage());
// $email->sendRhToRudy($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
// $email->sendToUserRh($audit->getName(), $audit->getEmail());
//
// $this->addFlash('success', 'Votre message a bien été envoyé');
// }
// return $this->render('Front/deleguer/rh.html.twig', [
// 'title' => "Ressources Humaines",
// 'formRh' => $form_audit->createView(),
// 'formRh2' => $form_audit->createView(),
// ]);
}
#[Route('/rgpd', name: 'rgpd')]
public function rgpd2(): Response
{
$audit = new Audit();
$form_audit = $this->createForm(AuditType::class, $audit);
$form_audit->handleRequest($this->request->getCurrentRequest());
if ($form_audit->isSubmitted() && $form_audit->isValid()) {
if (isset($_COOKIE['afid'])) {
// Récupère la valeur du cookie 'afid'
$afidValue = $_COOKIE['afid'];
$audit->setAfid($afidValue);
}
$this->em->persist($audit);
$this->em->flush();
$this->saveAsNewsletter($audit->getName(), $audit->getEmail());
$email = new Mail();
$email->sendRgpd($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
$email->sendToUserRgpd($audit->getName(), $audit->getEmail());
$this->addFlash('success', 'Votre message a bien été envoyé');
}
return $this->render('Front/deleguer/rgpd2.html.twig', [
'title' => "RGPD",
'formRh' => $form_audit->createView(),
'formRh2' => $form_audit->createView(),
]);
}
#[Route('/appel-ton-expert', name: 'appelEC')]
public function appelEC(): Response
{
return $this->render('Front/appelEC/index.html.twig', [
'title' => "Appel ton Expert-comtable"
]);
}
#[Route('/webinaire/{id<[0-9]+>}', name: 'webinaire')]
public function webinaire(Webinaire $webinaire, WebinaireRepository $webinaireRepository, Request $request, EmailAccessWebinaireRepository $emailAccessWebinaireRepository): Response
{
$webinaires = $webinaireRepository->findAll();
$emailAccess = new EmailAccessWebinaire;
$formEmailAccess = $this->createForm(EmailAccessWebinaireType::class, $emailAccess);
$formEmailAccess->handleRequest($request);
if ($formEmailAccess->isSubmitted() && $formEmailAccess->isValid()) {
if (!$emailAccessWebinaireRepository->findBy(['email' => $emailAccess->getEmail()])) {
if (isset($_COOKIE['afid'])) {
// Récupère la valeur du cookie 'afid'
$afidValue = $_COOKIE['afid'];
$emailAccess->setAfid($afidValue);
}
$this->em->persist($emailAccess);
$this->em->flush();
}
$this->saveAsNewsletter($emailAccess->getNom(), $emailAccess->getEmail());
if ($request->getHttpHost() === "127.0.0.1:8000") {
$domain = "127.0.0.1";
} else {
$domain = $request->getHttpHost();
}
$cookie = Cookie::create('accessWebinaire')
->withValue('true')
->withExpires(time() + (10 * 365 * 24 * 60 * 60))
->withDomain($domain)
->withSecure(true);
$response = new Response();
$response->headers->setCookie($cookie);
$response->sendHeaders();
}
$webinaireContact = new WebinaireContact;
$formWebinaireContact = $this->createForm(WebinaireContactType::class, $webinaireContact);
if ($formWebinaireContact->isSubmitted() && $formWebinaireContact->isValid()) {
if (isset($_COOKIE['afid'])) {
// Récupère la valeur du cookie 'afid'
$afidValue = $_COOKIE['afid'];
$webinaireContact->setAfid($afidValue);
}
$this->em->persist($webinaireContact);
$this->em->flush();
$email = new Mail();
$email->sendToPartnerWebinaire($webinaireContact->getName(), $webinaire->getEmailPartenaire(), $webinaireContact->getEmail(), $webinaire->getTitle(), $webinaireContact->getNumber(), $webinaireContact->getMessage(), $webinaire->getNamePartenaire());
$email->sendToPartnerWebinaire($webinaireContact->getName(), "rudy@lagence.expert", $webinaireContact->getEmail(), $webinaire->getTitle(), $webinaireContact->getNumber(), $webinaireContact->getMessage(), $webinaire->getNamePartenaire());
$email->sendToUserWebinaire($webinaireContact->getName(), $webinaireContact->getEmail(), $webinaire->getNamePartenaire());
$this->addFlash('success', 'Votre message a bien été envoyé');
}
return $this->render('Front/webinaire/index.html.twig', [
'title' => "Webinaire",
'webinaire' => $webinaire,
'webinaires' => $webinaires,
'formWebinaire' => $formEmailAccess->createView(),
'contactWebinaire' => $formWebinaireContact->createView(),
]);
}
#[Route('/audit', name: 'webinaire_ecf_audit', host: 'ecf.lagence.expert')]
#[Route('/webinaire-ecf/audit', name: 'webinaire_ecf_audit_preview')]
public function webinaireEcfAudit(): Response
{
$audit = new Audit();
$form_audit = $this->createForm(AuditWebinaireEcfType::class, $audit);
$form_audit->handleRequest($this->request->getCurrentRequest());
if ($form_audit->isSubmitted() && $form_audit->isValid()) {
// add NL
if (isset($_COOKIE['afid'])) {
// Récupère la valeur du cookie 'afid'
$afidValue = $_COOKIE['afid'];
$audit->setAfid($afidValue);
}
$this->em->persist($audit);
$this->em->flush();
$this->saveAsNewsletter($audit->getName(), $audit->getEmail());
$email = new Mail();
$email->send($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
$email->sendToUserAudit($audit->getName(), $audit->getEmail());
$this->addFlash('success', 'Votre message a bien été envoyé');
}
return $this->render('Front/webinaire_ecf/audit.html.twig', [
"form_audit_webinaire_ecf" => $form_audit->createView(),
]);
}
#[Route('/audit', name: 'webinaire_dec-motiv_audit', host: 'decmotiv.lagence.expert')]
#[Route('/webinaire-decmotiv/audit', name: 'webinaire_dec-motiv_audit_preview')]
public function webinairePartnerDecMotivAudit(): Response
{
$audit = new Audit();
$form_audit = $this->createForm(AuditWebinaireEcfType::class, $audit);
$form_audit->handleRequest($this->request->getCurrentRequest());
if ($form_audit->isSubmitted() && $form_audit->isValid()) {
// add NL
if (isset($_COOKIE['afid'])) {
// Récupère la valeur du cookie 'afid'
$afidValue = $_COOKIE['afid'];
$audit->setAfid($afidValue);
}
$this->em->persist($audit);
$this->em->flush();
$this->saveAsNewsletter($audit->getName(), $audit->getEmail());
$email = new Mail();
$email->send($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
$email->sendToUserAudit($audit->getName(), $audit->getEmail());
$this->addFlash('success', 'Votre message a bien été envoyé');
}
return $this->render('Front/webinaire_ecf/audit_decmotiv.html.twig', [
"form_audit_webinaire_ecf" => $form_audit->createView(),
]);
}
#[Route('/{slug}', name: 'webinaire_partenaire_show', host: 'ecf.lagence.expert')]
#[Route('/{slug}', name: 'webinaire_partenaire_show_decmotiv', host: 'decmotiv.lagence.expert')]
#[Route('/webinaires/{slug}', name: 'webinaire_partenaire_show_preview', priority: -10)]
public function webinaireEcf(WebinaireEcf $webinaire, Environment $twig, WebinaireEcfContactRepository $webinaireEcfContactRepository): Response
{
$contactWebinaire = new WebinaireEcfContact();
$contactWebinaire->setWebinaireEcf($webinaire);
$formWebinaireContact = $this->createForm(WebinaireEcfContactType::class, $contactWebinaire);
$formWebinaireContact->handleRequest($this->request->getCurrentRequest());
if ($formWebinaireContact->isSubmitted() && $formWebinaireContact->isValid()) {
$existing = $webinaireEcfContactRepository->findOneBy([
'email' => $contactWebinaire->getEmail(),
'webinaireEcf' => $webinaire,
]);
if ($existing) {
$this->addFlash('warning', 'Vous êtes déjà inscrit à ce webinaire avec cet email.');
} else {
$contactWebinaire->setCreatedAt(new \DateTime());
$contactWebinaire->setUpdatedAt(new \DateTime());
if (isset($_COOKIE['afid'])) {
$contactWebinaire->setAfid($_COOKIE['afid']);
}
$this->em->persist($contactWebinaire);
$this->em->flush();
$this->saveAsNewsletter($contactWebinaire->getName(), $contactWebinaire->getEmail());
$email = new Mail();
$email->sendToRudyWebinaireEcf($contactWebinaire, $twig);
$email->sendToUserWebinaireEcf($contactWebinaire, $twig);
$this->addFlash('success', 'Votre message a bien été envoyé');
}
}
return $this->render('Front/webinaire_ecf/index.html.twig', [
'webinaire' => $webinaire,
'form_webinaire_ecf' => $formWebinaireContact->createView(),
]);
}
#[Route('/audit', name: 'webinaire_ifec_audit', host: 'ifec.lagence.expert')]
#[Route('/webinaire-ifec/audit', name: 'webinaire_ifec_audit_preview')]
public function webinaireIfecAudit(Request $request): Response
{
$audit = new Audit();
$form_audit = $this->createForm(AuditWebinaireEcfType::class, $audit);
$form_audit->handleRequest($request);
if ($form_audit->isSubmitted() && $form_audit->isValid()) {
// add NL
if (isset($_COOKIE['afid'])) {
// Récupère la valeur du cookie 'afid'
$afidValue = $_COOKIE['afid'];
$audit->setAfid($afidValue);
}
$this->saveAsNewsletter($audit->getName(), $audit->getEmail());
$this->em->persist($audit);
$this->em->flush();
$email = new Mail();
$email->send($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
$email->sendToUserAudit($audit->getName(), $audit->getEmail());
$this->addFlash('success', 'Votre message a bien été envoyé');
}
return $this->render('Front/webinaire_ifec/audit.html.twig', [
"form_audit_webinaire_ifec" => $form_audit->createView(),
]);
}
// #[Route('/audit', name: 'webinaire_decmotiv_audit', host: 'decmotiv.lagence.expert')]
// #[Route('/webinaire-decmotiv/audit', name: 'webinaire_decmotiv_audit_preview')]
// public function webinaireDecmotivAudit(Request $request): Response
// {
// $audit = new Audit();
// $form_audit = $this->createForm(AuditWebinaireEcfType::class, $audit);
// $form_audit->handleRequest($request);
// if ($form_audit->isSubmitted() && $form_audit->isValid()) {
// // add NL
// if (isset($_COOKIE['afid'])) {
// // Récupère la valeur du cookie 'afid'
// $afidValue = $_COOKIE['afid'];
// $audit->setAfid($afidValue);
// }
//
//
// $this->em->persist($audit);
// $this->em->flush();
//
// $this->saveAsNewsletter($audit->getName(), $audit->getEmail());
//
//
// $email = new Mail();
// $email->send($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
// $email->sendToUserAudit($audit->getName(), $audit->getEmail());
//
// $this->addFlash('success', 'Votre message a bien été envoyé');
// }
//
// return $this->render('Front/webinaire_decmotiv/audit.html.twig', [
// "form_audit_webinaire_decmotiv" => $form_audit->createView(),
// ]);
// }
#[Route('/audit', name: 'webinaire_dec_audit', host: 'objectifdec.lagence.expert')]
#[Route('/webinaire-dec/audit', name: 'webinaire_dec_audit_preview')]
public function webinaireDecAudit(Request $request): Response
{
$audit = new Audit();
$form_audit = $this->createForm(AuditWebinaireEcfType::class, $audit);
$form_audit->handleRequest($request);
if ($form_audit->isSubmitted() && $form_audit->isValid()) {
// add NL
if (isset($_COOKIE['afid'])) {
// Récupère la valeur du cookie 'afid'
$afidValue = $_COOKIE['afid'];
$audit->setAfid($afidValue);
}
$this->em->persist($audit);
$this->em->flush();
$this->saveAsNewsletter($audit->getName(), $audit->getEmail());
$email = new Mail();
$email->send($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
$email->sendToUserAudit($audit->getName(), $audit->getEmail());
$this->addFlash('success', 'Votre message a bien été envoyé');
}
return $this->render('Front/webinaire_dec/audit.html.twig', [
"form_audit_webinaire_dec" => $form_audit->createView(),
]);
}
#[Route('/audit', name: 'webinaire_mister_ia_audit', host: 'ia.lagence.expert')]
#[Route('/webinaire-mister-ia/audit', name: 'webinaire_mister_ia_audit_preview')]
public function webinaireMisterIaAudit(Request $request): Response
{
$audit = new Audit();
$form_audit = $this->createForm(AuditMisterIAType::class, $audit);
$form_audit->handleRequest($request);
if ($form_audit->isSubmitted() && $form_audit->isValid()) {
// add NL
if (isset($_COOKIE['afid'])) {
// Récupère la valeur du cookie 'afid'
$afidValue = $_COOKIE['afid'];
$audit->setAfid($afidValue);
}
$this->em->persist($audit);
$this->em->flush();
$this->saveAsNewsletter($audit->getName(), $audit->getEmail());
$rdvAdrien = $form_audit->get('rdvAdrien')->getData();
$email = new Mail();
$email->sendAuditMisterIA(
$audit->getName(),
$audit->getTelephone(),
$audit->getEmail(),
$audit->getPage(),
$form_audit->get('entreprise')->getData(),
$form_audit->get('nombreEmployes')->getData(),
$rdvAdrien,
$audit->getAfid()
);
$email->sendToUserAuditMisterIA($form_audit->get('prenom')->getData(), $audit->getEmail(), $rdvAdrien);
$this->addFlash('success', 'Votre message a bien été envoyé');
}
return $this->render('Front/webinaire_mister_ia/audit.html.twig', [
"form_audit_webinaire_mister_ia" => $form_audit->createView(),
]);
}
#[Route('/audit', name: 'webinaire_cjec_audit', host: 'cjec.lagence.expert')]
#[Route('/webinaire-cjec/audit', name: 'webinaire_cjec_audit_preview')]
public function webinaireCjecAudit(Request $request): Response
{
$audit = new Audit();
$form_audit = $this->createForm(AuditWebinaireEcfType::class, $audit);
$form_audit->handleRequest($request);
if ($form_audit->isSubmitted() && $form_audit->isValid()) {
// add NL
if (isset($_COOKIE['afid'])) {
// Récupère la valeur du cookie 'afid'
$afidValue = $_COOKIE['afid'];
$audit->setAfid($afidValue);
}
$this->em->persist($audit);
$this->em->flush();
$this->saveAsNewsletter($audit->getName(), $audit->getEmail());
$email = new Mail();
$email->send($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
$email->sendToUserAudit($audit->getName(), $audit->getEmail());
$this->addFlash('success', 'Votre message a bien été envoyé');
}
return $this->render('Front/webinaire_cjec/audit.html.twig', [
"form_audit_webinaire_cjec" => $form_audit->createView(),
]);
}
#[Route('/references', name: 'reference')]
public function reference(Request $request, RealisationRepository $realisationRepository): Response
{
// Récupérer l'offset depuis la requête (par défaut 0)
$offset = (int) $request->query->get('offset', 0);
$limit = 12;
$category = $request->query->get('category', 'all');
if ($category !== 'all') {
// Vue filtrée sur une seule catégorie : pagination classique.
$realisations = $realisationRepository->findBy(
['category' => $category],
['id' => 'DESC'],
$limit,
$offset
);
} else {
// Vue "Tous" : chaque ligne est organisée en [site, identité/print, site].
$all = $realisationRepository->findBy([], ['id' => 'DESC']);
$sites = [];
$milieux = [];
foreach ($all as $item) {
$itemCategory = $item->getCategory();
if ($itemCategory !== null && $itemCategory->getId() == self::CATEGORY_SITE_ID) {
$sites[] = $item;
} else {
$milieux[] = $item;
}
}
$ordered = $this->buildReferenceLayout($sites, $milieux);
$realisations = array_slice($ordered, $offset, $limit);
}
// Si c'est une requête AJAX (load more ou filtre)
if ($request->isXmlHttpRequest()) {
// Rendu d'un fragment Twig pour les nouvelles réalisations
return $this->render('Front/realisations/_realisation_items.html.twig', [
'realisations' => $realisations
]);
}
// Rendu initial de la page
return $this->render('Front/realisations/index.html.twig', [
'title' => "reference",
'realisations' => $realisations
]);
}
private function buildReferenceLayout(array $sites, array $milieux): array
{
$ordered = [];
$siteIndex = 0;
$milieuIndex = 0;
$nbSites = count($sites);
$nbMilieux = count($milieux);
while ($siteIndex < $nbSites || $milieuIndex < $nbMilieux) {
// Colonne de gauche : un site (à défaut, un milieu).
if ($siteIndex < $nbSites) {
$ordered[] = $sites[$siteIndex++];
} elseif ($milieuIndex < $nbMilieux) {
$ordered[] = $milieux[$milieuIndex++];
}
// Colonne du milieu : une identité/print (à défaut, un site).
if ($milieuIndex < $nbMilieux) {
$ordered[] = $milieux[$milieuIndex++];
} elseif ($siteIndex < $nbSites) {
$ordered[] = $sites[$siteIndex++];
}
// Colonne de droite : un site (à défaut, un milieu).
if ($siteIndex < $nbSites) {
$ordered[] = $sites[$siteIndex++];
} elseif ($milieuIndex < $nbMilieux) {
$ordered[] = $milieux[$milieuIndex++];
}
}
return $ordered;
}
#[Route('/nouvelle-annee', name: 'newYear')]
public function videoNewYear(): Response
{
return $this->render('Front/newYear/index.html.twig', [
'title' => "reference",
]);
}
#[Route('/video/{slug}', name: 'video')]
public function video(ModuleVideo $module_video, ModuleVideoRepository $moduleVideoRepository): Response
{
$module_videos = $moduleVideoRepository->findBy(['id' => $module_video]);
return $this->render('Front/video/index.html.twig', [
'title' => "reference",
'module_video' => $module_videos
]);
}
#[Route('/appelle-ton-expert-comptable/{slug}', name: 'video-appel-ton-ec')]
public function Appeltonec_video(string $slug, ModuleVideoRepository $moduleVideoRepository, Request $request): Response
{
$appelleTonEC = new AppelleTonEC;
$formappelleTonEC = $this->createForm(AppelleTonECType::class, $appelleTonEC);
$formappelleTonEC->handleRequest($this->request->getCurrentRequest());
if ($formappelleTonEC->isSubmitted() && $formappelleTonEC->isValid()) {
$this->em->persist($appelleTonEC);
$this->em->flush();
$this->saveAsNewsletter($appelleTonEC->getName(), $appelleTonEC->getEmail());
$email = new Mail();
$email->sendAppelTonECExterne($formappelleTonEC['name']->getData(), $formappelleTonEC['phone']->getData(), $formappelleTonEC['email']->getData(), $formappelleTonEC['page']->getData(), $formappelleTonEC['cabinet']->getData());
$email->sendToUserAppelTonECExterne($formappelleTonEC['name']->getData(), $formappelleTonEC['phone']->getData(), $formappelleTonEC['email']->getData(), $formappelleTonEC['page']->getData());
$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 🚀");
if ($request->getHttpHost() === "127.0.0.1:8000") {
$domain = "127.0.0.1";
} else {
$domain = $request->getHttpHost();
}
$cookie = Cookie::create('appelEcExterne')
->withValue('true')
->withExpires(time() + (10 * 365 * 24 * 60 * 60))
->withDomain($domain)
->withSecure(true);
$response = new Response();
$response->headers->setCookie($cookie);
$response->sendHeaders();
return $this->redirectToRoute('appel-ton-ec');
}
$module_videos = $moduleVideoRepository->findOneBySlugAndAppelleTonEC($slug);
return $this->render('Front/appel-ton-ec/video.html.twig', [
'title' => "Appelle ton Expert-comptable",
'module_video' => $module_videos,
'formEC' => $formappelleTonEC->createView(),
'formEC2' => $formappelleTonEC->createView(),
]);
}
#[Route('/actualite', name: 'actualite')]
public function NewsletterActuOldUrl(Request $request): Response
{
return $this->redirectToRoute('newsletter-actu');
}
#[Route('/newsletter-du-mois', name: 'newsletter-actu')]
public function NewsletterActu(Request $request): Response
{
$newsletterDuMois = new NewsletterDuMois;
$formnewsletterDuMois = $this->createForm(NewsletterDuMoisType::class, $newsletterDuMois);
$formnewsletterDuMois->handleRequest($this->request->getCurrentRequest());
if ($formnewsletterDuMois->isSubmitted() && $formnewsletterDuMois->isValid()) {
if (isset($_COOKIE['afid'])) {
// Récupère la valeur du cookie 'afid'
$afidValue = $_COOKIE['afid'];
$newsletterDuMois->setAfid($afidValue);
}
$this->em->persist($newsletterDuMois);
$this->em->flush();
$this->saveAsNewsletter($newsletterDuMois->getName(), $newsletterDuMois->getEmail());
$email = new Mail();
$email->sendNewsletterDuMois($formnewsletterDuMois['name']->getData(), $formnewsletterDuMois['phone']->getData(), $formnewsletterDuMois['email']->getData());
$email->sendNewsletterSimulateur($formnewsletterDuMois['name']->getData(), $formnewsletterDuMois['phone']->getData(), $formnewsletterDuMois['email']->getData(), $formnewsletterDuMois['page']->getData(), $newsletterDuMois->getAfid());
$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 🚀");
if ($request->getHttpHost() === "127.0.0.1:8000") {
$domain = "127.0.0.1";
} else {
$domain = $request->getHttpHost();
}
$cookie = Cookie::create('accessNewsletterDuMois')
->withValue('true')
->withExpires(time() + (10 * 365 * 24 * 60 * 60))
->withDomain($domain)
->withSecure(true);
$response = new Response();
$response->headers->setCookie($cookie);
$response->sendHeaders();
return $this->redirectToRoute('newsletter-actu');
}
return $this->render('Front/widget/newsletter-du-mois.html.twig', [
'title' => "L'actualité du mois",
'formNewsDuMois' => $formnewsletterDuMois->createView(),
'formNewsDuMois2' => $formnewsletterDuMois->createView(),
'formNewsDuMois3' => $formnewsletterDuMois->createView(),
'formNewsDuMois4' => $formnewsletterDuMois->createView(),
]);
}
#[Route('/newsletter-du-mois-cjec ', name: 'newsletter-actu-cjec')]
public function NewsletterActuCJEC(Request $request): Response
{
$newsletterDuMois = new NewsletterDuMois;
$formnewsletterDuMois = $this->createForm(NewsletterDuMoisType::class, $newsletterDuMois);
$formnewsletterDuMois->handleRequest($this->request->getCurrentRequest());
if ($formnewsletterDuMois->isSubmitted() && $formnewsletterDuMois->isValid()) {
if (isset($_COOKIE['afid'])) {
// Récupère la valeur du cookie 'afid'
$afidValue = $_COOKIE['afid'];
$newsletterDuMois->setAfid($afidValue);
}
$this->em->persist($newsletterDuMois);
$this->em->flush();
$this->saveAsNewsletter($newsletterDuMois->getName(), $newsletterDuMois->getEmail());
$email = new Mail();
$email->sendNewsletterDuMoisCJEC($formnewsletterDuMois['name']->getData(), $formnewsletterDuMois['phone']->getData(), $formnewsletterDuMois['email']->getData());
$email->sendNewsletterSimulateur($formnewsletterDuMois['name']->getData(), $formnewsletterDuMois['phone']->getData(), $formnewsletterDuMois['email']->getData(), $formnewsletterDuMois['page']->getData(), $newsletterDuMois->getAfid());
$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 🚀");
if ($request->getHttpHost() === "127.0.0.1:8000") {
$domain = "127.0.0.1";
} else {
$domain = $request->getHttpHost();
}
$cookie = Cookie::create('accessNewsletterDuMoisCJEC')
->withValue('true')
->withExpires(time() + (10 * 365 * 24 * 60 * 60))
->withDomain($domain)
->withSecure(true);
$response = new Response();
$response->headers->setCookie($cookie);
$response->sendHeaders();
return $this->redirectToRoute('newsletter-actu-cjec');
}
return $this->render('Front/widget/newsletter-du-mois-cjec.html.twig', [
'title' => "L'actualité du mois CJEC",
'formNewsDuMois' => $formnewsletterDuMois->createView(),
'formNewsDuMois2' => $formnewsletterDuMois->createView(),
'formNewsDuMois3' => $formnewsletterDuMois->createView(),
'formNewsDuMois4' => $formnewsletterDuMois->createView(),
]);
}
#[Route('/newsletter-du-mois-createur', name: 'newsletter-actu-createur')]
public function NewsletterActuCreateur(Request $request): Response
{
$newsletterDuMois = new NewsletterDuMois;
$formnewsletterDuMois = $this->createForm(NewsletterDuMoisType::class, $newsletterDuMois);
$formnewsletterDuMois->handleRequest($this->request->getCurrentRequest());
if ($formnewsletterDuMois->isSubmitted() && $formnewsletterDuMois->isValid()) {
if (isset($_COOKIE['afid'])) {
// Récupère la valeur du cookie 'afid'
$afidValue = $_COOKIE['afid'];
$newsletterDuMois->setAfid($afidValue);
}
$this->em->persist($newsletterDuMois);
$this->em->flush();
$this->saveAsNewsletter($newsletterDuMois->getName(), $newsletterDuMois->getEmail());
$email = new Mail();
$email->sendNewsletterDuMoisCreateur($formnewsletterDuMois['name']->getData(), $formnewsletterDuMois['phone']->getData(), $formnewsletterDuMois['email']->getData());
$email->sendNewsletterSimulateur($formnewsletterDuMois['name']->getData(), $formnewsletterDuMois['phone']->getData(), $formnewsletterDuMois['email']->getData(), $formnewsletterDuMois['page']->getData(), $newsletterDuMois->getAfid());
$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 🚀");
if ($request->getHttpHost() === "127.0.0.1:8000") {
$domain = "127.0.0.1";
} else {
$domain = $request->getHttpHost();
}
$cookie = Cookie::create('accessNewsletterDuMoisCreateur')
->withValue('true')
->withExpires(time() + (10 * 365 * 24 * 60 * 60))
->withDomain($domain)
->withSecure(true);
$response = new Response();
$response->headers->setCookie($cookie);
$response->sendHeaders();
return $this->redirectToRoute('newsletter-actu-createur');
}
return $this->render('Front/widget/newsletter-du-mois-createur.html.twig', [
'title' => "L'actualité du mois Créateur",
'formNewsDuMois' => $formnewsletterDuMois->createView(),
'formNewsDuMois2' => $formnewsletterDuMois->createView(),
'formNewsDuMois3' => $formnewsletterDuMois->createView(),
'formNewsDuMois4' => $formnewsletterDuMois->createView(),
]);
}
#[Route('/offre-simulateur ', name: 'simulateur-actu')]
public function SimulateurActuOldUrl(Request $request): Response
{
return $this->redirectToRoute('simulateur');
}
#[Route('/simulateur', name: 'simulateur')]
public function SimulateurActu(Request $request): Response
{
$newsletterDuMois = new NewsletterDuMois;
$formnewsletterDuMois = $this->createForm(NewsletterDuMoisType::class, $newsletterDuMois);
$formnewsletterDuMois->handleRequest($this->request->getCurrentRequest());
if ($formnewsletterDuMois->isSubmitted() && $formnewsletterDuMois->isValid()) {
if (isset($_COOKIE['afid'])) {
// Récupère la valeur du cookie 'afid'
$afidValue = $_COOKIE['afid'];
$newsletterDuMois->setAfid($afidValue);
}
$this->em->persist($newsletterDuMois);
$this->em->flush();
$this->saveAsNewsletter($newsletterDuMois->getName(), $newsletterDuMois->getEmail());
$email = new Mail();
$email->sendSimulateurDuMois($formnewsletterDuMois['name']->getData(), $formnewsletterDuMois['phone']->getData(), $formnewsletterDuMois['email']->getData());
$email->sendNewsletterSimulateur($formnewsletterDuMois['name']->getData(), $formnewsletterDuMois['phone']->getData(), $formnewsletterDuMois['email']->getData(), $formnewsletterDuMois['page']->getData(), $newsletterDuMois->getAfid());
$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 🚀");
if ($request->getHttpHost() === "127.0.0.1:8000") {
$domain = "127.0.0.1";
} else {
$domain = $request->getHttpHost();
}
$cookie = Cookie::create('accessSimulateurDuMois')
->withValue('true')
->withExpires(time() + (10 * 365 * 24 * 60 * 60))
->withDomain($domain)
->withSecure(true);
$response = new Response();
$response->headers->setCookie($cookie);
$response->sendHeaders();
return $this->redirectToRoute('simulateur-actu');
}
return $this->render('Front/widget/simulateur-du-mois.html.twig', [
'title' => "Simulateur",
'formNewsDuMois' => $formnewsletterDuMois->createView(),
'formNewsDuMois2' => $formnewsletterDuMois->createView(),
'formNewsDuMois3' => $formnewsletterDuMois->createView(),
'formNewsDuMois4' => $formnewsletterDuMois->createView(),
]);
}
#[Route('/tour-de-france', name: 'tour-de-france')]
public function tour_de_france(): Response
{
return $this->render('Front/tour-de-france/tour-de-france.html.twig', [
'title' => "Tour de france de lagence.expert",
]);
}
#[Route('/offre-speciale-objectif-dec', name: 'objectif-DEC')]
public function objectif_dec(): Response
{
$audit = new Audit();
$form_audit = $this->createForm(AuditType::class, $audit);
$form_audit->handleRequest($this->request->getCurrentRequest());
if ($form_audit->isSubmitted() && $form_audit->isValid()) {
if (isset($_COOKIE['afid'])) {
// Récupère la valeur du cookie 'afid'
$afidValue = $_COOKIE['afid'];
$audit->setAfid($afidValue);
}
$this->em->persist($audit);
$this->em->flush();
$this->saveAsNewsletter($audit->getName(), $audit->getEmail());
$email = new Mail();
$email->sendAuditObjDEC($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
$email->sendPartnerAuditObjDEC($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage());
$email->sendToUserAuditObjDEC($audit->getName(), $audit->getEmail());
$this->addFlash('success', 'Votre message a bien été envoyé');
}
return $this->render('Front/objectif-dec/objectif-dec.html.twig', [
'title' => "Landingpage Objectif DEC by lagence.expert",
'formRh' => $form_audit->createView(),
]);
}
#[Route('/appelle-ton-expert-comptable-offre-speciale-client', name: 'appel-ton-ec-client')]
public function appel_ton_ec(Request $request): Response
{
$cabinet = new Cabinet;
$formnewsletterDuMois = $this->createForm(CabinetType::class, $cabinet);
$formnewsletterDuMois->handleRequest($this->request->getCurrentRequest());
if ($formnewsletterDuMois->isSubmitted() && $formnewsletterDuMois->isValid()) {
if (isset($_COOKIE['afid'])) {
// Récupère la valeur du cookie 'afid'
$afidValue = $_COOKIE['afid'];
$cabinet->setAfid($afidValue);
}
$this->em->persist($cabinet);
$this->em->flush();
$this->saveAsNewsletter($cabinet->getName(), $cabinet->getEmail());
$email = new Mail();
$email->sendAppelTonECClient($formnewsletterDuMois['cabinet']->getData(), $formnewsletterDuMois['page']->getData(), $cabinet->getAfid());
$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 🚀");
if ($request->getHttpHost() === "127.0.0.1:8000") {
$domain = "127.0.0.1";
} else {
$domain = $request->getHttpHost();
}
$cookie = Cookie::create('appelEcClient')
->withValue('true')
->withExpires(time() + (10 * 365 * 24 * 60 * 60))
->withDomain($domain)
->withSecure(true);
$response = new Response();
$response->headers->setCookie($cookie);
$response->sendHeaders();
return $this->redirectToRoute('appel-ton-ec-client');
}
return $this->render('Front/appel-ton-ec/appel-ton-ec.html.twig', [
'title' => "Appelle ton Expert-comptable offre spéciale client by lagence.expert",
'formNewsDuMois' => $formnewsletterDuMois->createView(),
'formNewsDuMois2' => $formnewsletterDuMois->createView(),
// 'formNewsDuMois3' => $formnewsletterDuMois->createView(),
// 'formNewsDuMois4' => $formnewsletterDuMois->createView(),
'formNewsDuMois5' => $formnewsletterDuMois->createView(),
'formNewsDuMois6' => $formnewsletterDuMois->createView(),
]);
}
#[Route('/appelle-ton-expert-comptable', name: 'appel-ton-ec')]
public function appel_ton_ec2(Request $request): Response
{
$appelleTonEC = new AppelleTonEC;
$formappelleTonEC = $this->createForm(AppelleTonECType::class, $appelleTonEC);
$formappelleTonEC->handleRequest($this->request->getCurrentRequest());
if ($formappelleTonEC->isSubmitted() && $formappelleTonEC->isValid()) {
if (isset($_COOKIE['afid'])) {
// Récupère la valeur du cookie 'afid'
$afidValue = $_COOKIE['afid'];
$appelleTonEC->setAfid($afidValue);
}
$this->em->persist($appelleTonEC);
$this->em->flush();
$this->saveAsNewsletter($appelleTonEC->getName(), $appelleTonEC->getEmail());
$email = new Mail();
$email->sendAppelTonECExterne($formappelleTonEC['name']->getData(), $formappelleTonEC['phone']->getData(), $formappelleTonEC['email']->getData(), $formappelleTonEC['page']->getData(), $formappelleTonEC['cabinet']->getData(), $appelleTonEC->getAfid());
$email->sendToUserAppelTonECExterne($formappelleTonEC['name']->getData(), $formappelleTonEC['phone']->getData(), $formappelleTonEC['email']->getData(), $formappelleTonEC['page']->getData());
$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 🚀");
if ($request->getHttpHost() === "127.0.0.1:8000") {
$domain = "127.0.0.1";
} else {
$domain = $request->getHttpHost();
}
$cookie = Cookie::create('appelEcExterne')
->withValue('true')
->withExpires(time() + (10 * 365 * 24 * 60 * 60))
->withDomain($domain)
->withSecure(true);
$response = new Response();
$response->headers->setCookie($cookie);
$response->sendHeaders();
return $this->redirectToRoute('appel-ton-ec');
}
return $this->render('Front/appel-ton-ec/appel-ton-ec2.html.twig', [
'title' => "Appelle ton Expert-comptable by lagence.expert",
'formEC' => $formappelleTonEC->createView(),
'formEC2' => $formappelleTonEC->createView(),
]);
}
#[Route('/simulateur-offre-speciale-client', name: 'simulateur-client')]
public function SimulateurActu_client(Request $request): Response
{
$cabinet = new Cabinet;
$formnewsletterDuMois = $this->createForm(CabinetType::class, $cabinet);
$formnewsletterDuMois->handleRequest($this->request->getCurrentRequest());
if ($formnewsletterDuMois->isSubmitted() && $formnewsletterDuMois->isValid()) {
if (isset($_COOKIE['afid'])) {
// Récupère la valeur du cookie 'afid'
$afidValue = $_COOKIE['afid'];
$cabinet->setAfid($afidValue);
}
$this->em->persist($cabinet);
$this->em->flush();
$this->saveAsNewsletter($cabinet->getName(), $cabinet->getEmail());
$email = new Mail();
$email->sendSimulateurSpecialeClient($formnewsletterDuMois['cabinet']->getData(), $formnewsletterDuMois['page']->getData(), $cabinet->getAfid());
$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 🚀");
if ($request->getHttpHost() === "127.0.0.1:8000") {
$domain = "127.0.0.1";
} else {
$domain = $request->getHttpHost();
}
$cookie = Cookie::create('accessSimulateurDuMoisClient')
->withValue('true')
->withExpires(time() + (10 * 365 * 24 * 60 * 60))
->withDomain($domain)
->withSecure(true);
$response = new Response();
$response->headers->setCookie($cookie);
$response->sendHeaders();
return $this->redirectToRoute('simulateur-client');
}
return $this->render('Front/widget/simulateur-du-mois-client.html.twig', [
'title' => "Simulateur offre spécial client by lagence.expert",
'formNewsDuMois' => $formnewsletterDuMois->createView(),
'formNewsDuMois2' => $formnewsletterDuMois->createView(),
'formNewsDuMois3' => $formnewsletterDuMois->createView(),
'formNewsDuMois4' => $formnewsletterDuMois->createView(),
]);
}
#[Route('/parrainez-un-expert-comptable', name: 'parrainez-un-expert-comptable')]
public function parrainez_un_expert_comptable(): Response
{
$parrainage = new Parrainage();
$form_parrainage = $this->createForm(ParrainageType::class, $parrainage);
$form_parrainage->handleRequest($this->request->getCurrentRequest());
if ($form_parrainage->isSubmitted() && $form_parrainage->isValid()) {
$this->em->persist($parrainage);
$this->em->flush();
$this->saveAsNewsletter($parrainage->getName(), $parrainage->getEmail());
$email = new Mail();
$email->sendParrainage($parrainage->getCabinet(), $parrainage->getName(), $parrainage->getTelephone(), $parrainage->getEmail(), $parrainage->getPage());
$email->sendParrainageClient($parrainage->getCabinet(), $parrainage->getName(), $parrainage->getTelephone(), $parrainage->getEmail());
$this->addFlash('success', 'Votre message a bien été envoyé');
}
return $this->render('Front/parrainage/parrainage.html.twig', [
'title' => "Parrainez un Expert-Comptable by lagence.expert",
'formParrainage' => $form_parrainage->createView(),
]);
}
#[Route('/offre-credit-impot-recherche', name: 'offre-cir')]
public function offre_cir(): Response
{
$audit = new Audit();
$form_audit = $this->createForm(AuditType::class, $audit);
$form_audit->handleRequest($this->request->getCurrentRequest());
if ($form_audit->isSubmitted() && $form_audit->isValid()) {
if (isset($_COOKIE['afid'])) {
// Récupère la valeur du cookie 'afid'
$afidValue = $_COOKIE['afid'];
$audit->setAfid($afidValue);
}
$this->em->persist($audit);
$this->em->flush();
$this->saveAsNewsletter($audit->getName(), $audit->getEmail());
$email = new Mail();
$email->sendCir($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
$email->sendToUserCir($audit->getName(), $audit->getEmail());
$this->addFlash('success', 'Votre message a bien été envoyé');
}
return $this->render('Front/offre-cir/offre-cir.html.twig', [
'title' => "L'offre Crédit d’impôt recherche by lagence.expert",
'formRh' => $form_audit->createView(),
]);
}
#[Route('/bureaux-virtuels', name: 'bureau-virtuel')]
public function bureau_virtuel(): Response
{
$audit = new Audit();
$form_audit = $this->createForm(AuditType::class, $audit);
$form_audit->handleRequest($this->request->getCurrentRequest());
if ($form_audit->isSubmitted() && $form_audit->isValid()) {
if (isset($_COOKIE['afid'])) {
// Récupère la valeur du cookie 'afid'
$afidValue = $_COOKIE['afid'];
$audit->setAfid($afidValue);
}
$this->em->persist($audit);
$this->em->flush();
$this->saveAsNewsletter($audit->getName(), $audit->getEmail());
$email = new Mail();
$email->sendVirtuel($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
$email->sendToUserVirtuel($audit->getName(), $audit->getEmail());
$email->sendPartnerVirtuel($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage());
$this->addFlash('success', 'Votre message a bien été envoyé');
}
return $this->render('Front/bureau-virtuel/bureau-virtuel.html.twig', [
'title' => "Bureaux virtuels by lagence.expert",
'formRh' => $form_audit->createView(),
]);
}
#[Route('/offre-comite-entreprise', name: 'comite-entreprise')]
public function comite_entreprise(): Response
{
$audit = new Audit();
$form_audit = $this->createForm(AuditType::class, $audit);
$form_audit->handleRequest($this->request->getCurrentRequest());
if ($form_audit->isSubmitted() && $form_audit->isValid()) {
if (isset($_COOKIE['afid'])) {
// Récupère la valeur du cookie 'afid'
$afidValue = $_COOKIE['afid'];
$audit->setAfid($afidValue);
}
$this->em->persist($audit);
$this->em->flush();
$this->saveAsNewsletter($audit->getName(), $audit->getEmail());
$email = new Mail();
$email->sendCe($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
$email->sendToUserCe($audit->getName(), $audit->getEmail());
$this->addFlash('success', 'Votre message a bien été envoyé');
}
return $this->render('Front/comite-entreprise/comite-entreprise.html.twig', [
'title' => "L’offre Comité d’entreprise by lagence.expert",
'formRh' => $form_audit->createView(),
]);
}
#[Route('/dynamiser', name: 'dynamiser')]
public function dynamiser(Request $request, BlogRepository $blogRepository, RealisationRepository $realisationRepository): Response
{
return $this->render('Front/home/dynamiser.html.twig', [
'title' => "Dynamiser",
'blogs' => $blogRepository->findBy([], [], 3, 0),
'realisations' => $realisationRepository->findBy([], ['id' => 'DESC'], 12, 0)
]);
}
#[Route('/developper', name: 'developper')]
public function developper(Request $request, BlogRepository $blogRepository, RealisationRepository $realisationRepository): Response
{
return $this->render('Front/home/developper.html.twig', [
'title' => "Développer",
'blogs' => $blogRepository->findBy([], [], 3, 0),
'realisations' => $realisationRepository->findBy([], ['id' => 'DESC'], 12, 0),
]);
}
#[Route('/s-informer', name: 'sinformer')]
public function sinformer(Request $request, BlogRepository $blogRepository, RealisationRepository $realisationRepository): Response
{
return $this->redirectToRoute('home', [], 301);
return $this->render('Front/home/sinformer.html.twig', [
'title' => "S'informer",
'blogs' => $blogRepository->findBy([], [],30, 0),
'realisations' => $realisationRepository->findBy([], ['id' => 'DESC'], 12, 0),
]);
}
#[Route('/tous-en-ligne', name: 'tous-en-ligne')]
public function tous_en_ligne(): Response
{
$audit = new Audit();
$form_audit = $this->createForm(AuditType::class, $audit);
$form_audit->handleRequest($this->request->getCurrentRequest());
if ($form_audit->isSubmitted() && $form_audit->isValid()) {
if (isset($_COOKIE['afid'])) {
// Récupère la valeur du cookie 'afid'
$afidValue = $_COOKIE['afid'];
$audit->setAfid($afidValue);
}
$this->em->persist($audit);
$this->em->flush();
$this->saveAsNewsletter($audit->getName(), $audit->getEmail());
$email = new Mail();
$email->sendTL($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
$email->sendToUserTL($audit->getName(), $audit->getEmail());
$this->addFlash('success', 'Votre message a bien été envoyé');
}
return $this->render('Front/tous-en-ligne/tous-en-ligne.html.twig', [
'title' => "Tous en ligne by lagence.expert",
'formRh' => $form_audit->createView(),
]);
}
#[Route('/newsletter-du-mois-offre-bienvenue', name: 'newsletter-offre-bienvenue')]
public function NewsletterOffreBienvenue(Request $request): Response
{
$newsletterDuMois = new NewsletterDuMois;
$formnewsletterDuMois = $this->createForm(NewsletterDuMoisType::class, $newsletterDuMois);
$formnewsletterDuMois->handleRequest($this->request->getCurrentRequest());
if ($formnewsletterDuMois->isSubmitted() && $formnewsletterDuMois->isValid()) {
if (isset($_COOKIE['afid'])) {
// Récupère la valeur du cookie 'afid'
$afidValue = $_COOKIE['afid'];
$newsletterDuMois->setAfid($afidValue);
}
$this->em->persist($newsletterDuMois);
$this->em->flush();
$this->saveAsNewsletter($newsletterDuMois->getName(), $newsletterDuMois->getEmail());
$email = new Mail();
$email->sendNewsletterDuMoisOffreBienvenue($formnewsletterDuMois['name']->getData(), $formnewsletterDuMois['phone']->getData(), $formnewsletterDuMois['email']->getData());
$email->sendNewsletterSimulateur($formnewsletterDuMois['name']->getData(), $formnewsletterDuMois['phone']->getData(), $formnewsletterDuMois['email']->getData(), $formnewsletterDuMois['page']->getData(), $newsletterDuMois->getAfid());
$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 🚀");
if ($request->getHttpHost() === "127.0.0.1:8000") {
$domain = "127.0.0.1";
} else {
$domain = $request->getHttpHost();
}
$cookie = Cookie::create('accessNewsletterDuMoisBienvenue')
->withValue('true')
->withExpires(time() + (10 * 365 * 24 * 60 * 60))
->withDomain($domain)
->withSecure(true);
$response = new Response();
$response->headers->setCookie($cookie);
$response->sendHeaders();
return $this->redirectToRoute('newsletter-offre-bienvenue');
}
return $this->render('Front/widget/newsletter-du-mois-offre-bienvenue.html.twig', [
'title' => "L'actualité du mois Offre Bienvenue",
'formNewsDuMois' => $formnewsletterDuMois->createView(),
'formNewsDuMois2' => $formnewsletterDuMois->createView(),
'formNewsDuMois3' => $formnewsletterDuMois->createView(),
'formNewsDuMois4' => $formnewsletterDuMois->createView(),
]);
}
#[Route('/appelle-ton-expert-comptable-offre-speciale-cjec', name: 'appel-ton-ec-cjec')]
public function appel_ton_ec3(Request $request): Response
{
$appelleTonEC = new AppelleTonEC;
$formappelleTonEC = $this->createForm(AppelleTonECType::class, $appelleTonEC);
$formappelleTonEC->handleRequest($this->request->getCurrentRequest());
if ($formappelleTonEC->isSubmitted() && $formappelleTonEC->isValid()) {
if (isset($_COOKIE['afid'])) {
// Récupère la valeur du cookie 'afid'
$afidValue = $_COOKIE['afid'];
$appelleTonEC->setAfid($afidValue);
}
$this->em->persist($appelleTonEC);
$this->em->flush();
$this->saveAsNewsletter($appelleTonEC->getName(), $appelleTonEC->getEmail());
$email = new Mail();
$email->sendAppelTonECExterne($formappelleTonEC['name']->getData(), $formappelleTonEC['phone']->getData(), $formappelleTonEC['email']->getData(), $formappelleTonEC['page']->getData(), $formappelleTonEC['cabinet']->getData(), $appelleTonEC->getAfid());
$email->sendToUserAppelTonECExterne($formappelleTonEC['name']->getData(), $formappelleTonEC['phone']->getData(), $formappelleTonEC['email']->getData(), $formappelleTonEC['page']->getData());
$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 🚀");
if ($request->getHttpHost() === "127.0.0.1:8000") {
$domain = "127.0.0.1";
} else {
$domain = $request->getHttpHost();
}
$cookie = Cookie::create('appelEcExterne')
->withValue('true')
->withExpires(time() + (10 * 365 * 24 * 60 * 60))
->withDomain($domain)
->withSecure(true);
$response = new Response();
$response->headers->setCookie($cookie);
$response->sendHeaders();
return $this->redirectToRoute('appel-ton-ec-cjec');
}
return $this->render('Front/appel-ton-ec/appel-ton-ec3.html.twig', [
'title' => "Appelle ton Expert-comptable offre spéciale CJEC by lagence.expert",
'formEC' => $formappelleTonEC->createView(),
'formEC2' => $formappelleTonEC->createView(),
]);
}
#[Route('/nom-commercial', name: 'nom_commercial')]
public function NomCommercial(Request $request): Response
{
$audit = new Audit();
$form_audit = $this->createForm(AuditType::class, $audit);
$form_audit->handleRequest($this->request->getCurrentRequest());
if ($form_audit->isSubmitted() && $form_audit->isValid()) {
if (isset($_COOKIE['afid'])) {
// Récupère la valeur du cookie 'afid'
$afidValue = $_COOKIE['afid'];
$audit->setAfid($afidValue);
}
$this->em->persist($audit);
$this->em->flush();
$this->saveAsNewsletter($audit->getName(), $audit->getEmail());
$email = new Mail();
$email->sendNC($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
$email->sendToUserNC($audit->getName(), $audit->getEmail());
$this->addFlash('success', 'Votre message a bien été envoyé');
}
return $this->render('Front/nom-commercial/nom-commercial.html.twig', [
'title' => "Nom commercial by lagence.expert",
'formRh' => $form_audit->createView(),
]);
}
#[Route('/animation-linkedin-offre-speciale-client', name: 'linkedin-client')]
public function linkedin_client(): Response
{
$cabinet = new Cabinet();
$form_cabinet = $this->createForm(CabinetType::class, $cabinet);
$form_cabinet->handleRequest($this->request->getCurrentRequest());
if ($form_cabinet->isSubmitted() && $form_cabinet->isValid()) {
if (isset($_COOKIE['afid'])) {
// Récupère la valeur du cookie 'afid'
$afidValue = $_COOKIE['afid'];
$cabinet->setAfid($afidValue);
}
$this->em->persist($cabinet);
$this->em->flush();
$this->saveAsNewsletter($cabinet->getName(), $cabinet->getEmail());
$email = new Mail();
$email->sendLinkedin($cabinet->getCabinet(), $cabinet->getPage(), $cabinet->getAfid());
$this->addFlash('success', 'Votre message a bien été envoyé');
}
return $this->render('Front/linkedin-client/linkedin-client.html.twig', [
'title' => "Boostez l'animation de votre profil LinkedIn",
'formCabinet' => $form_cabinet->createView(),
]);
}
#[Route('/animation-linkedin', name: 'linkedin-non-client')]
public function linkedin_non_client(): Response
{
$audit = new Audit();
$form_audit = $this->createForm(AuditType::class, $audit);
$form_audit->handleRequest($this->request->getCurrentRequest());
if ($form_audit->isSubmitted() && $form_audit->isValid()) {
if (isset($_COOKIE['afid'])) {
// Récupère la valeur du cookie 'afid'
$afidValue = $_COOKIE['afid'];
$audit->setAfid($afidValue);
}
$this->em->persist($audit);
$this->em->flush();
$this->saveAsNewsletter($audit->getName(), $audit->getEmail());
$email = new Mail();
$email->sendLinkedinNonClient($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
$email->sendToUserLinkedin($audit->getName(), $audit->getEmail());
$this->addFlash('success', 'Votre message a bien été envoyé');
}
// return $this->render('Front/linkedin-client/linkedin-non-client.html.twig', [
// 'title' => "L’offre Linkedin by lagence.expert",
// 'formCabinet' => $form_audit->createView(),
// ]);
return $this->render('Front/linkedin-client/linkedin-prospect.html.twig', [
'title' => "Boostez l'animation de votre profil LinkedIn",
'formCabinet' => $form_audit->createView(),
]);
}
#[Route('/newsletter-du-mois-prescripteur', name: 'newsletter-du-mois-prescripteur')]
public function NewsletterActu_prescripteur(Request $request): Response
{
$parrainage = new Parrainage;
$formParrainage = $this->createForm(ParrainageType::class, $parrainage);
$formParrainage->handleRequest($this->request->getCurrentRequest());
if ($formParrainage->isSubmitted() && $formParrainage->isValid()) {
$this->em->persist($parrainage);
$this->em->flush();
$this->saveAsNewsletter($parrainage->getName(), $parrainage->getEmail());
$email = new Mail();
$email->sendParrainage($parrainage->getCabinet(), $parrainage->getName(), $parrainage->getTelephone(), $parrainage->getEmail(), $parrainage->getPage());
$email->sendParrainageClient($parrainage->getCabinet(), $parrainage->getName(), $parrainage->getTelephone(), $parrainage->getEmail());
$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 🚀");
if ($request->getHttpHost() === "127.0.0.1:8000") {
$domain = "127.0.0.1";
} else {
$domain = $request->getHttpHost();
}
$cookie = Cookie::create('accessNewsletterDuMoisPrescripteur')
->withValue('true')
->withExpires(time() + (10 * 365 * 24 * 60 * 60))
->withDomain($domain)
->withSecure(true);
$response = new Response();
$response->headers->setCookie($cookie);
$response->sendHeaders();
return $this->redirectToRoute('newsletter-du-mois-prescripteur');
}
return $this->render('Front/widget/newsletter-du-mois-prescripteur.html.twig', [
'title' => "L'actualité du mois Prescripteur",
'formNewsDuMois' => $formParrainage->createView(),
'formNewsDuMois2' => $formParrainage->createView(),
'formNewsDuMois3' => $formParrainage->createView(),
'formNewsDuMois4' => $formParrainage->createView(),
]);
}
#[Route('/optimisation-profil-linkedin', name: 'profil_linkedin')]
public function profil_linkedin(Request $request): Response
{
$audit = new Audit();
$form_audit = $this->createForm(AuditType::class, $audit);
$form_audit->handleRequest($this->request->getCurrentRequest());
if ($form_audit->isSubmitted() && $form_audit->isValid()) {
if (isset($_COOKIE['afid'])) {
// Récupère la valeur du cookie 'afid'
$afidValue = $_COOKIE['afid'];
$audit->setAfid($afidValue);
}
$this->em->persist($audit);
$this->em->flush();
$this->saveAsNewsletter($audit->getName(), $audit->getEmail());
$email = new Mail();
$email->sendLinkedinOptimisation($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
$email->sendToUserLinkedinOptimisation($audit->getName(), $audit->getEmail());
$this->addFlash('success', 'Votre message a bien été envoyé');
}
return $this->render('Front/profil-linkedin/profil_linkedin.html.twig', [
'title' => "Optimisez votre profil Linkedin by lagence.expert",
'formCabinet' => $form_audit->createView(),
]);
}
#[Route('/google-ads', name: 'google-ads')]
public function googleAds(): Response
{
// Le formulaire d'audit (form_audit) et la newsletter (form_news2) sont
// créés et traités par AbstractFrontController::render().
return $this->render('Front/google-ads/index.html.twig', [
'title' => "Google Ads",
]);
}
#[Route('/nom-commercial-offre-speciale-cjec', name: 'nom_commercial_cjec')]
public function NomCommercialCJEC(Request $request): Response
{
$audit = new Audit();
$form_audit = $this->createForm(AuditType::class, $audit);
$form_audit->handleRequest($this->request->getCurrentRequest());
if ($form_audit->isSubmitted() && $form_audit->isValid()) {
if (isset($_COOKIE['afid'])) {
// Récupère la valeur du cookie 'afid'
$afidValue = $_COOKIE['afid'];
$audit->setAfid($afidValue);
}
$this->em->persist($audit);
$this->em->flush();
$this->saveAsNewsletter($audit->getName(), $audit->getEmail());
$email = new Mail();
$email->sendNC($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
$email->sendToUserNC($audit->getName(), $audit->getEmail());
$this->addFlash('success', 'Votre message a bien été envoyé');
}
return $this->render('Front/nom-commercial/nom-commercial-cjec.html.twig', [
'title' => "Nom commercial offre spéciale CJEC by lagence.expert",
'formRh' => $form_audit->createView(),
]);
}
#[Route('optimisez-votre-fiche-google-my-business', name: 'fiche_gmb')]
public function gmb(Request $request): Response
{
$audit = new Audit();
$form_audit = $this->createForm(AuditType::class, $audit);
$form_audit->handleRequest($this->request->getCurrentRequest());
if ($form_audit->isSubmitted() && $form_audit->isValid()) {
if (isset($_COOKIE['afid'])) {
// Récupère la valeur du cookie 'afid'
$afidValue = $_COOKIE['afid'];
$audit->setAfid($afidValue);
}
$this->em->persist($audit);
$this->em->flush();
$this->saveAsNewsletter($audit->getName(), $audit->getEmail());
$email = new Mail();
$email->sendFicheGMB($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
$email->sendToUserFicheGMB($audit->getName(), $audit->getEmail());
$this->addFlash('success', 'Votre message a bien été envoyé');
}
return $this->render('Front/fiche-gmb/fiche_gmb.html.twig', [
'title' => "Optimisez votre fiche Google My Business by lagence.expert",
'formCabinet' => $form_audit->createView(),
]);
}
#[Route('realisations/update-position', name: 'realisations_update_position')]
public function reference_test(Request $request, RealisationRepository $realisationRepository): Response
{
$realisations = $realisationRepository->findBy([], ['position' => 'ASC']);
return $this->render('Front/realisations/test.html.twig', [
'title' => "reference",
'realisations' => $realisations
]);
}
#[Route('/podcast2', name: 'podcast2_redirect')]
public function redirectPodcast(): RedirectResponse
{
return $this->redirectToRoute('podcast2');
}
#[Route('/podcast', name: 'podcast2')]
public function podcast(): Response
{
$notifPodcast = new NotifPodcast;
$formNotifPodcast = $this->createForm(PlaceExpertContactType::class, $notifPodcast); // form être informé de la sortie d'un épisode
$formNotifPodcast->handleRequest($this->request->getCurrentRequest());
if ($formNotifPodcast->isSubmitted() && $formNotifPodcast->isValid()) {
if (isset($_COOKIE['afid'])) {
// Récupère la valeur du cookie 'afid'
$afidValue = $_COOKIE['afid'];
$notifPodcast->setAfid($afidValue);
}
$this->em->persist($notifPodcast);
$this->em->flush();
$email = new Mail();
$email->sendNotifPodcast($formNotifPodcast['name']->getData(), $formNotifPodcast['email']->getData(), $notifPodcast->getAfid());
$this->addFlash('success', 'Nous vous enverrons un mail à la sortie du prochain épisode de place à l\'expert, merci pour votre confiance ! ');
if ($request->getHttpHost() === "127.0.0.1:8000") {
$domain = "127.0.0.1";
} else {
$domain = $request->getHttpHost();
}
$cookie = Cookie::create('accessPodcast')
->withValue('true')
->withExpires(time() + (10 * 365 * 24 * 60 * 60))
->withDomain($domain)
->withSecure(true);
$response = new Response();
$response->headers->setCookie($cookie);
$response->sendHeaders();
return $this->redirectToRoute('place_expert_comptable');
}
return $this->render('Front/podcast2/index.html.twig', [
'title' => "Podcast",
'formNotif' => $formNotifPodcast->createView(),
]);
}
#[Route('/newsletter-du-mois-cec', name: 'newsletter-actu-cec')]
public function NewsletterActuCEC(Request $request): Response
{
$newsletterDuMois = new NewsletterDuMois;
$formnewsletterDuMois = $this->createForm(NewsletterDuMoisType::class, $newsletterDuMois);
$formnewsletterDuMois->handleRequest($this->request->getCurrentRequest());
if ($formnewsletterDuMois->isSubmitted() && $formnewsletterDuMois->isValid()) {
if (isset($_COOKIE['afid'])) {
// Récupère la valeur du cookie 'afid'
$afidValue = $_COOKIE['afid'];
$newsletterDuMois->setAfid($afidValue);
}
$this->em->persist($newsletterDuMois);
$this->em->flush();
$this->saveAsNewsletter($newsletterDuMois->getName(), $newsletterDuMois->getEmail());
$email = new Mail();
$email->sendNewsletterDuMoisCEC($formnewsletterDuMois['name']->getData(), $formnewsletterDuMois['phone']->getData(), $formnewsletterDuMois['email']->getData());
$email->sendNewsletterSimulateurCEC($formnewsletterDuMois['name']->getData(), $formnewsletterDuMois['phone']->getData(), $formnewsletterDuMois['email']->getData(), $formnewsletterDuMois['page']->getData(), $formnewsletterDuMois['cabinet']->getData(), $newsletterDuMois->getAfid());
$email->sendNewsletterSimulateurCECCopie($formnewsletterDuMois['name']->getData(), $formnewsletterDuMois['phone']->getData(), $formnewsletterDuMois['email']->getData(), $formnewsletterDuMois['page']->getData(), $formnewsletterDuMois['cabinet']->getData());
$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 🚀");
if ($request->getHttpHost() === "127.0.0.1:8000") {
$domain = "127.0.0.1";
} else {
$domain = $request->getHttpHost();
}
$cookie = Cookie::create('accessNewsletterDuMoisCEC')
->withValue('true')
->withExpires(time() + (10 * 365 * 24 * 60 * 60))
->withDomain($domain)
->withSecure(true);
$response = new Response();
$response->headers->setCookie($cookie);
$response->sendHeaders();
return $this->redirectToRoute('newsletter-actu-cec');
}
return $this->render('Front/widget/newsletter-du-mois-cec.html.twig', [
'title' => "L'actualité du mois by CEC",
'formNewsDuMois' => $formnewsletterDuMois->createView(),
'formNewsDuMois2' => $formnewsletterDuMois->createView(),
'formNewsDuMois3' => $formnewsletterDuMois->createView(),
'formNewsDuMois4' => $formnewsletterDuMois->createView(),
]);
}
#[Route('/place-a-l-expert', name: 'pal-offre')]
public function palNew(Request $request): Response
{
return $this->redirectToRoute('newsletter-actu');
$newsletterDuMois = new NewsletterDuMois;
$formnewsletterDuMois = $this->createForm(NewsletterDuMoisType::class, $newsletterDuMois);
$formnewsletterDuMois->handleRequest($this->request->getCurrentRequest());
if ($formnewsletterDuMois->isSubmitted() && $formnewsletterDuMois->isValid()) {
if (isset($_COOKIE['afid'])) {
// Récupère la valeur du cookie 'afid'
$afidValue = $_COOKIE['afid'];
$newsletterDuMois->setAfid($afidValue);
}
$this->em->persist($newsletterDuMois);
$this->em->flush();
$this->saveAsNewsletter($newsletterDuMois->getName(), $newsletterDuMois->getEmail());
$email = new Mail();
$email->sendPALClient($formnewsletterDuMois['name']->getData(), $formnewsletterDuMois['phone']->getData(), $formnewsletterDuMois['email']->getData());
$email->sendPAL($formnewsletterDuMois['name']->getData(), $formnewsletterDuMois['phone']->getData(), $formnewsletterDuMois['email']->getData(), $formnewsletterDuMois['page']->getData(), $newsletterDuMois->getAfid());
$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 🚀");
if ($request->getHttpHost() === "127.0.0.1:8000") {
$domain = "127.0.0.1";
} else {
$domain = $request->getHttpHost();
}
$cookie = Cookie::create('accessPAL')
->withValue('true')
->withExpires(time() + (10 * 365 * 24 * 60 * 60))
->withDomain($domain)
->withSecure(true);
$response = new Response();
$response->headers->setCookie($cookie);
$response->sendHeaders();
return $this->redirectToRoute('pal-offre');
}
return $this->render('Front/widget/pal.html.twig', [
'title' => "Place à l’Expert",
'formNewsDuMois' => $formnewsletterDuMois->createView(),
'formNewsDuMois2' => $formnewsletterDuMois->createView(),
'formNewsDuMois3' => $formnewsletterDuMois->createView(),
'formNewsDuMois4' => $formnewsletterDuMois->createView(),
]);
}
#[Route('/place-a-l-expert-offre-speciale-client', name: 'pal-offre-client')]
public function palNew_client(Request $request): Response
{
$cabinet = new Cabinet();
$formCabinet = $this->createForm(CabinetType::class, $cabinet);
$formCabinet->handleRequest($this->request->getCurrentRequest());
if ($formCabinet->isSubmitted() && $formCabinet->isValid()) {
if (isset($_COOKIE['afid'])) {
// Récupère la valeur du cookie 'afid'
$afidValue = $_COOKIE['afid'];
$cabinet->setAfid($afidValue);
}
$this->em->persist($cabinet);
$this->em->flush();
$this->saveAsNewsletter($cabinet->getName(), $cabinet->getEmail());
$email = new Mail();
$email->sendPALOffreClient($formCabinet['cabinet']->getData(), $formCabinet['page']->getData(), $cabinet->getAfid());
$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 🚀");
if ($request->getHttpHost() === "127.0.0.1:8000") {
$domain = "127.0.0.1";
} else {
$domain = $request->getHttpHost();
}
$cookie = Cookie::create('accessPAL')
->withValue('true')
->withExpires(time() + (10 * 365 * 24 * 60 * 60))
->withDomain($domain)
->withSecure(true);
$response = new Response();
$response->headers->setCookie($cookie);
$response->sendHeaders();
return $this->redirectToRoute('pal-offre-client');
}
return $this->render('Front/widget/pal-client.html.twig', [
'title' => "Place à l’Expert Offre spéciale client",
'formCabinet' => $formCabinet->createView(),
'formCabinet2' => $formCabinet->createView(),
]);
}
#[Route('/offre-speciale-viseeon', name: 'viseeon')]
public function viseeon(): Response
{
$audit = new Audit();
$form_audit = $this->createForm(AuditType::class, $audit);
$form_audit->handleRequest($this->request->getCurrentRequest());
if ($form_audit->isSubmitted() && $form_audit->isValid()) {
if (isset($_COOKIE['afid'])) {
// Récupère la valeur du cookie 'afid'
$afidValue = $_COOKIE['afid'];
$audit->setAfid($afidValue);
}
$this->em->persist($audit);
$this->em->flush();
$this->saveAsNewsletter($audit->getName(), $audit->getEmail());
$email = new Mail();
$email->sendAuditViseeon($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
$email->sendPartnerAuditViseeon($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage());
$email->sendToUserAuditViseeon($audit->getName(), $audit->getEmail());
$this->addFlash('success', 'Votre message a bien été envoyé');
}
return $this->render('Front/viseeon/viseeon.html.twig', [
'title' => "Landingpage Viseeon by lagence.expert",
'formRh' => $form_audit->createView(),
]);
}
#[Route('/offre-speciale-cjec', name: 'cjec')]
public function cjec(): Response
{
$audit = new Audit();
$form_audit = $this->createForm(AuditType::class, $audit);
$form_audit->handleRequest($this->request->getCurrentRequest());
if ($form_audit->isSubmitted() && $form_audit->isValid()) {
if (isset($_COOKIE['afid'])) {
// Récupère la valeur du cookie 'afid'
$afidValue = $_COOKIE['afid'];
$audit->setAfid($afidValue);
}
$this->em->persist($audit);
$this->em->flush();
$this->saveAsNewsletter($audit->getName(), $audit->getEmail());
$email = new Mail();
$email->sendAuditCJEC($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
$email->sendToUserAuditCJEC($audit->getName(), $audit->getEmail());
$this->addFlash('success', 'Votre message a bien été envoyé');
}
return $this->render('Front/cjec/cjec.html.twig', [
'title' => "Landingpage CJEC by lagence.expert",
'formRh' => $form_audit->createView(),
]);
}
#[Route('/place-a-l-expert-comptable', name: 'place_expert_comptable')]
public function place_expert_comptable(Request $request): Response
{
$contactPodcast = new ContactPodcast; //form ajout du widget
$formPodcast = $this->createForm(PodcastContactType::class, $contactPodcast);
$formPodcast->handleRequest($this->request->getCurrentRequest());
if ($formPodcast->isSubmitted() && $formPodcast->isValid()) {
if (isset($_COOKIE['afid'])) {
// Récupère la valeur du cookie 'afid'
$afidValue = $_COOKIE['afid'];
$contactPodcast->setAfid($afidValue);
}
$this->em->persist($contactPodcast);
$this->em->flush();
$this->saveAsNewsletter($contactPodcast->getName(), $contactPodcast->getEmail());
$email = new Mail();
$email->sendPodcast($contactPodcast->getEmail(), $contactPodcast->getSiteInternet(), $contactPodcast->getAfid());
$this->addFlash('success', 'Vous allez bientôt recevoir le widget par mail, merci pour votre confiance !');
}
$notifPodcast = new NotifPodcast;
$formNotifPodcast = $this->createForm(PlaceExpertContactType::class, $notifPodcast); // form être informé de la sortie d'un épisode
$formNotifPodcast->handleRequest($this->request->getCurrentRequest());
if ($formNotifPodcast->isSubmitted() && $formNotifPodcast->isValid()) {
if (isset($_COOKIE['afid'])) {
// Récupère la valeur du cookie 'afid'
$afidValue = $_COOKIE['afid'];
$notifPodcast->setAfid($afidValue);
}
$this->em->persist($notifPodcast);
$this->em->flush();
$email = new Mail();
$email->sendNotifPodcast($formNotifPodcast['name']->getData(), $formNotifPodcast['email']->getData(), $notifPodcast->getAfid());
$this->addFlash('success', 'Nous vous enverrons un mail à la sortie du prochain épisode de place à l\'expert, merci pour votre confiance ! ');
if ($request->getHttpHost() === "127.0.0.1:8000") {
$domain = "127.0.0.1";
} else {
$domain = $request->getHttpHost();
}
$cookie = Cookie::create('accessPodcast')
->withValue('true')
->withExpires(time() + (10 * 365 * 24 * 60 * 60))
->withDomain($domain)
->withSecure(true);
$response = new Response();
$response->headers->setCookie($cookie);
$response->sendHeaders();
return $this->redirectToRoute('place_expert_comptable');
}
return $this->render('Front/place_expert_comptable/index.html.twig', [
'title' => "Podcast Place à l’Expert-comptable au-delà des chiffres 🚀",
'formPodcast' => $formPodcast->createView(),
'formNotif' => $formNotifPodcast->createView(),
'formNotif2' => $formNotifPodcast->createView(),
]);
}
#[Route('/place-a-l-expert-comptable-2', name: 'place_expert_comptable_2')]
public function place_expert_comptable2(Request $request): Response
{
return $this->render('Front/place_expert_comptable/index.html.twig', [
'title' => "Podcast Place à l’Expert-comptable au-delà des chiffres 🚀",
]);
}
#[Route('/palec', name: 'palec')]
public function palec(Request $request): Response
{
$contactPodcast = new ContactPodcast; //form ajout du widget
$formPodcast = $this->createForm(PodcastContactType::class, $contactPodcast);
$formPodcast->handleRequest($this->request->getCurrentRequest());
if ($formPodcast->isSubmitted() && $formPodcast->isValid()) {
if (isset($_COOKIE['afid'])) {
// Récupère la valeur du cookie 'afid'
$afidValue = $_COOKIE['afid'];
$contactPodcast->setAfid($afidValue);
}
$this->em->persist($contactPodcast);
$this->em->flush();
$this->saveAsNewsletter($contactPodcast->getName(), $contactPodcast->getEmail());
$email = new Mail();
$email->sendPodcast($contactPodcast->getEmail(), $contactPodcast->getSiteInternet(), $contactPodcast->getAfid());
$this->addFlash('success', 'Vous allez bientôt recevoir le widget par mail, merci pour votre confiance !');
}
return $this->render('Front/palec/index.html.twig', [
'title' => "PALEC",
'formPodcast' => $formPodcast->createView(),
]);
}
#[Route('/emailing', name: 'emailing')]
public function emailing(): Response
{
$audit = new Audit();
$form_audit = $this->createForm(AuditType::class, $audit);
$form_audit->handleRequest($this->request->getCurrentRequest());
if ($form_audit->isSubmitted() && $form_audit->isValid()) {
if (isset($_COOKIE['afid'])) {
// Récupère la valeur du cookie 'afid'
$afidValue = $_COOKIE['afid'];
$audit->setAfid($afidValue);
}
$this->em->persist($audit);
$this->em->flush();
$this->saveAsNewsletter($audit->getName(), $audit->getEmail());
$email = new Mail();
$email->sendEmailing($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
$email->sendToUserEmailing($audit->getName(), $audit->getEmail());
$this->addFlash('success', 'Votre message a bien été envoyé');
}
return $this->render('Front/widget-emailing/index.html.twig', [
'title' => "Emailing by lagence.expert",
'formCabinet' => $form_audit->createView(),
]);
}
#[Route('/calendly', name: 'calendly')]
public function calendly(): Response
{
return $this->render('Front/calendly/index.html.twig', [
'title' => "Calendly",
]);
}
#[Route('/whatsapp', name: 'whatsapp')]
public function whatsapp(): Response
{
return $this->render('Front/whatsapp/index.html.twig', [
'title' => "WhatsApp",
]);
}
#[Route('/live-linkedin', name: 'live-linkedin')]
public function liveLinkedin(): Response
{
$request = $this->request->getCurrentRequest();
// Formulaire « pose ta question » propre à cette page : mêmes champs que
// l'audit mais SANS téléphone (AuditLinkedinType). Le traitement reste
// identique à l'index (persistance + newsletter + mail) via le handler
// partagé handleAuditSubmission().
$audit = new Audit();
$form_question = $this->formFactory->createNamed(
'form_question',
AuditLinkedinType::class,
$audit,
['attr' => ['id' => 'form_question_anchor']]
);
$form_question->handleRequest($request);
if ($form_question->isSubmitted() && $form_question->isValid()) {
$this->handleAuditSubmission($audit);
return $this->redirect($request->getRequestUri() . '#form_question_anchor');
}
return $this->render('Front/live-linkedin/index.html.twig', [
'title' => "Live LinkedIn",
'form_question' => $form_question->createView(),
]);
}
#[Route('/offre-speciale-animation-site-cjec', name: 'cjec-animation-site')]
public function cjec_animation(): Response
{
$audit = new Audit();
$form_audit = $this->createForm(AuditType::class, $audit);
$form_audit->handleRequest($this->request->getCurrentRequest());
if ($form_audit->isSubmitted() && $form_audit->isValid()) {
if (isset($_COOKIE['afid'])) {
// Récupère la valeur du cookie 'afid'
$afidValue = $_COOKIE['afid'];
$audit->setAfid($afidValue);
}
$this->em->persist($audit);
$this->em->flush();
$this->saveAsNewsletter($audit->getName(), $audit->getEmail());
$email = new Mail();
$email->sendAuditCJEC($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
$email->sendToUserAuditCJEC($audit->getName(), $audit->getEmail());
$this->addFlash('success', 'Votre message a bien été envoyé');
}
return $this->render('Front/cjec/cjec-animation-site.html.twig', [
'title' => "Landingpage Animation Site CJEC by lagence.expert",
'formRh' => $form_audit->createView(),
]);
}
#[Route('/aides-aux-entreprises', name: 'aides-aux-entreprises')]
public function newsletter_aide_entreprise(Request $request): Response
{
$newsletterDuMois = new NewsletterDuMois;
$formnewsletterDuMois = $this->createForm(NewsletterDuMoisType::class, $newsletterDuMois);
$formnewsletterDuMois->handleRequest($this->request->getCurrentRequest());
if ($formnewsletterDuMois->isSubmitted() && $formnewsletterDuMois->isValid()) {
if (isset($_COOKIE['afid'])) {
// Récupère la valeur du cookie 'afid'
$afidValue = $_COOKIE['afid'];
$newsletterDuMois->setAfid($afidValue);
}
$this->em->persist($newsletterDuMois);
$this->em->flush();
$this->saveAsNewsletter($newsletterDuMois->getName(), $newsletterDuMois->getEmail());
$email = new Mail();
$email->sendAideAuxEntreprise($formnewsletterDuMois['name']->getData(), $formnewsletterDuMois['phone']->getData(), $formnewsletterDuMois['email']->getData());
$email->sendAideauentrepriseDemande($formnewsletterDuMois['name']->getData(), $formnewsletterDuMois['phone']->getData(), $formnewsletterDuMois['email']->getData(), $formnewsletterDuMois['page']->getData(), $newsletterDuMois->getAfid());
$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 🚀");
if ($request->getHttpHost() === "127.0.0.1:8000") {
$domain = "127.0.0.1";
} else {
$domain = $request->getHttpHost();
}
$cookie = Cookie::create('accessAidesAuxEntreprises')
->withValue('true')
->withExpires(time() + (10 * 365 * 24 * 60 * 60))
->withDomain($domain)
->withSecure(true);
$response = new Response();
$response->headers->setCookie($cookie);
$response->sendHeaders();
return $this->redirectToRoute('aides-aux-entreprises');
}
return $this->render('Front/widget/aide-entreprise.html.twig', [
'title' => "Plus de 2000 aides pour votre entreprise",
'formNewsDuMois' => $formnewsletterDuMois->createView(),
'formNewsDuMois2' => $formnewsletterDuMois->createView(),
'formNewsDuMois3' => $formnewsletterDuMois->createView(),
'formNewsDuMois4' => $formnewsletterDuMois->createView(),
]);
}
#[Route('/aides-aux-entreprises-offre-speciale-client', name: 'aides-aux-entreprises-offre-special-client')]
public function newsletter_aide_entreprise_client(Request $request): Response
{
$cabinet = new Cabinet;
$formnewsletterDuMois = $this->createForm(CabinetType::class, $cabinet);
$formnewsletterDuMois->handleRequest($this->request->getCurrentRequest());
if ($formnewsletterDuMois->isSubmitted() && $formnewsletterDuMois->isValid()) {
if (isset($_COOKIE['afid'])) {
// Récupère la valeur du cookie 'afid'
$afidValue = $_COOKIE['afid'];
$cabinet->setAfid($afidValue);
}
$this->em->persist($cabinet);
$this->em->flush();
$this->saveAsNewsletter($cabinet->getName(), $cabinet->getEmail());
$email = new Mail();
$email->sendAideAuxEntrepriseClient($formnewsletterDuMois['cabinet']->getData(), $formnewsletterDuMois['page']->getData(), $cabinet->getAfid());
$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 🚀");
if ($request->getHttpHost() === "127.0.0.1:8000") {
$domain = "127.0.0.1";
} else {
$domain = $request->getHttpHost();
}
$cookie = Cookie::create('accessAidesAuxEntreprises')
->withValue('true')
->withExpires(time() + (10 * 365 * 24 * 60 * 60))
->withDomain($domain)
->withSecure(true);
$response = new Response();
$response->headers->setCookie($cookie);
$response->sendHeaders();
return $this->redirectToRoute('aides-aux-entreprises-offre-special-client');
}
return $this->render('Front/widget/aide-entreprise-client.html.twig', [
'title' => "Plus de 2000 aides pour votre entreprise",
'formNewsDuMois' => $formnewsletterDuMois->createView(),
'formNewsDuMois2' => $formnewsletterDuMois->createView(),
'formNewsDuMois3' => $formnewsletterDuMois->createView(),
'formNewsDuMois4' => $formnewsletterDuMois->createView(),
]);
}
#[Route('/widget-aides-aux-entreprises', name: 'widget-aides-aux-entreprises')]
public function aides_aux_entreprises(Request $request): Response
{
return $this->render('Front/widget/widget-aides-aux-entreprises.html.twig', [
'title' => "Plus de 2000 aides pour votre entreprise",
]);
}
#[Route('/landing-page-webinaire', name: 'landing-page-webinaire')]
public function landing_page_webinaire(): Response
{
$audit = new Audit();
$form_audit = $this->createForm(AuditType::class, $audit);
$form_audit->handleRequest($this->request->getCurrentRequest());
if ($form_audit->isSubmitted() && $form_audit->isValid()) {
if (isset($_COOKIE['afid'])) {
// Récupère la valeur du cookie 'afid'
$afidValue = $_COOKIE['afid'];
$audit->setAfid($afidValue);
}
$this->em->persist($audit);
$this->em->flush();
$this->saveAsNewsletter($audit->getName(), $audit->getEmail());
$email = new Mail();
$email->sendAuditWebinaire($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
$email->sendToUserAuditWebinaire($audit->getName(), $audit->getEmail());
$this->addFlash('success', 'Votre message a bien été envoyé');
}
return $this->render('Front/webinaire/landingpage-webinaire.html.twig', [
'title' => "Landingpage Webinaire by lagence.expert",
'formRh' => $form_audit->createView(),
]);
}
#[Route('/landing-page-webinaire-2', name: 'landing-page-webinaire-2')]
public function landing_page_webinaire_2(Request $request, emailAccessWebinaireRepository $emailAccessWebinaireRepository): Response
{
$emailAccess = new EmailAccessWebinaire;
$formEmailAccess = $this->createForm(EmailAccessWebinaireType::class, $emailAccess);
$formEmailAccess->handleRequest($request);
if ($formEmailAccess->isSubmitted() && $formEmailAccess->isValid()) {
if (!$emailAccessWebinaireRepository->findBy(['email' => $emailAccess->getEmail()])) {
if (isset($_COOKIE['afid'])) {
// Récupère la valeur du cookie 'afid'
$afidValue = $_COOKIE['afid'];
$emailAccess->setAfid($afidValue);
}
$this->em->persist($emailAccess);
$this->em->flush();
}
if ($request->getHttpHost() === "127.0.0.1:8000") {
$domain = "127.0.0.1";
} else {
$domain = $request->getHttpHost();
}
$cookie = Cookie::create('accessWebinaireLandingPage')
->withValue('true')
->withExpires(time() + (10 * 365 * 24 * 60 * 60))
->withDomain($domain)
->withSecure(true);
$response = new Response();
$response->headers->setCookie($cookie);
$response->sendHeaders();
$this->saveAsNewsletter($emailAccess->getNom(), $emailAccess->getEmail());
$email = new Mail();
$email->sendAccessWebinaire($emailAccess->getNom(), $emailAccess->getEmail());
$this->addFlash('success', 'Vous avez accès au webinaire');
}
$audit = new Audit();
$form_audit = $this->createForm(AuditType::class, $audit);
$form_audit->handleRequest($this->request->getCurrentRequest());
if ($form_audit->isSubmitted() && $form_audit->isValid()) {
if (isset($_COOKIE['afid'])) {
// Récupère la valeur du cookie 'afid'
$afidValue = $_COOKIE['afid'];
$audit->setAfid($afidValue);
}
$this->em->persist($audit);
$this->em->flush();
$this->saveAsNewsletter($audit->getName(), $audit->getEmail());
$email = new Mail();
$email->sendAuditWebinaire($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
$email->sendToUserAuditWebinaire($audit->getName(), $audit->getEmail());
$this->addFlash('success', 'Votre message a bien été envoyé');
}
return $this->render('Front/webinaire/landingpage-webinaire-2.html.twig', [
'title' => "Landingpage Webinaire by lagence.expert",
'formRh' => $form_audit->createView(),
'formWebinaire' => $formEmailAccess->createView(),
]);
}
#[Route('/landing-page-webinaire-objectif-dec', name: 'landing-page-webinaire-dec')]
public function landing_page_webinaire_objectif_dec(Request $request, emailAccessWebinaireRepository $emailAccessWebinaireRepository): Response
{
$audit = new Audit();
$form_audit = $this->createForm(AuditType::class, $audit);
$form_audit->handleRequest($this->request->getCurrentRequest());
if ($form_audit->isSubmitted() && $form_audit->isValid()) {
if (isset($_COOKIE['afid'])) {
// Récupère la valeur du cookie 'afid'
$afidValue = $_COOKIE['afid'];
$audit->setAfid($afidValue);
}
$this->em->persist($audit);
$this->em->flush();
$this->saveAsNewsletter($audit->getName(), $audit->getEmail());
$email = new Mail();
$email->sendAuditWebinaire($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
$email->sendToUserAuditWebinaire($audit->getName(), $audit->getEmail());
$this->addFlash('success', 'Votre message a bien été envoyé');
}
return $this->render('Front/webinaire/landingpage-webinaire-objectif-dec.html.twig', [
'title' => "Landingpage Webinaire Objectif DEC by lagence.expert",
'formRh' => $form_audit->createView(),
]);
}
#[Route('/landing-page-webinaire-newsletter-du-mois', name: 'landing-page-webinaire-dec-newsletter')]
public function landing_page_webinaire_objectif_dec_newsletter(Request $request, emailAccessWebinaireRepository $emailAccessWebinaireRepository): Response
{
return $this->render('Front/webinaire/landingpage-webinaire-dec-newsletter.html.twig', [
'title' => "S’abonner à la newsletter de l’agence des Experts-comptables",
]);
}
#[Route('/landingpage-webinaire-myunisoft', name: 'landing-page-webinaire-myunisoft')]
public function landing_page_webinaire_myunisoft(Request $request, emailAccessWebinaireRepository $emailAccessWebinaireRepository): Response
{
$audit = new Audit();
$form_audit = $this->createForm(AuditType::class, $audit);
$form_audit->handleRequest($this->request->getCurrentRequest());
if ($form_audit->isSubmitted() && $form_audit->isValid()) {
if (isset($_COOKIE['afid'])) {
// Récupère la valeur du cookie 'afid'
$afidValue = $_COOKIE['afid'];
$audit->setAfid($afidValue);
}
$this->em->persist($audit);
$this->em->flush();
$this->saveAsNewsletter($audit->getName(), $audit->getEmail());
$email = new Mail();
$email->sendAuditWebinaire($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
$email->sendToUserAuditWebinaire($audit->getName(), $audit->getEmail());
$this->addFlash('success', 'Votre message a bien été envoyé');
}
return $this->render('Front/webinaire/landingpage-webinaire-myunisoft.html.twig', [
'title' => "Landingpage Webinaire MyUnisoft by lagence.expert",
'formRh' => $form_audit->createView(),
]);
}
#[Route('/landing-page-cjec', name: 'landing-page-webinaire-cjec')]
public function landing_page_cjec(): Response
{
$audit = new Audit();
$form_audit = $this->createForm(AuditType::class, $audit);
$form_audit->handleRequest($this->request->getCurrentRequest());
if ($form_audit->isSubmitted() && $form_audit->isValid()) {
if (isset($_COOKIE['afid'])) {
// Récupère la valeur du cookie 'afid'
$afidValue = $_COOKIE['afid'];
$audit->setAfid($afidValue);
}
$this->em->persist($audit);
$this->em->flush();
$this->saveAsNewsletter($audit->getName(), $audit->getEmail());
$email = new Mail();
$email->sendLPCJEC($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getMessage(), $audit->getPage(), $audit->getAfid());
$email->sendToUserLPCJEC($audit->getName(), $audit->getEmail());
$this->addFlash('success', 'Votre message a bien été envoyé');
}
return $this->render('Front/webinaire/landingpage-cjec.html.twig', [
'title' => "Landingpage CJEC by lagence.expert",
'formRh' => $form_audit->createView(),
]);
}
#[Route('/audit-offert-linkedin', name: 'audit-offert-linkedin')]
public function demande_audit_offert(): Response
{
$audit = new ContactBesoins();
$form_besoin = $this->createForm(ContactBesoinsType::class, $audit);
$form_besoin->handleRequest($this->request->getCurrentRequest());
if ($form_besoin->isSubmitted() && $form_besoin->isValid()) {
if (isset($_COOKIE['afid'])) {
// Récupère la valeur du cookie 'afid'
$afidValue = $_COOKIE['afid'];
$audit->setAfid($afidValue);
}
$this->em->persist($audit);
$this->em->flush();
$this->saveAsNewsletter($audit->getName(), $audit->getEmail());
$email = new Mail();
$email->sendAuditOffert($audit->getName(), $audit->getTelephone(), $audit->getEmail(), $audit->getBesoin(), $audit->getPage(), $audit->getAfid());
$email->sendToUserAuditOffert($audit->getName(), $audit->getEmail());
$this->addFlash('success', 'Votre message a bien été envoyé');
}
return $this->render('Front/webinaire/landingpage-webinaire-audit.html.twig', [
'title' => "Landingpage Demande Audit Offert by lagence.expert",
'formBesoin' => $form_besoin->createView(),
]);
}
#[Route('/agence-digitale-expert-comptable-paris', name: 'agence-digitale-expert-comptable-paris')]
public function agence_digitale_expert_comptable_paris(Request $request, RealisationRepository $realisationRepository, BlogRepository $blogRepository, ModulePopupRepository $modulePopupRepository): Response
{
return $this->render('Front/home/agence-digitale-expert-comptable-paris.html.twig', [
'title' => 'Agence Digitale Expert-Comptable Paris',
'realisations' => $realisationRepository->findBy([], ['id' => 'DESC'], 12, 0),
'blogs' => $blogRepository->findBy([], [], 3, 0),
'module_popup' => $modulePopupRepository->findActive(),
]);
}
#[Route('/landingpage/ebook/marque-forte', name: 'landing_page_comptatech')]
public function landingPageComptatech(Request $request, RealisationRepository $realisationRepository, BlogRepository $blogRepository, ModulePopupRepository $modulePopupRepository): Response
{
$ebook_comptatech = new ContactEbookComptatech();
$form_ebook_comptatech = $this->createForm(ContactEbookComptatechType::class, $ebook_comptatech);
$form_ebook_comptatech->handleRequest($this->request->getCurrentRequest());
if ($form_ebook_comptatech->isSubmitted() && $form_ebook_comptatech->isValid()) {
$ebook_comptatech->setCreatedAt(new \DateTime());
$ebook_comptatech->setUpdatedAt(new \DateTime());
$this->em->persist($ebook_comptatech);
$this->em->flush();
$this->saveAsNewsletter($ebook_comptatech->getName(), $ebook_comptatech->getEmail());
$email = new Mail();
$email->sendLandingpageComptatech($ebook_comptatech);
$email->sendToUserComptatech($ebook_comptatech->getName(), $ebook_comptatech->getEmail());
$this->addFlash('success', 'Votre message a bien été envoyé, vous allez recevoir l\'ebook par email.');
}
return $this->render('Front/webinaire/landingpage-comptatech.html.twig', [
'form_ebook_comptatech' => $form_ebook_comptatech->createView(),
]);
}
#[Route('/ebook/livre-blanc/marque-forte', name: 'ebook_comptatech_download')]
public function downloadEbookComptatech(): Response
{
// Chemin vers le fichier PDF
$filePath = $this->getParameter('kernel.project_dir') . '/public/assets/files/livre-blanc.pdf';
// Vérifier que le fichier existe
if (!file_exists($filePath)) {
throw $this->createNotFoundException('Le fichier demandé n\'existe pas');
}
// Création d'une réponse avec le fichier
$response = new Response(file_get_contents($filePath));
// Configuration des en-têtes pour le téléchargement
$response->headers->set('Content-Type', 'application/pdf');
$response->headers->set('Content-Disposition', 'inline; filename="livre-blanc.pdf"');
return $response;
}
#[Route('/landingpage/ebook/kit-de-communication-pour-lancer-ton-cabinet-dexpertise-comptable', name: 'landing_page_decmotiv')]
public function landingPageDecMotiv(Request $request, RealisationRepository $realisationRepository, BlogRepository $blogRepository, ModulePopupRepository $modulePopupRepository): Response
{
$ebook_decmotiv = new ContactEbookDecMotiv();
$form_ebook_decmotiv = $this->createForm(ContactEbookDecMotivType::class, $ebook_decmotiv);
$form_ebook_decmotiv->handleRequest($this->request->getCurrentRequest());
if ($form_ebook_decmotiv->isSubmitted() && $form_ebook_decmotiv->isValid()) {
$ebook_decmotiv->setCreatedAt(new \DateTime());
$ebook_decmotiv->setUpdatedAt(new \DateTime());
$this->em->persist($ebook_decmotiv);
$this->em->flush();
$this->saveAsNewsletter($ebook_decmotiv->getName(), $ebook_decmotiv->getEmail());
$email = new Mail();
$email->sendLandingpageDecMotiv($ebook_decmotiv);
$email->sendToUserDecMotiv($ebook_decmotiv->getName(), $ebook_decmotiv->getEmail());
$this->addFlash('success', 'Votre message a bien été envoyé, vous allez recevoir l\'ebook par email.');
}
return $this->render('Front/webinaire/landingpage-decmotiv.html.twig', [
'form_ebook_decmotiv' => $form_ebook_decmotiv->createView(),
]);
}
#[Route('/ebook/livre-blanc', name: 'ebook_decmotiv_download')]
public function downloadEbookDecMotiv(): Response
{
// Chemin vers le fichier PDF
$filePath = $this->getParameter('kernel.project_dir') . '/public/assets/files/livre-blanc-decmotiv.pdf';
// Vérifier que le fichier existe
if (!file_exists($filePath)) {
throw $this->createNotFoundException('Le fichier demandé n\'existe pas');
}
// Création d'une réponse avec le fichier
$response = new Response(file_get_contents($filePath));
// Configuration des en-têtes pour le téléchargement
$response->headers->set('Content-Type', 'application/pdf');
$response->headers->set('Content-Disposition', 'inline; filename="livre-blanc.pdf"');
return $response;
}
#[Route('/landingpage/ebook/comment-la-communication-boost-l-attractivite-de-votre-cabinet', name: 'landing_page_ensemble')]
public function landingPageEnsemble(): Response
{
$ebook_ensemble = new ContactEbookEnsemble();
$form_ebook_ensemble = $this->createForm(ContactEbookEnsembleType::class, $ebook_ensemble);
$form_ebook_ensemble->handleRequest($this->request->getCurrentRequest());
if ($form_ebook_ensemble->isSubmitted() && $form_ebook_ensemble->isValid()) {
$ebook_ensemble->setCreatedAt(new \DateTime());
$ebook_ensemble->setUpdatedAt(new \DateTime());
$this->em->persist($ebook_ensemble);
$this->em->flush();
$this->saveAsNewsletter($ebook_ensemble->getName(), $ebook_ensemble->getEmail());
$email = new Mail();
$email->sendLandingpageEnsemble($ebook_ensemble);
$email->sendToUserEnsemble($ebook_ensemble->getName(), $ebook_ensemble->getEmail());
$this->addFlash('success', 'Votre message a bien été envoyé, vous allez recevoir l\'ebook par email.');
}
return $this->render('Front/webinaire/landingpage-ensemble.html.twig', [
'form_ebook_ensemble' => $form_ebook_ensemble->createView(),
]);
}
#[Route('/ebook-ensemble-pour-agir/livre-blanc', name: 'ebook_ensemble_download')]
public function downloadEbookEnsemble(): Response
{
// Chemin vers le fichier PDF
$filePath = $this->getParameter('kernel.project_dir') . '/public/assets/files/livre-blanc-ensemble-pour-agir.pdf';
// Vérifier que le fichier existe
if (!file_exists($filePath)) {
throw $this->createNotFoundException('Le fichier demandé n\'existe pas');
}
// Création d'une réponse avec le fichier
$response = new Response(file_get_contents($filePath));
// Configuration des en-têtes pour le téléchargement
$response->headers->set('Content-Type', 'application/pdf');
$response->headers->set('Content-Disposition', 'inline; filename="livre-blanc-ensemble-pour-agir.pdf"');
return $response;
}
#[Route('/landingpage/ebook/developpe-ton-cab-en-local', name: 'landing_page_ebook_dev_cab_local')]
public function landingPageEbookDevCabLocal(Request $request, RealisationRepository $realisationRepository, BlogRepository $blogRepository, ModulePopupRepository $modulePopupRepository): Response
{
$ebook = new ContactEbook();
$form_ebook = $this->createForm(ContactEbookType::class, $ebook);
$form_ebook->handleRequest($this->request->getCurrentRequest());
if ($form_ebook->isSubmitted() && $form_ebook->isValid()) {
$ebook->setCreatedAt(new \DateTime());
$ebook->setUpdatedAt(new \DateTime());
$this->em->persist($ebook);
$this->em->flush();
$this->saveAsNewsletter($ebook->getName(), $ebook->getEmail());
$email = new Mail();
$email->sendLandingpageEbookDevCabLocal($ebook);
$email->sendToUserDevCabLocal($ebook->getName(), $ebook->getEmail());
$this->addFlash('success', 'Votre message a bien été envoyé, vous allez recevoir l\'ebook par email.');
}
return $this->render('Front/ebook/dev-cab-local.html.twig', [
'form_ebook' => $form_ebook->createView(),
]);
}
#[Route('/ebook/livre-blanc-dev-cab-local', name: 'ebook_dev_cab_local_download')]
public function downloadEbookDevCabLocal(): Response
{
// Chemin vers le fichier PDF
$filePath = $this->getParameter('kernel.project_dir') . '/public/assets/files/livre-blanc-dev-cab-local.pdf';
// Vérifier que le fichier existe
if (!file_exists($filePath)) {
throw $this->createNotFoundException('Le fichier demandé n\'existe pas');
}
// Création d'une réponse avec le fichier
$response = new Response(file_get_contents($filePath));
// Configuration des en-têtes pour le téléchargement
$response->headers->set('Content-Type', 'application/pdf');
$response->headers->set('Content-Disposition', 'inline; filename="livre-blanc.pdf"');
return $response;
}
#[Route('/landingpage/ebook/marque-forte', name: 'landing_page_ebook_marque_forte')]
public function landingPageEbookMarqueForte(Request $request, RealisationRepository $realisationRepository, BlogRepository $blogRepository, ModulePopupRepository $modulePopupRepository): Response
{
$ebook = new ContactEbook();
$form_ebook = $this->createForm(ContactEbookType::class, $ebook);
$form_ebook->handleRequest($this->request->getCurrentRequest());
if ($form_ebook->isSubmitted() && $form_ebook->isValid()) {
$ebook->setCreatedAt(new \DateTime());
$ebook->setUpdatedAt(new \DateTime());
$this->em->persist($ebook);
$this->em->flush();
$this->saveAsNewsletter($ebook->getName(), $ebook->getEmail());
$email = new Mail();
$email->sendLandingpageEbookMarqueForte($ebook);
$email->sendToUserMarqueForte($ebook->getName(), $ebook->getEmail());
$this->addFlash('success', 'Votre message a bien été envoyé, vous allez recevoir l\'ebook par email.');
}
return $this->render('Front/ebook/marque-forte.html.twig', [
'form_ebook' => $form_ebook->createView(),
]);
}
#[Route('/ebook/livre-blanc-marque-forte', name: 'ebook_marque_forte_download')]
public function downloadEbookMarqueForte(): Response
{
// Chemin vers le fichier PDF
$filePath = $this->getParameter('kernel.project_dir') . '/public/assets/files/livre-blanc-marque-forte.pdf';
// Vérifier que le fichier existe
if (!file_exists($filePath)) {
throw $this->createNotFoundException('Le fichier demandé n\'existe pas');
}
// Création d'une réponse avec le fichier
$response = new Response(file_get_contents($filePath));
// Configuration des en-têtes pour le téléchargement
$response->headers->set('Content-Type', 'application/pdf');
$response->headers->set('Content-Disposition', 'inline; filename="livre-blanc.pdf"');
return $response;
}
#[Route('/landingpage/ebook/comment-la-communication-boost-l-attractivite-de-votre-cabinet', name: 'landing_page_ebook_com_boost')]
public function landingPageEbookComBoost(Request $request, RealisationRepository $realisationRepository, BlogRepository $blogRepository, ModulePopupRepository $modulePopupRepository): Response
{
$ebook = new ContactEbook();
$form_ebook = $this->createForm(ContactEbookType::class, $ebook);
$form_ebook->handleRequest($this->request->getCurrentRequest());
if ($form_ebook->isSubmitted() && $form_ebook->isValid()) {
$ebook->setCreatedAt(new \DateTime());
$ebook->setUpdatedAt(new \DateTime());
$this->em->persist($ebook);
$this->em->flush();
$this->saveAsNewsletter($ebook->getName(), $ebook->getEmail());
$email = new Mail();
$email->sendLandingpageEbookComBoost($ebook);
$email->sendToUserComBoost($ebook->getName(), $ebook->getEmail());
$this->addFlash('success', 'Votre message a bien été envoyé, vous allez recevoir l\'ebook par email.');
}
return $this->render('Front/ebook/com-boost.html.twig', [
'form_ebook' => $form_ebook->createView(),
]);
}
#[Route('/ebook/livre-blanc-com-boost', name: 'ebook_com_boost_download')]
public function downloadEbookComBoost(): Response
{
// Chemin vers le fichier PDF
$filePath = $this->getParameter('kernel.project_dir') . '/public/assets/files/livre-blanc-com-boost.pdf';
// Vérifier que le fichier existe
if (!file_exists($filePath)) {
throw $this->createNotFoundException('Le fichier demandé n\'existe pas');
}
// Création d'une réponse avec le fichier
$response = new Response(file_get_contents($filePath));
// Configuration des en-têtes pour le téléchargement
$response->headers->set('Content-Type', 'application/pdf');
$response->headers->set('Content-Disposition', 'inline; filename="livre-blanc.pdf"');
return $response;
}
#[Route('/widget-sondage', name: 'widget-sondage')]
public function widgetSondage(): Response
{
return $this->render('Front/widget/sondage.html.twig', [
'title' => "Sondage de l'agence.expert",
]);
}
#[Route('/widget-facture-electronique', name: 'widget-facture-electronique')]
public function widgetFactureElectronique(): Response
{
return $this->render('Front/widget/facture-electronique.html.twig', [
'title' => "facture électronique de l'agence.expert",
]);
}
#[Route('/recommandation', name: 'widget-recommandation')]
public function widgetRecommandation(): Response
{
return $this->render('Front/widget/recommandation.html.twig', [
'title' => "Recommandation de l'agence.expert",
]);
}
#[Route('/test-chatbot', name: 'test-chatbot')]
public function testChatbot(): Response
{
return $this->render('Front/chatbot/test-chatbot.html.twig', [
'title' => "Recommandation de l'agence.expert",
]);
}
#[Route('/plateforme-de-com', name: 'plateforme-de-com')]
public function plateformeDeCom(): Response
{
return $this->render('Front/plateforme-de-com/index.html.twig', [
'title' => "Plateforme de com by lagence.expert",
]);
}
#[Route('/webinaire/save-mail', name: 'webinaire_save_email', methods: ['POST'])]
public function saveEmail(Request $request, EntityManagerInterface $em, NewsletterRepository $newsletterRepository): JsonResponse
{
$data = json_decode($request->getContent(), true);
$firstname = $data['firstname'] ?? null;
$email = $data['email'] ?? null;
if (!$email || !filter_var($email, FILTER_VALIDATE_EMAIL)) {
return new JsonResponse(['error' => 'Email invalide'], 400);
}
if ($newsletterRepository->findOneBy(['email' => $email])) {
return new JsonResponse(['success' => true]);
}
// Exemple : sauvegarder en base
$newsletter = new Newsletter();
$newsletter->setName($firstname);
$newsletter->setEmail($email);
$em->persist($newsletter);
$em->flush();
return new JsonResponse(['success' => true]);
}
#[Route('/onboarding', name: 'calendly_amira')]
public function calendlyAmira(): Response
{
return $this->render('Front/calendly/amira.html.twig', [
'title' => "Réservez votre session avec Amira",
]);
}
#[Route('/webinaire/notify-cjec', name: 'webinaire_notify_cjec', methods: ['POST'])]
public function webinaireNotifyCjec(Request $request, EntityManagerInterface $em): JsonResponse
{
$data = json_decode($request->getContent(), true);
$contact = new WebinaireContact();
$contact->setName($data['prenom'] ?? '');
$contact->setEmail($data['email'] ?? '');
$contact->setNumber('');
$contact->setMessage('');
$contact->setPage($data['webinaire'] ?? 'Webinaire CJEC 2026');
try {
$em->persist($contact);
$em->flush();
} catch (\Exception $e) {
}
return new JsonResponse(['success' => true]);
}
}