src/Controller/AccuielController.php line 79

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Demande;
  4. use App\Repository\DemandeRepository;
  5. use App\Repository\ParaRepository;
  6. use App\Repository\UserRepository;
  7. use App\service\JWTservice;
  8. use App\service\sendmailservice;
  9. use Doctrine\ORM\EntityManagerInterface;
  10. use FOS\CKEditorBundle\Form\Type\CKEditorType;
  11. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  12. use Symfony\Component\Form\Extension\Core\Type\SubmitType;
  13. use Symfony\Component\Form\Extension\Core\Type\TextType;
  14. use Symfony\Component\HttpFoundation\Request;
  15. use Symfony\Component\HttpFoundation\Response;
  16. use Symfony\Component\Routing\Annotation\Route;
  17. use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
  18. class AccuielController extends AbstractController
  19. {
  20.     #[Route(''name'app_accuiel')]
  21.     public function index(Request $request,UserRepository $userRepository,sendmailservice $email,
  22.     ParaRepository $paraRepository,JWTservice $jwt,DemandeRepository $demandeRepository): Response
  23.     {
  24.         $form $this->createFormBuilder()
  25.         ->add('napi',TextType::class,['label'=> 'N apiculteur','attr'=>['class'=>'form-control',] ])
  26.         ->add('valider',SubmitType::class)
  27.         ->getForm();
  28.       
  29.         $form->handleRequest($request);
  30.        //dd($form);
  31.         if($form->isSubmitted() && $form->isValid()){
  32.             $user=$userRepository->napi($form->get('napi')->getData());
  33.             if ($user->getId()>=1) {
  34.                 if($demandeRepository->demandecour($user)){
  35.                     $this->addFlash('warning',"demande en cours");
  36.                 }else{
  37.                 $this->addFlash('succes',"bonjour <br>"$user->getNom() ." ".$user->getPrenom()." une email
  38.                  vient de  vous etre envoyer <br> cliquer sur le lien pour valider votre demande <br> attention il peut arriver dans les spam");
  39.                  $header=[
  40.                     'typ'=> 'JWT',
  41.                     'alg'=>'HS256'
  42.                  
  43.                  ];
  44.                  $tim=((3600*24)*7);
  45.                  $time=time()+$tim;
  46.                  $payload=[
  47.                     
  48.                     'inter_id'=> $user->getId(),
  49.                     'time'=> $time,
  50.                 
  51.                  ];
  52.                  //dd($this->getParameter('jwtsecret'));
  53.                  $token$jwt->generate($header,$payload,$this->getParameter('app.jwtsecret'),$tim);
  54.             $url2 $this->generateUrl('accueil_trouver',['token'=>$token],UrlGeneratorInterface::ABSOLUTE_URL);
  55.             $context= ["url"=>$url2,"nom"=>$user->getNom(),"prenom"=>$user->getPrenom()];
  56.         $val=  $email->send(
  57.             $paraRepository->getparaIdvalue('emailrepli')->getValue(),
  58.                 $user->getEmail(),
  59.                 "demande d'intervention gdsa47",
  60.                 'formul1',
  61.                 $context
  62.             );
  63.             if($val){
  64.                 $this->addFlash('success',"email envoyé avec succés");
  65.             }else{
  66.                 $this->addFlash('warning',"email non envoyé");
  67.             }}
  68.             }else{
  69.                 $this->addFlash('warning',"Vous n etes pas trouver dans la base de donner");
  70.                 return $this->redirectToRoute('accueil_form');
  71.             }
  72.         
  73.         }
  74.         return $this->render('accuiel/index.html.twig', ['form'=>$form->createView()            
  75.         ]);
  76.     }
  77.     #[Route('trouver/{token}'name'accueil_trouver')]
  78.     public function trouver(string $token,Request $request,sendmailservice $email,
  79.     ParaRepository $paraRepository,UserRepository $userRepository,JWTservice $jwt,EntityManagerInterface $em,): Response
  80.     {if($jwt->isvalid($token) && !$jwt->isexpiret($token) && $jwt->verifsigna($token,$this->getParameter('app.jwtsecret'))){
  81.         $payload$jwt->getpayload($token);
  82.         $user=$userRepository->find($payload['inter_id']);
  83.         $form $this->createFormBuilder()
  84.         ->add('tel',TextType::class,['label'=> 'telephone',"data"=>$user->getTel(),'attr'=>['class'=>'form-control',] ])
  85.         ->add('port',TextType::class,['label'=> 'portable',"data"=>$user->getPort(),'attr'=>['class'=>'form-control',] ])
  86.         ->add('text',CKEditorType::class,['label'=> 'petitmot','attr'=>['class'=>'form-control',] ])
  87.         ->add('valider',SubmitType::class)
  88.         ->getForm();
  89.       
  90.         $form->handleRequest($request);
  91.        //dd($form);
  92.         if($form->isSubmitted() && $form->isValid()){
  93.             $demande=new Demande();
  94.             $demande->setValider(false);
  95.             $demande->setUser($user->getId());
  96.             $demande->setNapi($user->getNapi());
  97.             $demande->setNom($user->getNom());
  98.             $demande->setPrenom($user->getPrenom());
  99.             if($user->getAdresse1()==null){$demande->setAdresse(" ");}else{
  100.               $demande->setAdresse($user->getAdresse1());}
  101.               if($user->getVille()==null){$demande->setVille(" ");}else{
  102.                 $demande->setVille($user->getVille());}
  103.                 if($user->getPoste()==null){$demande->setCode(" ");}else{
  104.                     $demande->setCode($user->getPoste());}
  105.             $demande->setTel($form->get('tel')->getData());
  106.             $demande->setPort($form->get('port')->getData());
  107.             $demande->setTexte($form->get('text')->getData());
  108.             $em->persist($demande);
  109.             $em->flush();
  110.             $contextcompact('demande');
  111.             if($paraRepository->getparaIdvalue('emaildemande1')->getValue()!="null"){
  112.             $val=  $email->send(
  113.                 $paraRepository->getparaIdvalue('emailrepli')->getValue(),
  114.                 $paraRepository->getparaIdvalue('emaildemande1')->getValue(),
  115.                     "nouvelle demande intervention",
  116.                     'demande',
  117.                     $context
  118.                 );
  119.                 if($val){
  120.                     $this->addFlash('success',"email envoyé avec succés");
  121.                 }else{
  122.                     $this->addFlash('warning',"email non envoyé");
  123.                 }}
  124.                 if($paraRepository->getparaIdvalue('emaildemande2')->getValue()!="null"){
  125.                 $val=  $email->send(
  126.                     $paraRepository->getparaIdvalue('emailrepli')->getValue(),
  127.                     $paraRepository->getparaIdvalue('emaildemande2')->getValue(),
  128.                         "nouvelle demande intervention",
  129.                         'demande',
  130.                         $context
  131.                     );
  132.                     if($val){
  133.                         $this->addFlash('success',"email envoyé avec succés");
  134.                     }else{
  135.                         $this->addFlash('warning',"email non envoyé");
  136.                     }}
  137.         }
  138.         return $this->render('accuiel/form.html.twig', ['form'=>$form->createView()            
  139.         ]);
  140.     }else{
  141.         $this->addFlash('warning',"une erreur authentification c'est produit");
  142.         return $this->redirectToRoute('app_accuiel'); 
  143.     }
  144.     }
  145.     #[Route('form'name'accueil_form')]
  146.     public function form(Request $request,UserRepository $userRepository,JWTservice $jwt,EntityManagerInterface $em,
  147.     ParaRepository $paraRepository,sendmailservice $email): Response
  148.     {
  149.         $form $this->createFormBuilder()
  150.         ->add('nom',TextType::class,['label'=> 'Nom','attr'=>['class'=>'form-control',] ])
  151.         ->add('prenom',TextType::class,['label'=> 'Prenom','attr'=>['class'=>'form-control',] ])
  152.         ->add('napi',TextType::class,['label'=> 'N apiculteur','attr'=>['class'=>'form-control',] ])
  153.         ->add('tel',TextType::class,['label'=> 'telephone','attr'=>['class'=>'form-control',] ])
  154.         ->add('port',TextType::class,['label'=> 'portable','attr'=>['class'=>'form-control',] ])
  155.         ->add('adresse',TextType::class,['label'=> 'adresse','attr'=>['class'=>'form-control',] ])
  156.         ->add('code',TextType::class,['label'=> 'code','attr'=>['class'=>'form-control',] ])
  157.         ->add('ville',TextType::class,['label'=> 'ville','attr'=>['class'=>'form-control',] ])
  158.         ->add('petit mot',CKEditorType::class,['label'=> 'portable','attr'=>['class'=>'form-control',] ])
  159.         ->add('valider',SubmitType::class)
  160.         ->getForm();
  161.       
  162.         $form->handleRequest($request);
  163.        //dd($form);
  164.         if($form->isSubmitted() && $form->isValid()){
  165.             $demande=new Demande();
  166.             $demande->setUser(0);
  167.             $demande->setValider(false);
  168.             $demande->setNapi($form->get('napi')->getData());
  169.             $demande->setNom($form->get('nom')->getData());
  170.             $demande->setPrenom($form->get('prenom')->getData());
  171.             $demande->setAdresse($form->get('adresse')->getData());
  172.             $demande->setCode($form->get('code')->getData());
  173.             $demande->setVille($form->get('ville')->getData());
  174.             $demande->setTel($form->get('tel')->getData());
  175.             $demande->setPort($form->get('port')->getData());
  176.             $demande->setTexte($form->get('texte')->getData());
  177.             $em->persist($demande);
  178.             $em->flush();
  179.             $contextcompact('demande');
  180.             if($paraRepository->getparaIdvalue('emaildemande1')->getValue()!="null"){
  181.             $val=  $email->send(
  182.                 $paraRepository->getparaIdvalue('emailrepli')->getValue(),
  183.                 $paraRepository->getparaIdvalue('emaildemande1')->getValue(),
  184.                     "nouvelle demande intervention",
  185.                     'demande2',
  186.                     $context
  187.                 );
  188.                 if($val){
  189.                     $this->addFlash('success',"email envoyé avec succés");
  190.                 }else{
  191.                     $this->addFlash('warning',"email non envoyé");
  192.                 }}if($paraRepository->getparaIdvalue('emaildemande2')->getValue()!="null"){
  193.                 $val=  $email->send(
  194.                     $paraRepository->getparaIdvalue('emailrepli')->getValue(),
  195.                     $paraRepository->getparaIdvalue('emaildemande2')->getValue(),
  196.                         "nouvelle demande intervention",
  197.                         'demande2',
  198.                         $context
  199.                     );
  200.                     if($val){
  201.                         $this->addFlash('success',"email envoyé avec succés");
  202.                     }else{
  203.                         $this->addFlash('warning',"email non envoyé");
  204.                     }}
  205.         }
  206.         return $this->render('accuiel/formt.html.twig', ['form'=>$form->createView()            
  207.         ]);
  208.    
  209.     }
  210. }