src/Controller/CmsController.php line 164

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Traits\Autowired\Vendor\SeoPageTrait;
  4. use App\Traits\Autowired\Vendor\TranslatorTrait;
  5. use Doctrine\ORM\EntityManagerInterface;
  6. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  7. use Symfony\Component\HttpFoundation\RedirectResponse;
  8. use Symfony\Component\HttpFoundation\Request;
  9. use Symfony\Component\HttpFoundation\Response;
  10. use App\Form\Type\UserType;
  11. use App\Traits\FileUploaderTrait;
  12. use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
  13. use App\Services\MailerService;
  14. use App\Model\Email;
  15. use App\Entity\Docteur;
  16. use App\Entity\User;
  17. use App\Manager\DoctorManager;
  18. use App\Traits\DocteurManagerTrait;
  19. use Symfony\Component\Routing\Annotation\Route;
  20. class CmsController extends AbstractController
  21. {
  22.     use SeoPageTrait;
  23.     use TranslatorTrait;
  24.     use DocteurManagerTrait;
  25.     /**
  26.      * /vous-etes-medecin
  27.      * @param Request $request
  28.      * @return
  29.      */
  30.     public function indexAction(
  31.         Request $request,
  32.         DoctorManager $doctorManager,
  33.         EntityManagerInterface $entityManager
  34.     )
  35.     {
  36.         $titre "Devenez Médecin Urgence Docteurs à Domicile et Télé Consultation ";
  37.         $description $this->translator->trans('seo.medecin.desc');
  38.         $this->seoPage
  39.             ->setTitle($titre)
  40.             ->addMeta('name''description'$description)
  41.             ->addMeta('property''og:title'$titre)
  42.             ->addMeta('property''og:description'$description)
  43.             ->addMeta('property''og:url'$this->generateUrl('app_cms_index', array(), true))
  44.             ->addMeta('property''twitter:title'$titre)
  45.             ->addMeta('property''twitter:description'$description);
  46.         // Formulaire de medecin
  47.         $user = new User();
  48.         $form $this->createForm(UserType::class, $user);
  49.         $form->handleRequest($request);
  50.         if ($form->isSubmitted() && $form->isValid()) {
  51.             $identite $form['docteur']['identite']->getData();
  52.             $rib $form['docteur']['rib']->getData();
  53.             $birthday $form['docteur']['dateInfo']->getData();
  54.             $birthday \DateTime::createFromFormat('Y-m-d'$birthday);
  55.             $docteur $user->getDocteur();
  56.             $docteur->setDateInfo($birthday);
  57.             $user->setUsername($user->getEmail());
  58.             $user->setType(User::TYPE_DOCTOR);
  59.             if ($identite) {
  60.                 $docteur->setIdentite($this->saveImage($identite$user->getLastname(), $user->getFirstname()));
  61.             }
  62.             if ($rib) {
  63.                 $docteur->setRib($this->saveImage($rib$user->getLastname(), $user->getFirstname()));
  64.             }
  65.             $user->setEnabled(true);
  66.             $subject $this->translator->trans('medecin.message.sujet');
  67.             $email = new Email();
  68.             $email->setSubject($subject);
  69.             $email->setSender($user->getEmail(), $user->getLastname());
  70.             $email->setRecipient($this->getParameter('gestion.email'));
  71.             $email->setBody($this->renderView('Medecin/inscription_recap.html.twig',
  72.                 array('type' => 'medecin',
  73.                     'sujet' => $subject,
  74.                     'user' => $user,
  75.                 )));
  76.             //$mailerService->send($email);
  77.             $entityManager->persist($docteur);
  78.             $entityManager->persist($user);
  79.             $entityManager->flush();
  80.             //$this->get('session')->getFlashBag()->add('success', $this->translator->trans('medecin.message.admin.flash'));
  81.             return $this->redirectToRoute('medecin_confirmation');
  82.         }
  83.         return new Response($this->renderView('Medecin/index.html.twig', [
  84.             'form' => $form->createView()
  85.         ]));
  86.     }
  87.     /**
  88.      *
  89.      * /vous-etes-medecin
  90.      * @param Request $request
  91.      * @return
  92.      */
  93.     public function covidAction()
  94.     {
  95.         return new Response($this->renderView('Cms/covid.html.twig', []));
  96.     }
  97.     public function maison()
  98.     {
  99.         return $this->render('Cms/maison.html.twig');
  100.     }
  101.     public function morningCoworking() {
  102.         return $this->render('Cms/morningCoworking.html.twig');
  103.     }
  104.     public function boursorama() {
  105.         return $this->render('Cms/boursorama.html.twig');
  106.     }
  107.     public function votreConciergerie() {
  108.         return $this->render('Cms/votreConciergerie.html.twig');
  109.     }
  110.     #[Route('/fr/pharmacie'name:'pharmacie_iframe'options: ['sitemap' => true])]
  111.     public function pharmacie() {
  112.         $titre "Trouvez une Pharmacie proche de chez vous";
  113.         $description "Trouver une pharmacie près de chez vous pour récupérer vos médicaments après l’intervention d’un médecin en SOS";
  114.         $this->seoPage
  115.             ->setTitle($titre)
  116.             ->addMeta('name''description'$description)
  117.             ->addMeta('property''og:title'$titre)
  118.             ->addMeta('property''og:description'$description)
  119.             ->addMeta('property''og:url',  $this->generateUrl('pharmacie_iframe', array(), true))
  120.             ->addMeta('property''twitter:title'$titre)
  121.             ->addMeta('property''twitter:description'$description)
  122.         ;
  123.         return $this->render('Cms/pharmacie.html.twig');
  124.     }
  125.     #[Route('/fr/faq'name:'faq_homepage'options: ['sitemap' => true])]
  126.     public function faq(){
  127.         $titre "FAQ Urgence Docteurs - Tout Savoir sur la Téléconsultation et Nos Services";
  128.         $description "Questions sur la téléconsultation ou les visites à domicile avec Urgence Docteurs ? Consultez notre FAQ pour des réponses claires et détaillées.";
  129.         $this->seoPage
  130.             ->setTitle($titre)
  131.             ->addMeta('name''description'$description)
  132.             ->addMeta('property''og:title'$titre)
  133.             ->addMeta('property''og:description'$description)
  134.             ->addMeta('property''og:url',  $this->generateUrl('faq_homepage', array(), true))
  135.             ->addMeta('property''twitter:title'$titre)
  136.             ->addMeta('property''twitter:description'$description)
  137.         ;
  138.         return $this->render('Cms/faq.html.twig');
  139.     }
  140.     #[Route('/fr/presse'name:'presse_homepage'options: ['sitemap' => true])]
  141.     public function presse() {
  142.         $titre $this->translator->trans('seo.presse.titre');
  143.         $description $this->translator->trans('seo.presse.description');
  144.         $this->seoPage
  145.             ->setTitle($titre)
  146.             ->addMeta('name''description'$description)
  147.             ->addMeta('property''og:title'$titre)
  148.             ->addMeta('property''og:description'$description)
  149.             ->addMeta('property''og:url',  $this->generateUrl('presse_homepage', array(), true))
  150.             ->addMeta('property''twitter:title'$titre)
  151.             ->addMeta('property''twitter:description'$description)
  152.         ;
  153.         return $this->render('Cms/presse.html.twig');
  154.     }
  155.     #[Route('/fr/confidentialite'name:'confidentialite_homepage'options: ['sitemap' => true])]
  156.     public function confidentialite(){
  157.         $titre $this->translator->trans('seo.confidentialite.titre');
  158.         $description $this->translator->trans('seo.confidentialite.description');
  159.         $this->seoPage
  160.             ->setTitle($titre)
  161.             ->addMeta('name''description'$description)
  162.             ->addMeta('property''og:title'$titre)
  163.             ->addMeta('property''og:description'$description)
  164.             ->addMeta('property''og:url',  $this->generateUrl('app_cms_confidentialite', array(), true))
  165.             ->addMeta('property''twitter:title'$titre)
  166.             ->addMeta('property''twitter:description'$description)
  167.         ;
  168.         return $this->render('Cms/confidentialite.html.twig');
  169.     }
  170.     #[Route('/fr/honoraires'name'honoraire_homepage'options: ['sitemap' => true])]
  171.     public function honoraire(){
  172.         $titre "Tarifs des Téléconsultations et Consultations à Domicile - Urgence Docteurs";
  173.         $description "Découvrez les honoraires d’Urgence Docteurs : consultations en ligne, en visio ou à domicile. Transparence garantie pour tous vos besoins médicaux.";
  174.         $this->seoPage
  175.             ->setTitle($titre)
  176.             ->addMeta('name''description'$description)
  177.             ->addMeta('property''og:title'$titre)
  178.             ->addMeta('property''og:description'$description)
  179.             ->addMeta('property''og:url',  $this->generateUrl('honoraire_homepage', array(), true))
  180.             ->addMeta('property''twitter:title'$titre)
  181.             ->addMeta('property''twitter:description'$description)
  182.         ;
  183.         return $this->render('Cms/honoraire.html.twig');
  184.     }
  185.     #[Route('/fr/trouver-une-pharmarcie'name:'pharmacie_homepage'options: ['sitemap' => true])]
  186.     public function pharmacie2(){
  187.         $titre "Trouver une Pharmacie de Garde Près de Chez Vous - Urgence Docteurs";
  188.         $description 'Avec Urgence Docteurs, localisez rapidement une pharmacie de garde ou la plus proche. Service accessible 24/7 pour répondre à vos besoins urgents.';
  189.         $this->seoPage
  190.             ->setTitle($titre)
  191.             ->addMeta('name''description'$description)
  192.             ->addMeta('property''og:title'$titre)
  193.             ->addMeta('property''og:description'$description)
  194.             ->addMeta('property''og:url',  $this->generateUrl('pharmacie_homepage', array(), true))
  195.             ->addMeta('property''twitter:title'$titre)
  196.             ->addMeta('property''twitter:description'$description)
  197.         ;
  198.         return $this->render('Cms/pharmacie2.html.twig');
  199.     }
  200.     #[Route('/fr/conditions-generales'name:'condition_homepage'options: ['sitemap' => true])]
  201.     public function condition(){
  202.         $titre "Conditions Générales - Urgence Docteurs et Téléconsultation Médicale";
  203.         $description "Prenez connaissance des conditions générales d’Urgence Docteurs : fonctionnement des téléconsultations, obligations légales et détails de nos services.";
  204.         $this->seoPage
  205.             ->setTitle($titre)
  206.             ->addMeta('name''description'$description)
  207.             ->addMeta('property''og:title'$titre)
  208.             ->addMeta('property''og:description'$description)
  209.             ->addMeta('property''og:url',  $this->generateUrl('condition_homepage', array(), true))
  210.             ->addMeta('property''twitter:title'$titre)
  211.             ->addMeta('property''twitter:description'$description)
  212.         ;
  213.         return $this->render('Cms/condition.html.twig');
  214.     }
  215.     public function rejoindre(){
  216.         $titre $this->translator->trans('seo.rejoindre.titre');
  217.         $description $this->translator->trans('seo.rejoindre.description');
  218.         $this->seoPage
  219.             ->setTitle($titre)
  220.             ->addMeta('name''description'$description)
  221.             ->addMeta('property''og:title'$titre)
  222.             ->addMeta('property''og:description'$description)
  223.             ->addMeta('property''og:url',  $this->generateUrl('app_cms_rejoindre', array(), true))
  224.             ->addMeta('property''twitter:title'$titre)
  225.             ->addMeta('property''twitter:description'$description)
  226.         ;
  227.         return $this->render('Cms/rejoindre.html.twig');
  228.     }
  229.     #[Route('/fr/docteur'name:'docteur_homepage'options: ['sitemap' => true])]
  230.     public function docteur(){
  231.         $titre 'Téléconsultation et Visite Médicale à Domicile 24/7';
  232.         $description "Urgence Docteurs propose des téléconsultations rapides ou des visites à domicile. Nos médecins sont disponibles 24/7 pour répondre à tous vos besoins médicaux.";
  233.         $this->seoPage
  234.             ->setTitle($titre)
  235.             ->addMeta('name''description'$description)
  236.             ->addMeta('property''og:title'$titre)
  237.             ->addMeta('property''og:description'$description)
  238.             ->addMeta('property''og:url',  $this->generateUrl('docteur_homepage', array(), true))
  239.             ->addMeta('property''twitter:title'$titre)
  240.             ->addMeta('property''twitter:description'$description)
  241.         ;
  242.         return $this->render('Cms/docteur.html.twig');
  243.     }
  244.     #[Route('/fr/prendreRDV'name"app_cms_prendrerdv"options: ['sitemap' => true])]
  245.     public function prendreRDV()
  246.     {
  247.         $titre "Obtenez une Téléconsultation ou une Consultation à Domicile - Urgence Docteurs";
  248.         $description "Besoin d’un médecin rapidement ? Commandez une téléconsultation ou une visite médicale à domicile avec Urgence Docteurs. Service simple, rapide et sécurisé.";
  249.         $this->seoPage
  250.             ->setTitle($titre)
  251.             ->addMeta('name''description'$description)
  252.             ->addMeta('property''og:title'$titre)
  253.             ->addMeta('property''og:description'$description)
  254.             ->addMeta('property''og:url',  $this->generateUrl('app_cms_prendrerdv', array(), true))
  255.             ->addMeta('property''twitter:title'$titre)
  256.             ->addMeta('property''twitter:description'$description)
  257.         ;
  258.         return $this->render('Cms/prendreRdv.html.twig');
  259.     }
  260.     public function rendezvous(){
  261.         return $this->redirectToRoute('home_homepage', [], 301);
  262.     }
  263.     // old route
  264.     public function urgence(){
  265.         return $this->redirectToRoute('home_homepage', [], 301);
  266.     }
  267.     // old route
  268.     public function application(){
  269.         return $this->redirectToRoute('homepage',[], 301);
  270.     }
  271. }