Deprecated: Constant E_STRICT is deprecated in /home/www/vendor/symfony/error-handler/ErrorHandler.php on line 58

Deprecated: Constant E_STRICT is deprecated in /home/www/vendor/symfony/error-handler/ErrorHandler.php on line 76
Symfony Profiler

src/Controller/IndexController.php line 27

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  4. use Symfony\Component\HttpFoundation\Response;
  5. use Symfony\Component\HttpFoundation\Request;
  6. use Symfony\Component\Routing\Annotation\Route;
  7. use App\Entity\Piece;
  8. use App\Entity\Messages;
  9. use App\Entity\MessagesContact;
  10. use App\Form\LancerRequeteType;
  11. use App\Form\MessagesContactType;
  12. use Doctrine\Persistence\ManagerRegistry;
  13. use Symfony\Component\Mailer\MailerInterface;
  14. use Symfony\Component\Mime\Email;
  15. class IndexController extends AbstractController
  16. {
  17.     /**
  18.      * @Route("/", name="index")
  19.      */
  20.     public function index(): Response
  21.     {
  22.         return $this->render('index.html.twig', []);
  23.     }
  24.     /**
  25.      * @Route("/cookies", name="cookies")
  26.      */
  27.     public function cookies(): Response
  28.     {
  29.         return $this->render('cookies.html.twig', []);
  30.     }
  31.     /**
  32.      * @Route("/accueil", name="accueil")
  33.      */
  34.     public function accueil(): Response
  35.     {
  36.         return $this->render('accueil.html.twig', []);
  37.     }
  38.     /**
  39.      * @Route("/arborescence", name="arborescence")
  40.      */
  41.     public function arborescence(ManagerRegistry $doctrine): Response
  42.     {
  43.         // $retour              = contenu pour version MOBILE/Tablette
  44.         // $retourArborescence  = contenu pour version PC ou +
  45.         $retour='';
  46.         $retourArborescence='';
  47.         
  48.         $pieces=$doctrine->getRepository(Piece::class)->trouve('SELECT DISTINCT(marque) FROM piece ORDER BY marque ASC');
  49.         
  50.         for($a=0;$a<count($pieces);$a++)
  51.         {
  52.             $Npieces=$doctrine->getRepository(Piece::class)->trouve("SELECT piece FROM piece WHERE marque='".$pieces[$a]['marque']."'");
  53.             $num_pieces=count($Npieces);
  54.             $retourArborescence.='
  55.             <div class="row">
  56.                 
  57.                 <div class="col-md-2 text-center">
  58.                     <a href="#" class="textearbo" onclick="ajap(\'div2'.$a.'\',\'modele\',\'marque\',\''.$pieces[$a]['marque'].'\')"><div class="marque">'.$pieces[$a]['marque'].'</div> ('.$num_pieces.')</a>
  59.                 </div>
  60.                 
  61.                 <div class="col-md-1 text-center " id="div2'.$a.'"></div>
  62.             
  63.                 <div class="col-md-1 text-center" id="div3'.$a.'"></div>
  64.             
  65.                 <div class="col-md-1 text-center" id="div4'.$a.'"></div>
  66.             
  67.                 <div class="col-md-1 text-center" id="div5'.$a.'"></div>
  68.             
  69.                 <div class="col-md-1 text-center" id="div6'.$a.'"></div>
  70.             
  71.                 <div class="col-md-1 text-center" id="div7'.$a.'"></div>
  72.             
  73.                 <div class="col-md-1 text-center textenoir" id="div8'.$a.'"></div>
  74.             
  75.                 <div class="col-md-3 text-center textenoir" id="div9'.$a.'"></div>
  76.             </div>';
  77.             $retour.='<div style="border:2px solid white;border-radius:18px">
  78.             <a name="cran'.$a.'"/><a href="#cran'.$a.'" class="textelien texteplus" onclick="montre(\'divc'.$a.'\')"><span class="icon"><i class="ion ion-md-add-circle-outline"></i></span> '.$pieces[$a]['marque'].' ('.$num_pieces.')</a>
  79.             <br/>
  80.             <div id="divc'.$a.'" class="cache">';
  81.             $pieces2=$doctrine->getRepository(Piece::class)->trouve('SELECT DISTINCT(modele) FROM piece WHERE marque=\''.$pieces[$a]['marque'].'\' ORDER BY modele ASC');
  82.             for($b=0;$b<count($pieces2);$b++)
  83.             {
  84.                 $retour.='<a name="cran'.$a.$b.'"/><a href="#cran'.$a.$b.'" class="textelien texteplus marge1" onclick="montre(\'divc'.$a.$b.'\')"><span class="icon"><i class="ion ion-md-add-circle-outline"></i></span> '.$pieces2[$b]['modele'].'</a>
  85.                 <br/>
  86.                 <div id="divc'.$a.$b.'" class="cache">';
  87.                 $pieces3=$doctrine->getRepository(Piece::class)->trouve('SELECT DISTINCT(generation) FROM piece WHERE marque=\''.$pieces[$a]['marque'].'\' AND modele=\''.$pieces2[$b]['modele'].'\' ORDER BY generation ASC');
  88.                 for($c=0;$c<count($pieces3);$c++)
  89.                 {
  90.                     $retour.='<a name="cran'.$a.$b.$c.'"/><a href="#cran'.$a.$b.$c.'" class="textelien texteplus marge2" onclick="montre(\'divc'.$a.$b.$c.'\')"><span class="icon"><i class="ion ion-md-add-circle-outline"></i></span> Génération: '.$pieces3[$c]['generation'].'</a>
  91.                     <br/>
  92.                     <div id="divc'.$a.$b.$c.'" class="cache">';
  93.                     $pieces4=$doctrine->getRepository(Piece::class)->trouve('SELECT DISTINCT(phase) FROM piece WHERE marque=\''.$pieces[$a]['marque'].'\' AND modele=\''.$pieces2[$b]['modele'].'\' AND generation=\''.$pieces3[$c]['generation'].'\' ORDER BY phase ASC');
  94.                     for($d=0;$d<count($pieces4);$d++)
  95.                     {
  96.                         $retour.='<a name="cran'.$a.$b.$c.$d.'"/><a href="#cran'.$a.$b.$c.$d.'" class="textelien texteplus marge3" onclick="montre(\'divc'.$a.$b.$c.$d.'\')"><span class="icon"><i class="ion ion-md-add-circle-outline"></i></span> Phase: '.$pieces4[$d]['phase'].'</a>
  97.                         <br/>
  98.                         <div id="divc'.$a.$b.$c.$d.'" class="cache">';
  99.                         $pieces5=$doctrine->getRepository(Piece::class)->trouve('SELECT DISTINCT(annees) FROM piece WHERE marque=\''.$pieces[$a]['marque'].'\' AND modele=\''.$pieces2[$b]['modele'].'\' AND generation=\''.$pieces3[$c]['generation'].'\' AND phase=\''.$pieces4[$d]['phase'].'\' ORDER BY annees ASC');
  100.                         for($e=0;$e<count($pieces5);$e++)
  101.                         {
  102.                             $retour.='<a name="cran'.$a.$b.$c.$d.$e.'"/><a href="#cran'.$a.$b.$c.$d.$e.'" class="textelien texteplus marge4" onclick="montre(\'divc'.$a.$b.$c.$d.$e.'\')"><span class="icon"><i class="ion ion-md-add-circle-outline"></i></span> '.$pieces5[$e]['annees'].'</a>
  103.                             <br/>
  104.                             <div id="divc'.$a.$b.$c.$d.$e.'" class="cache">';
  105.                             $pieces6=$doctrine->getRepository(Piece::class)->trouve('SELECT DISTINCT(nb_portes) FROM piece WHERE marque=\''.$pieces[$a]['marque'].'\' AND modele=\''.$pieces2[$b]['modele'].'\' AND generation=\''.$pieces3[$c]['generation'].'\' AND phase=\''.$pieces4[$d]['phase'].'\' AND annees=\''.$pieces5[$e]['annees'].'\' ORDER BY nb_portes ASC');
  106.                             for($f=0;$f<count($pieces6);$f++)
  107.                             {
  108.                                 $retour.='<a name="cran'.$a.$b.$c.$d.$e.$f.'"/><a href="#cran'.$a.$b.$c.$d.$e.$f.'" class="textelien texteplus marge5" onclick="montre(\'divc'.$a.$b.$c.$d.$e.$f.'\')"><span class="icon"><i class="ion ion-md-add-circle-outline"></i></span> Nb de portes: '.$pieces6[$f]['nb_portes'].'</a>
  109.                                 <br/>
  110.                                 <div id="divc'.$a.$b.$c.$d.$e.$f.'" class="cache">';
  111.                                 $pieces7=$doctrine->getRepository(Piece::class)->trouve('SELECT DISTINCT(cylindree) FROM piece WHERE marque=\''.$pieces[$a]['marque'].'\' AND modele=\''.$pieces2[$b]['modele'].'\' AND generation=\''.$pieces3[$c]['generation'].'\' AND phase=\''.$pieces4[$d]['phase'].'\' AND annees=\''.$pieces5[$e]['annees'].'\' AND nb_portes=\''.$pieces6[$f]['nb_portes'].'\' ORDER BY cylindree ASC');
  112.                                 for($g=0;$g<count($pieces7);$g++)
  113.                                 {
  114.                                     $retour.='<a name="cran'.$a.$b.$c.$d.$e.$f.$g.'"/><a href="#cran'.$a.$b.$c.$d.$e.$f.$g.'" class="textelien texteplus marge6" onclick="montre(\'divc'.$a.$b.$c.$d.$e.$f.$g.'\')"><span class="icon"><i class="ion ion-md-add-circle-outline"></i></span> Cylindrée: '.$pieces7[$g]['cylindree'].'</a>
  115.                                     <br/>
  116.                                     <div id="divc'.$a.$b.$c.$d.$e.$f.$g.'" class="cache">';
  117.                                     $pieces8=$doctrine->getRepository(Piece::class)->trouve('SELECT DISTINCT(energie) FROM piece WHERE marque=\''.$pieces[$a]['marque'].'\' AND modele=\''.$pieces2[$b]['modele'].'\' AND generation=\''.$pieces3[$c]['generation'].'\' AND phase=\''.$pieces4[$d]['phase'].'\' AND annees=\''.$pieces5[$e]['annees'].'\' AND nb_portes=\''.$pieces6[$f]['nb_portes'].'\' AND cylindree=\''.$pieces7[$g]['cylindree'].'\' ORDER BY energie ASC');
  118.                                     for($h=0;$h<count($pieces8);$h++)
  119.                                     {
  120.                                         $retour.='<a name="cran'.$a.$b.$c.$d.$e.$f.$g.$h.'"/><a href="#cran'.$a.$b.$c.$d.$e.$f.$g.$h.'" class="textelien texteplus marge7" onclick="montre(\'divc'.$a.$b.$c.$d.$e.$f.$g.$h.'\')"><span class="icon"><i class="ion ion-md-add-circle-outline"></i></span> Energie: '.$pieces8[$h]['energie'].'</a>
  121.                                         <br/>
  122.                                         <div id="divc'.$a.$b.$c.$d.$e.$f.$g.$h.'" class="cache">';
  123.                                         $pieces9=$doctrine->getRepository(Piece::class)->trouve('SELECT id,piece FROM piece WHERE marque=\''.$pieces[$a]['marque'].'\' AND modele=\''.$pieces2[$b]['modele'].'\' AND generation=\''.$pieces3[$c]['generation'].'\' AND phase=\''.$pieces4[$d]['phase'].'\' AND annees=\''.$pieces5[$e]['annees'].'\' AND nb_portes=\''.$pieces6[$f]['nb_portes'].'\' AND cylindree=\''.$pieces7[$g]['cylindree'].'\' AND energie=\''.$pieces8[$h]['energie'].'\' ORDER BY piece ASC');
  124.                                         for($i=0;$i<count($pieces9);$i++)
  125.                                         {
  126.                                             $retour.='<a href="/apercu-piece-'.$pieces9[$i]['id'].'" class="textelien texteplus marge8"><span class="icon"><i class="ion ion-ios-car"></i></span> '.$pieces9[$i]['piece'].'</a>
  127.                                             <br/>';
  128.                                         }
  129.                                         $retour.='</div>';
  130.                                     }
  131.                                     $retour.='</div>';
  132.                                 }
  133.                                 $retour.='</div>';
  134.                             }
  135.                             $retour.='</div>';
  136.                         }
  137.                         $retour.='</div>';
  138.                     }
  139.                     $retour.='</div>';
  140.                 }
  141.                 $retour.='</div>';
  142.             }
  143.             $retour.='</div></div><br/>';
  144.         }
  145.         return $this->render('arboresence.html.twig', ['retour'=>$retour,'retourArborescence'=>$retourArborescence]);
  146.     }
  147.     /**
  148.      * @Route("/apercu-piece-{piece}", name="apercu_piece")
  149.      */
  150.     public function apercuPiece(int $piece, ManagerRegistry $doctrine): Response
  151.     {
  152.         $tabTemp=[];
  153.         $pieceOk=$doctrine->getRepository(Piece::class)->trouve('SELECT * FROM piece WHERE id='.$piece);
  154.         if(count($pieceOk))
  155.             $tabTemp=explode(',',$pieceOk[0]['photos']);
  156.         $photo1=0;$photo2=0;$photo3=0;
  157.         if(count($tabTemp))
  158.         {
  159.             if(file_exists('img/pieces/photo_'.$piece.'_'.$tabTemp[0].'.jpg'))
  160.                 $photo1='img/pieces/photo_'.$piece.'_'.$tabTemp[0].'.jpg';
  161.             if(file_exists('img/pieces/photo_'.$piece.'_'.$tabTemp[0].'.png'))
  162.                 $photo1='img/pieces/photo_'.$piece.'_'.$tabTemp[0].'.png';
  163.             if(count($tabTemp)>1 && file_exists('img/pieces/photo_'.$piece.'_'.$tabTemp[1].'.jpg'))
  164.                 $photo2='img/pieces/photo_'.$piece.'_'.$tabTemp[1].'.jpg';
  165.             if(count($tabTemp)>1 && file_exists('img/pieces/photo_'.$piece.'_'.$tabTemp[1].'.png'))
  166.                 $photo2='img/pieces/photo_'.$piece.'_'.$tabTemp[1].'.png';
  167.         }
  168.         if(count($tabTemp)>2 && file_exists('img/pieces/photo_'.$piece.'_'.$tabTemp[2].'.jpg'))
  169.             $photo3='img/pieces/photo_'.$piece.'_'.$tabTemp[2].'.jpg';
  170.         if(count($tabTemp)>2 && file_exists('img/pieces/photo_'.$piece.'_'.$tabTemp[2].'.png'))
  171.             $photo3='img/pieces/photo_'.$piece.'_'.$tabTemp[2].'.png';        
  172.         $pieceOk[0]['texte']=nl2br($pieceOk[0]['texte']);
  173.         return $this->render('piece.html.twig', ['piece'=>$pieceOk, 'photo1'=>$photo1, 'photo2'=>$photo2, 'photo3'=>$photo3]);
  174.     }
  175.     /**
  176.      * @Route("/liste-pieces-vehicule-{piece}", name="liste_pieces_vehicule")
  177.      */
  178.     public function listePieces(int $piece, ManagerRegistry $doctrine): Response
  179.     {
  180.         $modeleTchype=$doctrine->getRepository(Piece::class)->trouve('SELECT marque,modele FROM piece WHERE id='.$piece);
  181.         if(count($modeleTchype))
  182.             $modeleTchype=$modeleTchype[0];
  183.         else
  184.         {
  185.             $modeleTchype=array('marque'=>'','modele'=>'');
  186.         }
  187.         //dd("SELECT * FROM piece WHERE marque='".$modeleTchype['marque']."' AND modele='".$modeleTchype['modele']."'");
  188.         $pieces=$doctrine->getRepository(Piece::class)->trouve("SELECT * FROM piece WHERE marque='".$modeleTchype['marque']."' AND modele='".$modeleTchype['modele']."'");
  189.         //dd($pieces);
  190.         return $this->render('liste.html.twig', ['pieces'=>$pieces, 'tchype'=>$modeleTchype]);
  191.     }
  192.     /**
  193.      * @Route("/pneus", name="pneus")
  194.      */
  195.     public function pneus()
  196.     {
  197.         return $this->render('pneus.html.twig', []);
  198.     }
  199.     /**
  200.      * @Route("/mentions-legales", name="mentions_legales")
  201.      */
  202.     public function mentionsLegales()
  203.     {
  204.         return $this->render('mentions-legales.html.twig', []);
  205.     }
  206.     /**
  207.      * @Route("/faire-enlever-epave", name="faire_enlever_epave")
  208.      */
  209.     public function enleverEpave()
  210.     {
  211.         return $this->render('faire-enlever-epave.html.twig', []);
  212.     }
  213.     /**
  214.      * @Route("/message-ok", name="message_ok")
  215.      */
  216.     public function messageOk(MailerInterface $mailer)
  217.     {
  218.         /*
  219.         $email = (new Email())
  220.         ->from('admin@niceparts06.fr')
  221.         ->to('after.ecall@free.fr')
  222.         //->cc('cc@example.com')
  223.         //->bcc('bcc@example.com')
  224.         //->replyTo('fabien@example.com')
  225.         //->priority(Email::PRIORITY_HIGH)
  226.         ->subject('Time for Symfony Mailer!')
  227.         ->text('Sending emails is fun again!')
  228.         ->html('<p>See Twig integration for better HTML integration!</p>');
  229.         $mailer->send($email);
  230. */
  231.         $texte='Merci pour votre message, n´oubliez pas de vérifier vos messages à la recherche d´un lien que nous vous aurions éventuellement envoyé pour valider votre adresse e-mail et votre demande de contact (si cela est déjà fait et votre adresse déjà validée, vous pouvez ignorer cette consigne).';
  232.         return $this->render('message-ok.html.twig', ['texte'=>$texte]);
  233.     }
  234.     /**
  235.      * @Route("/lancer-requete", name="lancer_requete")
  236.      */
  237.     public function lancerRequete(Request $request, ManagerRegistry $doctrine, MailerInterface $mailer)
  238.     {
  239.         $message=new Messages();
  240.         $mois=[];$annee=[];
  241.         
  242.         for($a=1;$a<=12;$a++)
  243.             array_push($mois,$a);
  244.         for($a=1950;$a<=date('Y');$a++)
  245.             array_push($annee,$a);
  246.         $flr = $this->createForm(LancerRequeteType::class, $message);
  247.         $flr->handleRequest($request);
  248.         if ($flr->isSubmitted() && $flr->isValid())
  249.         {
  250.             $message = $flr->getData();
  251.             $message->setPiecePmc(new \DateTime(date($request->request->get('annee').'-'.$request->request->get('mois').'-01')));
  252.             
  253.             $etat=$doctrine->getRepository(MessagesContact::class)->findOneBy(['adremail'=>$message->getAdremail()]);
  254.             if($etat==null)
  255.                 $etatOk=0;
  256.             else
  257.                 $etatOk=$etat->getEtat();
  258.             $message->setEtat($etatOk);
  259.             $doctrine->getManager()->persist($message);
  260.             $doctrine->getManager()->flush();
  261.             // envoi e-mail récap à l'user
  262.             if(!$etatOk)
  263.             {
  264.                 switch($message->getUrgence())
  265.                 {
  266.                     case 0:
  267.                         $urgence='à titre indicatif (j’ai tout mon temps : restauration d’un véhicule dont je n’ai pas besoin dans l’immédiat, etc)';
  268.                     break;
  269.     
  270.                     case 1:
  271.                         $urgence='pas urgente (j’ai plusieurs jours voire plusieurs semaines devant moi)';
  272.                     break;
  273.     
  274.                     case 2:
  275.                         $urgence='urgente (il me faut la pièce dans les jours à venir)';
  276.                     break;
  277.     
  278.                     case 3:
  279.                         $urgence='très urgente (il me faut la pièce dans les heures à venir)';
  280.                     break;
  281.     
  282.                     default:
  283.                         $urgence='';
  284.                     break;
  285.                 }
  286.     
  287.                 $email = (new Email())
  288.                 ->from('admin@niceparts06.fr')
  289.                 ->to($message->getAdremail())
  290.                 //->cc('cc@example.com')
  291.                 //->bcc('bcc@example.com')
  292.                 ->replyTo('no-reply@niceparts06.fr')
  293.                 //->priority(Email::PRIORITY_HIGH)
  294.                 ->subject('Nice PARTS 06 - Validez votre requête "'.$message->getPieceMarque().' '.    $message->getPieceModele().'"')
  295.                 ->text("Bonjour ".$message->getPseudo()." ; nous avons bien reçu votre requête « $urgence » du ".date('d.m')." à ".date('H:i')." concernant votre «".$message->getPieceMarque()." ".    $message->getPieceModele()."» puis texte ouvert «".$message->getTexte()."». 
  296.                 Pour la valider, cliquer ici. Bien cordialement.")
  297.                 ->html('Bonjour '.$message->getPseudo().' ;<br/> nous avons bien reçu votre requête " '.$urgence
  298.                 .' " du '.date('d.m').' à '.date('H:i').' concernant votre "'.$message->getPieceMarque().' '.    $message->getPieceModele().'" puis texte ouvert "'.nl2br($message->getTexte()).'". 
  299.                 <br/><br/>Pour la valider, <a href="https://www.NicePARTS06.fr/valide-requete-ok?adr='.$message->getAdremail().'">cliquer ici</a>.<br/>Bien cordialement.<br/>
  300.                 L´équipe Nice PARTS 06');
  301.     
  302.                 $mailer->send($email);
  303.     
  304.             }
  305.             else
  306.             {
  307.             }
  308.             return $this->redirectToRoute('message_ok');
  309.         }
  310.         return $this->renderForm('lancer-requete.html.twig', ['flr'=>$flr, 'mois'=>$mois, 'annee'=>$annee]);
  311.     }
  312.     /**
  313.      * @Route("/nous-contacter", name="nous_contacter")
  314.      */
  315.     public function nousContacter(Request $request, ManagerRegistry $doctrine, MailerInterface $mailer)
  316.     {
  317.         $message=new MessagesContact();
  318.         $fnc = $this->createForm(MessagesContactType::class, $message);
  319.         $fnc->handleRequest($request);
  320.         if ($fnc->isSubmitted() && $fnc->isValid())
  321.         {
  322.             $message = $fnc->getData();
  323.             // test si existant en bdd avec etat=1
  324.             $message_valitt=$doctrine->getRepository(MessagesContact::class)->findOneBy(['adremail'=>$message->getAdremail(),'etat'=>'1']);
  325.             if($message_valitt==null)
  326.                 $etat='0';
  327.             else
  328.                 $etat=$message_valitt->getEtat();            
  329.             if(!$etat)
  330.             {
  331.                 $crode='';
  332.                 for($a=0;$a<10;$a++)
  333.                     $crode.=chr(rand(65,90));
  334.                 $message->setDate(new \DateTime())->setHeure(new \DateTime())->setEtat($etat)->setCrode($crode);
  335.                 $doctrine->getManager()->persist($message);
  336.                 $doctrine->getManager()->flush();
  337.                 // envoi de l'e-mail si l'user n'est pas à état=1
  338.                 $email = (new Email())
  339.                 ->from('admin@niceparts06.fr')
  340.                 ->to($message->getAdremail())
  341.                 //->cc('cc@example.com')
  342.                 //->bcc('bcc@example.com')
  343.                 ->replyTo('no-reply@niceparts06.fr')
  344.                 //->priority(Email::PRIORITY_HIGH)
  345.                 ->subject('Nice PARTS 06 - Validez votre adresse e-mail')
  346.                 ->text('Vous venez de faire une demande de contact, merci de cliquer sur le lien ci-dessous pour la valider :')
  347.                 ->html('<p>Bonjour,</p>
  348.                 <p>Vous venez de faire une demande de contact, merci de cliquer sur le lien ci-dessous pour la valider :</p><a href="https://www.NicePARTS06.fr/valide-ok?adr='.$message->getAdremail().'&id='.$crode.'">Cliquez ici</a>.
  349.                 <p>Cordialement,
  350.                 <br/>
  351.                 L´équipe Nice PARTS 06</p>');
  352.                 $mailer->send($email);
  353.             }
  354.             else
  355.             {
  356.                 // envoi e-mail direct
  357.                 $message->setDate(new \DateTime())->setHeure(new \DateTime())->setEtat($etat)->setCrode('0');
  358.                 $doctrine->getManager()->persist($message);
  359.                 $doctrine->getManager()->flush();
  360.                 $email = (new Email())
  361.                 ->from('admin@niceparts06.fr')
  362.                 ->to('admin@niceparts06.fr')        // @contact
  363.                 //->cc('cc@example.com')
  364.                 //->bcc('bcc@example.com')
  365.                 ->replyTo($message->getAdremail())
  366.                 //->priority(Email::PRIORITY_HIGH)
  367.                 ->subject($message->getSujet())
  368.                 ->text($message->getMessage())
  369.                 ->html(nl2br($message->getMessage()));
  370.                 $mailer->send($email);
  371.             }
  372.             return $this->redirectToRoute('message_ok');
  373.         }
  374.         return $this->renderForm('nous-contacter.html.twig', ['fnc'=>$fnc]);
  375.     }
  376.     /**
  377.      * @Route("/valide-requete-ok", name="valide_requete_ok")
  378.      */
  379.     public function valideRequeteOk(request $requete, ManagerRegistry $doctrine, MailerInterface $mailer)
  380.     {
  381.         $adr=$requete->query->get('adr');
  382.         $testadremail=$doctrine->getRepository(Messages::class)->findOneBy(["adremail"=>$adr]);
  383.         
  384.         $texte='';
  385.         if($testadremail==null)
  386.             $texte='Ce lien n´est pas valide, votre demande de requête ne sera pas envoyée.';
  387.         else
  388.         {
  389.             if(!$testadremail->getEtat())
  390.             {
  391.                 $testadremail->setEtat('1');
  392.                 $doctrine->getManager()->persist($testadremail);
  393.                 $doctrine->getManager()->flush();
  394.     
  395.                 $texte='Merci pour votre validation, nous avons bien reçu votre requête.';
  396.                 switch($testadremail->getUrgence())
  397.                 {
  398.                     case 0:
  399.                         $urgence='à titre indicatif (j’ai tout mon temps : restauration d’un véhicule dont je n’ai pas besoin dans l’immédiat, etc)';
  400.                     break;
  401.     
  402.                     case 1:
  403.                         $urgence='pas urgente (j’ai plusieurs jours voire plusieurs semaines devant moi)';
  404.                     break;
  405.     
  406.                     case 2:
  407.                         $urgence='urgente (il me faut la pièce dans les jours à venir)';
  408.                     break;
  409.     
  410.                     case 3:
  411.                         $urgence='très urgente (il me faut la pièce dans les heures à venir)';
  412.                     break;
  413.     
  414.                     default:
  415.                         $urgence='';
  416.                     break;
  417.                 }
  418.                 $email = (new Email())
  419.                 ->from('admin@niceparts06.fr')
  420.                 ->to('admin@niceparts06.fr')    // contact@
  421.                 ->replyTo($testadremail->getAdremail())
  422.                 ->subject('Nice PARTS 06 - '.date('d.m à H:i').' Requete de '.$testadremail->getAdremail())
  423.                 ->text($testadremail->getTexte())
  424.                 ->html('Bonjour,<br/><br/>
  425.                 
  426.                     urgence : '.$urgence.'
  427.                     <br/>pseudo : '.$testadremail->getPseudo().'
  428.                     <br/>adresse e-mail : '.$testadremail->getAdremail().'
  429.                     <br/>num. tel : '.$testadremail->getNumtel().'
  430.                     <br/>pièce (marque) : '.$testadremail->getPieceMarque().'
  431.                     <br/>pièce (modele) : '.$testadremail->getPieceModele().'
  432.                     <br/>pmc pièce : '.date('m/Y', $testadremail->getPiecePmc()).'
  433.                     <br/><br/>messsage :<br/>  
  434.                 '.
  435.                     nl2br($testadremail->getTexte())
  436.                 .'');
  437.                 $mailer->send($email);
  438.             }
  439.             else
  440.             {
  441.                 $texte='Merci pour votre validation, votre adresse e-mail est déjà reconnue, vos requêtes sont envoyées directement.';
  442.             }
  443.         }
  444.         return $this->render('message-ok.html.twig', ['texte'=>$texte]);
  445.     }
  446.     /**
  447.      * @Route("/valide-ok", name="valide_ok")
  448.      */
  449.     public function valideOk(request $requete, ManagerRegistry $doctrine, MailerInterface $mailer)
  450.     {
  451.         $adr=$requete->query->get('adr');
  452.         $id=$requete->query->get('id');
  453.         $testadremail=$doctrine->getRepository(MessagesContact::class)->findOneBy(["adremail"=>$adr,"crode"=>$id]);
  454.         $texte='';
  455.         if($testadremail==null)
  456.             $texte='Ce lien n´est pas valide, votre demande de contact ne sera pas envoyée.';
  457.         else
  458.         {
  459.             if(!$testadremail->getEtat())
  460.             {
  461.                 $testadremail->setEtat('1');
  462.                 $doctrine->getManager()->persist($testadremail);
  463.                 $doctrine->getManager()->flush();
  464.     
  465.                 $texte='Merci pour votre validation, votre adresse e-mail sera désormais reconnue, votre demande de contact va être envoyée.';
  466.                 $email = (new Email())
  467.                 ->from('admin@niceparts06.fr')
  468.                 ->to('admin@niceparts06.fr')    // contact@
  469.                 //->cc('cc@example.com')
  470.                 //->bcc('bcc@example.com')
  471.                 ->replyTo($testadremail->getAdremail())
  472.                 //->priority(Email::PRIORITY_HIGH)
  473.                 ->subject($testadremail->getSujet())
  474.                 ->text($testadremail->getMessage())
  475.                 ->html(nl2br($testadremail->getMessage()));
  476.                 $mailer->send($email);
  477.             }
  478.             else
  479.             {
  480.                 $texte='Merci pour votre validation, votre adresse e-mail est déjà reconnue, vos demandes de contact sont envoyée directement.';
  481.             }
  482.         }
  483.         return $this->render('message-ok.html.twig', ['texte'=>$texte]);
  484.     }
  485.     /* A prévoir :
  486.     remplacer en front et back les saisies d'apostrophe en curly´ Alt+0180
  487.     OK -> effacer les anciennes values de l'arbo quand un nouveau clic est fait (limité par 100 pr le moment dans main.js function effacement)
  488.     */
  489. }