<?php
namespace App\Controller;
use App\Traits\Autowired\Vendor\SeoPageTrait;
use App\Traits\Autowired\Vendor\TranslatorTrait;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use App\Form\Type\UserType;
use App\Traits\FileUploaderTrait;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
use App\Services\MailerService;
use App\Model\Email;
use App\Entity\Docteur;
use App\Entity\User;
use App\Manager\DoctorManager;
use App\Traits\DocteurManagerTrait;
use Symfony\Component\Routing\Annotation\Route;
class CmsController extends AbstractController
{
use SeoPageTrait;
use TranslatorTrait;
use DocteurManagerTrait;
/**
* /vous-etes-medecin
* @param Request $request
* @return
*/
public function indexAction(
Request $request,
DoctorManager $doctorManager,
EntityManagerInterface $entityManager
)
{
$titre = "Devenez Médecin Urgence Docteurs à Domicile et Télé Consultation ";
$description = $this->translator->trans('seo.medecin.desc');
$this->seoPage
->setTitle($titre)
->addMeta('name', 'description', $description)
->addMeta('property', 'og:title', $titre)
->addMeta('property', 'og:description', $description)
->addMeta('property', 'og:url', $this->generateUrl('app_cms_index', array(), true))
->addMeta('property', 'twitter:title', $titre)
->addMeta('property', 'twitter:description', $description);
// Formulaire de medecin
$user = new User();
$form = $this->createForm(UserType::class, $user);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$identite = $form['docteur']['identite']->getData();
$rib = $form['docteur']['rib']->getData();
$birthday = $form['docteur']['dateInfo']->getData();
$birthday = \DateTime::createFromFormat('Y-m-d', $birthday);
$docteur = $user->getDocteur();
$docteur->setDateInfo($birthday);
$user->setUsername($user->getEmail());
$user->setType(User::TYPE_DOCTOR);
if ($identite) {
$docteur->setIdentite($this->saveImage($identite, $user->getLastname(), $user->getFirstname()));
}
if ($rib) {
$docteur->setRib($this->saveImage($rib, $user->getLastname(), $user->getFirstname()));
}
$user->setEnabled(true);
$subject = $this->translator->trans('medecin.message.sujet');
$email = new Email();
$email->setSubject($subject);
$email->setSender($user->getEmail(), $user->getLastname());
$email->setRecipient($this->getParameter('gestion.email'));
$email->setBody($this->renderView('Medecin/inscription_recap.html.twig',
array('type' => 'medecin',
'sujet' => $subject,
'user' => $user,
)));
//$mailerService->send($email);
$entityManager->persist($docteur);
$entityManager->persist($user);
$entityManager->flush();
//$this->get('session')->getFlashBag()->add('success', $this->translator->trans('medecin.message.admin.flash'));
return $this->redirectToRoute('medecin_confirmation');
}
return new Response($this->renderView('Medecin/index.html.twig', [
'form' => $form->createView()
]));
}
/**
*
* /vous-etes-medecin
* @param Request $request
* @return
*/
public function covidAction()
{
return new Response($this->renderView('Cms/covid.html.twig', []));
}
public function maison()
{
return $this->render('Cms/maison.html.twig');
}
public function morningCoworking() {
return $this->render('Cms/morningCoworking.html.twig');
}
public function boursorama() {
return $this->render('Cms/boursorama.html.twig');
}
public function votreConciergerie() {
return $this->render('Cms/votreConciergerie.html.twig');
}
#[Route('/fr/pharmacie', name:'pharmacie_iframe', options: ['sitemap' => true])]
public function pharmacie() {
$titre = "Trouvez une Pharmacie proche de chez vous";
$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";
$this->seoPage
->setTitle($titre)
->addMeta('name', 'description', $description)
->addMeta('property', 'og:title', $titre)
->addMeta('property', 'og:description', $description)
->addMeta('property', 'og:url', $this->generateUrl('pharmacie_iframe', array(), true))
->addMeta('property', 'twitter:title', $titre)
->addMeta('property', 'twitter:description', $description)
;
return $this->render('Cms/pharmacie.html.twig');
}
#[Route('/fr/faq', name:'faq_homepage', options: ['sitemap' => true])]
public function faq(){
$titre = "FAQ Urgence Docteurs - Tout Savoir sur la Téléconsultation et Nos Services";
$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.";
$this->seoPage
->setTitle($titre)
->addMeta('name', 'description', $description)
->addMeta('property', 'og:title', $titre)
->addMeta('property', 'og:description', $description)
->addMeta('property', 'og:url', $this->generateUrl('faq_homepage', array(), true))
->addMeta('property', 'twitter:title', $titre)
->addMeta('property', 'twitter:description', $description)
;
return $this->render('Cms/faq.html.twig');
}
#[Route('/fr/presse', name:'presse_homepage', options: ['sitemap' => true])]
public function presse() {
$titre = $this->translator->trans('seo.presse.titre');
$description = $this->translator->trans('seo.presse.description');
$this->seoPage
->setTitle($titre)
->addMeta('name', 'description', $description)
->addMeta('property', 'og:title', $titre)
->addMeta('property', 'og:description', $description)
->addMeta('property', 'og:url', $this->generateUrl('presse_homepage', array(), true))
->addMeta('property', 'twitter:title', $titre)
->addMeta('property', 'twitter:description', $description)
;
return $this->render('Cms/presse.html.twig');
}
#[Route('/fr/confidentialite', name:'confidentialite_homepage', options: ['sitemap' => true])]
public function confidentialite(){
$titre = $this->translator->trans('seo.confidentialite.titre');
$description = $this->translator->trans('seo.confidentialite.description');
$this->seoPage
->setTitle($titre)
->addMeta('name', 'description', $description)
->addMeta('property', 'og:title', $titre)
->addMeta('property', 'og:description', $description)
->addMeta('property', 'og:url', $this->generateUrl('app_cms_confidentialite', array(), true))
->addMeta('property', 'twitter:title', $titre)
->addMeta('property', 'twitter:description', $description)
;
return $this->render('Cms/confidentialite.html.twig');
}
#[Route('/fr/honoraires', name: 'honoraire_homepage', options: ['sitemap' => true])]
public function honoraire(){
$titre = "Tarifs des Téléconsultations et Consultations à Domicile - Urgence Docteurs";
$description = "Découvrez les honoraires d’Urgence Docteurs : consultations en ligne, en visio ou à domicile. Transparence garantie pour tous vos besoins médicaux.";
$this->seoPage
->setTitle($titre)
->addMeta('name', 'description', $description)
->addMeta('property', 'og:title', $titre)
->addMeta('property', 'og:description', $description)
->addMeta('property', 'og:url', $this->generateUrl('honoraire_homepage', array(), true))
->addMeta('property', 'twitter:title', $titre)
->addMeta('property', 'twitter:description', $description)
;
return $this->render('Cms/honoraire.html.twig');
}
#[Route('/fr/trouver-une-pharmarcie', name:'pharmacie_homepage', options: ['sitemap' => true])]
public function pharmacie2(){
$titre = "Trouver une Pharmacie de Garde Près de Chez Vous - Urgence Docteurs";
$description = 'Avec Urgence Docteurs, localisez rapidement une pharmacie de garde ou la plus proche. Service accessible 24/7 pour répondre à vos besoins urgents.';
$this->seoPage
->setTitle($titre)
->addMeta('name', 'description', $description)
->addMeta('property', 'og:title', $titre)
->addMeta('property', 'og:description', $description)
->addMeta('property', 'og:url', $this->generateUrl('pharmacie_homepage', array(), true))
->addMeta('property', 'twitter:title', $titre)
->addMeta('property', 'twitter:description', $description)
;
return $this->render('Cms/pharmacie2.html.twig');
}
#[Route('/fr/conditions-generales', name:'condition_homepage', options: ['sitemap' => true])]
public function condition(){
$titre = "Conditions Générales - Urgence Docteurs et Téléconsultation Médicale";
$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.";
$this->seoPage
->setTitle($titre)
->addMeta('name', 'description', $description)
->addMeta('property', 'og:title', $titre)
->addMeta('property', 'og:description', $description)
->addMeta('property', 'og:url', $this->generateUrl('condition_homepage', array(), true))
->addMeta('property', 'twitter:title', $titre)
->addMeta('property', 'twitter:description', $description)
;
return $this->render('Cms/condition.html.twig');
}
public function rejoindre(){
$titre = $this->translator->trans('seo.rejoindre.titre');
$description = $this->translator->trans('seo.rejoindre.description');
$this->seoPage
->setTitle($titre)
->addMeta('name', 'description', $description)
->addMeta('property', 'og:title', $titre)
->addMeta('property', 'og:description', $description)
->addMeta('property', 'og:url', $this->generateUrl('app_cms_rejoindre', array(), true))
->addMeta('property', 'twitter:title', $titre)
->addMeta('property', 'twitter:description', $description)
;
return $this->render('Cms/rejoindre.html.twig');
}
#[Route('/fr/docteur', name:'docteur_homepage', options: ['sitemap' => true])]
public function docteur(){
$titre = 'Téléconsultation et Visite Médicale à Domicile 24/7';
$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.";
$this->seoPage
->setTitle($titre)
->addMeta('name', 'description', $description)
->addMeta('property', 'og:title', $titre)
->addMeta('property', 'og:description', $description)
->addMeta('property', 'og:url', $this->generateUrl('docteur_homepage', array(), true))
->addMeta('property', 'twitter:title', $titre)
->addMeta('property', 'twitter:description', $description)
;
return $this->render('Cms/docteur.html.twig');
}
#[Route('/fr/prendreRDV', name: "app_cms_prendrerdv", options: ['sitemap' => true])]
public function prendreRDV()
{
$titre = "Obtenez une Téléconsultation ou une Consultation à Domicile - Urgence Docteurs";
$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é.";
$this->seoPage
->setTitle($titre)
->addMeta('name', 'description', $description)
->addMeta('property', 'og:title', $titre)
->addMeta('property', 'og:description', $description)
->addMeta('property', 'og:url', $this->generateUrl('app_cms_prendrerdv', array(), true))
->addMeta('property', 'twitter:title', $titre)
->addMeta('property', 'twitter:description', $description)
;
return $this->render('Cms/prendreRdv.html.twig');
}
public function rendezvous(){
return $this->redirectToRoute('home_homepage', [], 301);
}
// old route
public function urgence(){
return $this->redirectToRoute('home_homepage', [], 301);
}
// old route
public function application(){
return $this->redirectToRoute('homepage',[], 301);
}
}