src/Controller/LoginController.php line 26

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Compte;
  4. use App\Entity\Profession;
  5. use App\Repository\CompteRepository;
  6. use App\Repository\ProfessionRepository;
  7. use Doctrine\ORM\EntityManagerInterface;
  8. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  9. use Symfony\Component\HttpFoundation\JsonResponse;
  10. use Symfony\Component\HttpFoundation\Request;
  11. use Symfony\Component\HttpFoundation\Response;
  12. use Symfony\Component\Routing\Annotation\Route;
  13. class LoginController extends AbstractController
  14. {
  15.     public function __construct(EntityManagerInterface $em)
  16.     {
  17.         $this->em $em;
  18.     }
  19.     /**
  20.      * @Route("/login", name="login")
  21.      */
  22.     public function index(): Response
  23.     {
  24.         return $this->render('login/index.html.twig', [
  25.             'controller_name' => 'LoginController',
  26.         ]);
  27.     }
  28.     /**
  29.      * @Route("/choix", name="choix_compte")
  30.      */
  31.     public function choix(): Response
  32.     {
  33.         return $this->render('login/choix_compte.html.twig', [
  34.             'controller_name' => 'LoginController',
  35.         ]);
  36.     }
  37.     /**
  38.      * @Route("/capchat", name="capchat")
  39.      */
  40.     public function capchat(): Response
  41.     {
  42.         return $this->render('testrecaptcha.html.twig', [
  43.             'controller_name' => 'LoginController',
  44.         ]);
  45.     }
  46.      /**
  47.      * @Route("/inscription", name="inscription")
  48.      */
  49.     public function inscription(Request $requestProfessionRepository $professionRepository): Response
  50.     {
  51.         return $this->render('login/inscription.html.twig', [
  52.             'fonctions' => $professionRepository->findAll()
  53.         ]);
  54.     }
  55.     /**
  56.      * @Route("/inscriptionbas", name="inscription_bas")
  57.      */
  58.     public function inscriptionbas(ProfessionRepository $professionRepository): Response
  59.     {
  60.         return $this->render('login/inscriptionbas.html.twig', [
  61.             'fonctions' => $professionRepository->findAll()
  62.         ]);
  63.     }
  64.     /**
  65.      * @Route("/confirmation", name="confirmation")
  66.      */
  67.     public function confirmation(): Response
  68.     {
  69.         return $this->render('login/confirmation.html.twig', [
  70.         ]);
  71.     }
  72.     /**
  73.      * @Route("/successsingup", name="sing_success")
  74.      */
  75.     public function singSuccess(Request $requestCompteRepository $compteRepository): Response
  76.     {
  77.         $session $request->getSession();
  78.         $email $session->get('mail');       
  79.         $code $request->get('code'); 
  80.         $codev $compteRepository->getcode($email);
  81.         foreach((array)$codev as $res){
  82.             $codecc $res['code'];        }
  83.         if ($code == $codecc){
  84.             return new JsonResponse([
  85.                 'result' => "success"
  86.             ]);
  87.         }else{
  88.             return new JsonResponse([
  89.                 'result' => "error"
  90.             ]);
  91.         }
  92.     }
  93.     /**
  94.      * @Route("/inscriptionpre", name="inscription_pre")
  95.      */
  96.     public function inscriptionpre(ProfessionRepository $professionRepository): Response
  97.     {
  98.         return $this->render('login/inscriptionpre.html.twig', [
  99.             'fonctions' => $professionRepository->findAll()
  100.         ]);
  101.     }
  102.     /**
  103.      * @Route("/authentification", name="authentification")
  104.      */
  105.     public function authentification(Request $requestCompteRepository $compteRepository): Response
  106.     {
  107.         $identifiant $request->get('identifiant');
  108.         $pass md5($request->get('mdp'));
  109.         $mdp $compteRepository->getpass($identifiant);
  110.         foreach((array)$mdp as $res){
  111.             $pwd $res['pwd'];
  112.         }
  113.         if ($pass == $pwd){
  114.             $session $request->getSession();
  115.             $session->set('connecter',true);
  116.             $userInfos $compteRepository->getUserByEmail($identifiant);
  117.             $userInfo $userInfos[0];
  118.             $session->set('userInfos',$userInfo);
  119.             $session->set('userId',$userInfo->getId());
  120.             $session->set('prenom',$userInfo->getCmtPrenom());
  121.             $session->set('nom',$userInfo->getCmtNom());
  122.             $session->set('mailUser',$userInfo->getCmtMail());
  123.             $session->set('typeCompte',$userInfo->getTypeCompte()->getId());
  124.             if($session->get('urlSignature')){
  125.                 return new JsonResponse([
  126.                     'result' => "connecter",
  127.                     'pathy' => $session->get('urlSignature')
  128.                 ]);
  129.             }else{
  130.                 return new JsonResponse([
  131.                     'result' => "connecter"
  132.                 ]);
  133.             }
  134.             
  135.         }else{
  136.             return new JsonResponse([
  137.                 'result' => "error"
  138.             ]);
  139.         }
  140.     }
  141.      /**
  142.      * @Route("/nouveau", name="new_inscription", methods={"GET","POST"})
  143.      */
  144.     public function newinscription(EntityManagerInterface $entityManagerRequest $requestCompteRepository $compteRepository): Response
  145.     {
  146.         $civilite $request->get('civilite');
  147.         $nom $request->get('nom');
  148.         $prenom $request->get('prenom');
  149.         $mail $request->get('mail');
  150.         $mdp md5($request->get('mdp'));
  151.         $fonct $request->get('fonction');
  152.         $fonction $entityManager->getRepository(Profession::class)->find($fonct);
  153.         $matricule $request->get('matricule');
  154.         $code mt_Rand(100000999999);
  155.         $session $request->getSession();
  156.         $session->set('mail',$request->get('mail'));
  157.         if ($civilite != null && $nom != null && $prenom != null && $mail != null && $mdp != null) {
  158.             $compte $compteRepository->findOneBy([
  159.                 'cmt_mail' => $mail,
  160.             ]);
  161.             if ($compte === null) {
  162.                 $compte = (new Compte())
  163.                   ->setCmtCivilite($civilite)
  164.                   ->setCmtNom($nom)
  165.                   ->setCmtPrenom($prenom)
  166.                   ->setCmtProfession($fonction)
  167.                   ->setCmtMatricule($matricule)
  168.                   ->setCmtCode($code)
  169.                   ->setCmtMail($mail)
  170.                   ->setCmtMdp($mdp);
  171.                 $this->em->persist($compte);
  172.                 $this->em->flush();
  173.             $objet "Inscription Legalmed";
  174.                     $message =  'Votre code de confirmation est:' $code
  175.                     $headers "De: webmaster@example.com" "\r\n" .
  176.                     $mailTo $mail;
  177.                     mail($mailTo,$objet,$message$headers);
  178.             } 
  179.                 return new JsonResponse([
  180.                     'result' => "success"
  181.                 ]);        
  182.             }else{
  183.                 return new JsonResponse([
  184.                         'result' => "error"
  185.             ]);
  186.             }
  187.          }
  188.          /**
  189.      * @Route("/logout", name="logouty")
  190.      */
  191.     public function deconnecter(Request $request): Response
  192.     {
  193.         
  194.         $session $request->getSession();
  195.         $session->remove('connecter');
  196.         $session->remove('userInfos');
  197.         $session->remove('userId');
  198.         $session->remove('prenom');
  199.         $session->remove('nom');
  200.         $session->remove('mailUser');
  201.         $session->remove('urlSignature');
  202.         return $this->redirectToRoute('login');
  203.     }
  204.      /**
  205.      * @Route("/basic", name="paiement_bas")
  206.      */
  207.     public function paiementbas(): Response
  208.     {
  209.         return $this->render('login/paiementbas.html.twig', [
  210.            
  211.         ]); 
  212.     }
  213.     /**
  214.      * @Route("/premium", name="paiement_pre")
  215.      */
  216.     public function paiementpre(): Response
  217.     {
  218.         return $this->render('login/paiementpre.html.twig', [
  219.            
  220.         ]);
  221.     }
  222. }