src/Service/UserService.php line 615

Open in your IDE?
  1. <?php
  2. namespace App\Service;
  3. /**
  4.  * Created by PhpStorm.
  5.  * User: Appsfact-02
  6.  * Date: 14/11/2019
  7.  * Time: 13:13
  8.  */
  9. use App\Entity\Produit;
  10. use App\Entity\Ref;
  11. use App\Service\EmailsCmdService;
  12. use App\Entity\User;
  13. use App\Entity\ParentSejour;
  14. use App\Entity\Etablisment;
  15. use App\Entity\Attachment;
  16. use App\Entity\Adress;
  17. use App\Entity\Comptebancaire;
  18. use App\Entity\Sejour;
  19. use App\Entity\Jourdescripdate;
  20. use App\Entity\Documentpartenaire;
  21. use Swift_Image;
  22. use App\Entity\Emailing;
  23. use App\Entity\SejourAttachment;
  24. use Doctrine\Persistence\ManagerRegistry;
  25. use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
  26. use Symfony\Component\HttpFoundation\Session\SessionInterface;
  27. use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
  28. use Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface;
  29. use Twig\Environment;
  30. class UserService
  31. {
  32.     private $em;
  33.     private $mailer;
  34.     private $router;
  35.     private $second_mailer;
  36.     private $passwordEncoder;
  37.     private $templating;
  38.     private $session;
  39.     private $params;
  40.     private $emailsCmdService;
  41.     public function __construct(ManagerRegistry $em\Swift_Mailer $mailer\Swift_Mailer $second_mailerUrlGeneratorInterface $routerUserPasswordHasherInterface $passwordEncoderEnvironment $templatingSessionInterface $sessionParameterBagInterface $paramsEmailsCmdService $emailsCmdService)
  42.     {
  43.         $this->em $em;
  44.         $this->mailer $mailer;
  45.         $this->second_mailer $second_mailer;
  46.         $this->router $router;
  47.         $this->passwordEncoder $passwordEncoder;
  48.         $this->templating $templating;
  49.         $this->session $session;
  50.         $this->params $params;
  51.         $this->emailsCmdService $emailsCmdService;
  52.     }
  53.     function creationNewUser($nom$prenom$etablisment$fonction$adressetablisment$phone$email$password$role)
  54.     {
  55.         $user = new User();
  56.         $user->setNom($nom);
  57.         $user->setPrenom($prenom);
  58.         $user->setNummobile($phone);
  59.         $user->setFonction($fonction);
  60.         $user->setAdresse($adressetablisment);
  61.         $user->setNometablisment($etablisment);
  62.         $user->setEmail(trim($email));
  63.         $user->setPassword(
  64.             $this->passwordEncoder->hashPassword(
  65.                 $user,
  66.                 $password
  67.             )
  68.         );
  69.         $user->setPasswordNonCripted($password);
  70.         $user->setDateCreation(new \DateTime());
  71.         $user->addRole($role);
  72.         $this->em->getManager()->persist($user);
  73.         $this->em->getManager()->flush();
  74.         return $user;
  75.     }
  76.     function creationNewAcommpa($nom$prenom$etablisment$fonction$adressetablisment$phoneacc$mail$role$password$reponseemail)
  77.     {
  78.         $user = new User();
  79.         $user->setNom($nom);
  80.         $user->setPrenom($prenom);
  81.         $user->setUsername($mail);
  82.         $user->setReponseemail(trim($reponseemail));
  83.         // $user->setUsername($identifiant);
  84.         $user->setFonction($fonction);
  85.         $user->setNummobile($phoneacc);
  86.         $user->setEmail(trim($mail));
  87.         $user->setAdresse($adressetablisment);
  88.         $user->setNometablisment($etablisment);
  89.         //$user->setnometablisment();
  90.         $user->setDateCreation(new \DateTime());
  91.         $user->addRole($role);
  92.         $user->setPasswordNonCripted($password);
  93.         $user->setPassword(
  94.             $this->passwordEncoder->hashPassword(
  95.                 $user,
  96.                 $password
  97.             )
  98.         );
  99.         $this->em->getManager()->persist($user);
  100.         $this->em->getManager()->persist($user);
  101.         $this->em->getManager()->flush();
  102.         return $user;
  103.     }
  104.     function creationNewEtablisment($par$nom$prenom$etablisment$fonction$adressetablisment$phoneacc$mail$role$password$prixcnxparent$prixcnxpartenaire$reversecnxpart$reverseventepart)
  105.     {
  106.         $type "ECOLES/AUTRES";
  107.         $EtabL = new Etablisment();
  108.         $EtabL->setNometab($etablisment);
  109.         $EtabL->setTypeetablisment($type);
  110.         // $user->setUsername($identifiant);
  111.         $EtabL->setFonctioncontact($fonction);
  112.         $EtabL->setNumerotelp($phoneacc);
  113.         $EtabL->setEmail(trim($mail));
  114.         $EtabL->setAdresseetab($adressetablisment);
  115.         $EtabL->setUser($par); //$user->setnometablisment();
  116.         $EtabL->setPrixcnxparent($prixcnxparent);
  117.         $EtabL->setPrixcnxpartenaire($prixcnxpartenaire);
  118.         $EtabL->setReversecnxpart($reversecnxpart);
  119.         $EtabL->setReverseventepart($reverseventepart);
  120.         $this->em->getManager()->persist($EtabL);
  121.         $this->em->getManager()->flush();
  122.         return $EtabL;
  123.     }
  124.     public function updatUSER($id$nom$prenom$adresse$phone$password$statut null)
  125.     {
  126.         $user $this->em->getRepository(User::class)->find($id);
  127.         $refstatut $this->em->getRepository(Ref::class)->find($statut);
  128.         $user->setNom($nom);
  129.         $user->setPrenom($prenom);
  130.         $user->setAdresse($adresse);
  131.         $user->setNummobile($phone);
  132.         $user->setStatut($refstatut);
  133.         $user->setPasswordNonCripted($password);
  134.         $user->setPassword(
  135.             $this->passwordEncoder->hashPassword(
  136.                 $user,
  137.                 $password
  138.             )
  139.         );
  140.         $this->em->getManager()->persist($user);
  141.         $this->em->getManager()->flush();
  142.         return $user;
  143.     }
  144.     public function updatPassw($id$password)
  145.     {
  146.         $user $this->em->getRepository(User::class)->find($id);
  147.         $user->setPassword(
  148.             $this->passwordEncoder->hashPassword(
  149.                 $user,
  150.                 $password
  151.             )
  152.         );
  153.         $user->setPasswordNonCripted($password);
  154.         $this->em->getManager()->persist($user);
  155.         $this->em->getManager()->flush();
  156.         return $user;
  157.     }
  158.     function GenerateTokken($user)
  159.     {
  160.         $userHash hash("sha256"$user->getUsername() . $user->getId());
  161.         return $userHash;
  162.     }
  163.     function generateUrlNewPassword($user)
  164.     {
  165.         $directUrl $this->router->generate('directloginOM_token', array('token' => $user->getUsername(), 'userHash' => $this->GenerateTokken($user)), UrlGeneratorInterface::ABSOLUTE_URL);
  166.         return $directUrl;
  167.     }
  168.     function sendPasswordMail($email$url)
  169.     {
  170.         $message = (new \Swift_Message('Mot de passe oublié 5sur5sejour'))
  171.             ->setFrom("contact@5sur5sejour.com")
  172.             ->setTo($email);
  173.         //->setBcc(["contact@5sur5sejour.com"]);
  174.         $image1 $message->embed(Swift_Image::fromPath("http://res.cloudinary.com/apss-factory/image/upload/a_exif/v1582274063/qw7csxayektmq1leqjpp.png"));
  175.         $image2 $message->embed(Swift_Image::fromPath("http://res.cloudinary.com/apss-factory/image/upload/a_exif/v1582274055/ackjwfswxqtv4kuhethg.png"));
  176.         $iconloca $message->embed(Swift_Image::fromPath("https://res.cloudinary.com/apss-factory/image/upload/v1582719650/Groupe_420_uynuqz.png"));
  177.         $iconmsg $message->embed(Swift_Image::fromPath("https://res.cloudinary.com/apss-factory/image/upload/v1582719651/Groupe_418_wbyysk.png"));
  178.         $iconphoto $message->embed(Swift_Image::fromPath("https://res.cloudinary.com/apss-factory/image/upload/v1582719650/Groupe_419_pqx0dx.png"));
  179.         $iconfooter $message->embed(Swift_Image::fromPath("https://res.cloudinary.com/apss-factory/image/upload/v1582719651/Picto5sur5_rapbfy.png"));
  180.         $message->setBody(
  181.             $this->templating->render(
  182.                 // templates/emails/registration.html.twig
  183.                 'emails/newPass.html.twig',
  184.                 [
  185.                     'Url' => $url,
  186.                     "image1" => $image1,
  187.                     "image2" => $image2,
  188.                     "iconfooter" => $iconfooter,
  189.                     "iconphoto" => $iconphoto,
  190.                     "iconloca" => $iconloca,
  191.                     "iconmsg" => $iconmsg,
  192.                 ]
  193.             ),
  194.             'text/html'
  195.         );
  196.         $signMail $this->params->get('signMail');
  197.         if ($signMail == 'yes') {
  198.             $domainName $this->params->get('domaine');
  199.             $selector $this->params->get('selector');
  200.             $PrivateKey =  file_get_contents($this->params->get('pathDKIM'));
  201.             $signer = new \Swift_Signers_DKIMSigner($PrivateKey$domainName$selector);
  202.             $message->attachSigner($signer);
  203.         }
  204.         $x $this->mailer->send($message);
  205.         return $x;
  206.     }
  207.     function getUserAcc($id)
  208.     {
  209.         $user $this->em->getRepository(User::class)->find($id);
  210.         return $user;
  211.     }
  212.     function getUserAccALL()
  213.     {
  214.         $user $this->em->getRepository(User::class)->findByRole('ROLE_ACC');
  215.         return $user;
  216.     }
  217.     function getUserbyRole($role)
  218.     {
  219.         $user $this->em->getRepository(User::class)->findByRole($role);
  220.         return $user;
  221.     }
  222.     function affectationRole($userId$role)
  223.     {
  224.         $roles "[$role]";
  225.         $user $this->em->getRepository(User::class)->find($userId);
  226.         $user->setRoles($roles);
  227.         $this->em->getManager()->persist($user);
  228.         $this->em->getManager()->flush();
  229.         return $user;
  230.     }
  231.     function affectationStatut($userId$statutref)
  232.     {
  233.         $user $this->em->getRepository(User::class)->find($userId);
  234.         $statut $this->em->getRepository(Ref::class)->find($statutref);
  235.         $user->setStatut($statut);
  236.         $this->em->getManager()->persist($user);
  237.         $this->em->getManager()->flush();
  238.         return $user;
  239.     }
  240.     function EnvoyerEmailNewUser($user)
  241.     {
  242.         $RefEmail $this->em->getRepository(Ref::class)->find(20);
  243.         $Email $this->em->getRepository(Emailing::class)->findOneBy(array('typeemail' => $RefEmail));
  244.         $sendTo $user->getEmail();
  245.         $senduser $user;
  246.         $message = (new \Swift_Message('Bienvenue à 5sur5 séjour '))
  247.             ->setFrom('contact@5sur5sejour.com')
  248.             ->setTo($sendTo);
  249.         //->setBcc(["contact@5sur5sejour.com"]);
  250.         $pathImage2 $Email->getIdImage2()->getPath();
  251.         $pathImage1 $Email->getIdImage1()->getPath();
  252.         $image1 $message->embed(Swift_Image::fromPath("$pathImage1"));
  253.         $image2 $message->embed(Swift_Image::fromPath("$pathImage2"));
  254.         $iconphoto $message->embed(Swift_Image::fromPath("https://res.cloudinary.com/apss-factory/image/upload/v1582719650/Groupe_419_pqx0dx.png"));
  255.         $iconloca $message->embed(Swift_Image::fromPath("https://res.cloudinary.com/apss-factory/image/upload/v1582719650/Groupe_420_uynuqz.png"));
  256.         $iconmsg $message->embed(Swift_Image::fromPath("https://res.cloudinary.com/apss-factory/image/upload/v1582719651/Groupe_418_wbyysk.png"));
  257.         $iconfooter $message->embed(Swift_Image::fromPath("https://res.cloudinary.com/apss-factory/image/upload/v1582719651/Picto5sur5_rapbfy.png"));
  258.         $message->setBody(
  259.             $this->templating->render(
  260.                 'emails/DemandeCreationUser.html.twig',
  261.                 [
  262.                     "Nomdestinataire" => $user->getNom(),
  263.                     "Predestinataire" => $user->getPrenom(),
  264.                     "image1" => $image1,
  265.                     "image2" => $image2,
  266.                     "iconfooter" => $iconfooter,
  267.                     "iconphoto" => $iconphoto,
  268.                     "iconloca" => $iconloca,
  269.                     "iconmsg" => $iconmsg,
  270.                     "identifiant" => $sendTo,
  271.                     "senduser" => $senduser,
  272.                     "roles" => $user->getRoles()
  273.                 ]
  274.             ),
  275.             'text/html'
  276.         );
  277.         $signMail $this->params->get('signMail');
  278.         if ($signMail == 'yes') {
  279.             $domainName $this->params->get('domaine');
  280.             $selector $this->params->get('selector');
  281.             $PrivateKey =  file_get_contents($this->params->get('pathDKIM'));
  282.             $signer = new \Swift_Signers_DKIMSigner($PrivateKey$domainName$selector);
  283.             $message->attachSigner($signer);
  284.         }
  285.         try {
  286.             $this->mailer->send($message);
  287.         } catch (\Swift_SwiftException $ex) {
  288.             $ex->getMessage();
  289.         }
  290.     }
  291.     function EnvoyerEmailAlbumUser($user)
  292.     {
  293.         $RefEmail $this->em->getRepository(Ref::class)->find(20);
  294.         $Email $this->em->getRepository(Emailing::class)->findOneBy(array('typeemail' => $RefEmail));
  295.         $sendTo $user->getEmail();
  296.         $senduser $user;
  297.         $message = (new \Swift_Message(" Immortalisez les souvenirs inoubliables du séjour de votre enfant !"))
  298.             ->setFrom('contact@5sur5sejour.com')
  299.             ->setTo($sendTo);
  300.         //->setBcc(["contact@5sur5sejour.com"]);
  301.         $pathImage2 $Email->getIdImage2()->getPath();
  302.         $pathImage1 $Email->getIdImage1()->getPath();
  303.         $image1 $message->embed(Swift_Image::fromPath("$pathImage1"));
  304.         $image2 $message->embed(Swift_Image::fromPath("$pathImage2"));
  305.         $iconphoto $message->embed(Swift_Image::fromPath("https://res.cloudinary.com/apss-factory/image/upload/v1582719650/Groupe_419_pqx0dx.png"));
  306.         $iconloca $message->embed(Swift_Image::fromPath("https://res.cloudinary.com/apss-factory/image/upload/v1582719650/Groupe_420_uynuqz.png"));
  307.         $iconmsg $message->embed(Swift_Image::fromPath("https://res.cloudinary.com/apss-factory/image/upload/v1582719651/Groupe_418_wbyysk.png"));
  308.         $iconfooter $message->embed(Swift_Image::fromPath("https://res.cloudinary.com/apss-factory/image/upload/v1582719651/Picto5sur5_rapbfy.png"));
  309.         $message->setBody(
  310.             $this->templating->render(
  311.                 'emails/Album_Sej_Notif.html.twig',
  312.                 [
  313.                     "nom" => $user->getNom(),
  314.                     "prenom" => $user->getPrenom(),
  315.                     "image1" => $image1,
  316.                     "image2" => $image2,
  317.                     "iconfooter" => $iconfooter,
  318.                     "iconphoto" => $iconphoto,
  319.                     "iconloca" => $iconloca,
  320.                     "iconmsg" => $iconmsg,
  321.                     'imggarcon' => $iconmsg,
  322.                     "identifiant" => $sendTo,
  323.                     "senduser" => $senduser,
  324.                     "roles" => $user->getRoles()
  325.                 ]
  326.             ),
  327.             'text/html'
  328.         );
  329.         $signMail $this->params->get('signMail');
  330.         if ($signMail == 'yes') {
  331.             $domainName $this->params->get('domaine');
  332.             $selector $this->params->get('selector');
  333.             $PrivateKey =  file_get_contents($this->params->get('pathDKIM'));
  334.             $signer = new \Swift_Signers_DKIMSigner($PrivateKey$domainName$selector);
  335.             $message->attachSigner($signer);
  336.         }
  337.         try {
  338.             $this->mailer->send($message);
  339.         } catch (\Swift_SwiftException $ex) {
  340.             $ex->getMessage();
  341.         }
  342.     }
  343.     function setadresslivraison($num$rue$ville$pays$codepostal$iduser$prenom$nom$organism$prenomfacturation$nomfacturation$organismfacturation$numfacturation$ruefacturation$villefacturation$paysfacturation$codepostalfacturation$usernomAcommpa$userprenomAcommpa$userfonctionAcommpa$useretablismentAcommpa$useremailcommpa$sejourthem$adresssejour$id)
  344.     {
  345.         $user $this->em->getRepository(User::class)->find($iduser);
  346.         $sejour $this->em->getRepository(Sejour::class)->find($id);
  347.         $Adress = new Adress;
  348.         $Adress->setNumadress($num);
  349.         $Adress->setRuevoi($rue);
  350.         $Adress->setCodepostal($codepostal);
  351.         $Adress->setVille($ville);
  352.         $Adress->setPays($pays);
  353.         $Adress->setOrganism($organism);
  354.         $Adress->setNomadrres($nom);
  355.         $Adress->setPrenomadress($prenom);
  356.         $Adress->settype('livraison');
  357.         $this->em->getManager()->persist($Adress);
  358.         $this->em->getManager()->flush();
  359.         $user->setadresslivraison($Adress);
  360.         $AdressFacturation = new Adress;
  361.         $AdressFacturation->setNumadress($numfacturation);
  362.         $AdressFacturation->setRuevoi($ruefacturation);
  363.         $AdressFacturation->setCodepostal($codepostalfacturation);
  364.         $AdressFacturation->setVille($villefacturation);
  365.         $AdressFacturation->setPays($paysfacturation);
  366.         $AdressFacturation->setOrganism($organismfacturation);
  367.         $AdressFacturation->setNomadrres($nomfacturation);
  368.         $AdressFacturation->setPrenomadress($prenomfacturation);
  369.         $AdressFacturation->settype('Facturation');
  370.         $this->em->getManager()->persist($AdressFacturation);
  371.         $this->em->getManager()->flush();
  372.         $user->setAdressfactoration($AdressFacturation);
  373.         $user->setNom($usernomAcommpa);
  374.         $user->setPrenom($userprenomAcommpa);
  375.         $user->setEmail(trim($useremailcommpa));
  376.         $user->setFonction($userfonctionAcommpa);
  377.         $user->setEtablisment($useretablismentAcommpa);
  378.         $this->em->getManager()->persist($user);
  379.         $this->em->getManager()->flush();
  380.         $sejour->setThemSejour($sejourthem);
  381.         $sejour->setAdresseSejour($adresssejour);
  382.         $this->em->getManager()->persist($sejour);
  383.         $this->em->getManager()->flush();
  384.         return $user;
  385.     }
  386.     function setadressfacturation($nom$rue$ville$pays$codepostal$iduser)
  387.     {
  388.         $user $this->em->getRepository(User::class)->find($iduser);
  389.         $Adress = new Adress;
  390.         $Adress->setNumadress($nom);
  391.         $Adress->setRuevoi($rue);
  392.         $Adress->setCodepostal($codepostal);
  393.         $Adress->setVille($ville);
  394.         $Adress->setPays($pays);
  395.         $Adress->settype('facturation');
  396.         $this->em->getManager()->persist($Adress);
  397.         $this->em->getManager()->flush();
  398.         $user->setadresslivraison($Adress);
  399.         return $user;
  400.     }
  401.     function setDescriptionAttch($id$decription)
  402.     {
  403.         $attachment $this->em->getRepository(Attachment::class)->find($id);
  404.         $attachment->setDescreption($decription);
  405.         $this->em->getManager()->persist($attachment);
  406.         $this->em->getManager()->flush();
  407.         return $attachment;
  408.     }
  409.     function DelDescriptionAttch($id)
  410.     {
  411.         $attachment $this->em->getRepository(Attachment::class)->find($id);
  412.         $attachment->setDescreption(null);
  413.         $this->em->getManager()->persist($attachment);
  414.         $this->em->getManager()->flush();
  415.         return $attachment;
  416.     }
  417.     function supprimaudio($id)
  418.     {
  419.         $attachment $this->em->getRepository(Attachment::class)->find($id);
  420.         $sejattachment $this->em->getRepository(SejourAttachment::class)->findBy(array('idAttchment' => $attachment));
  421.         foreach ($sejattachment as $sejar) {
  422.             $this->em->getManager()->remove($sejar);
  423.             $this->em->getManager()->flush();
  424.         }
  425.         $this->em->getManager()->remove($attachment);
  426.         $this->em->getManager()->flush();
  427.         return ("done");
  428.     }
  429.     public function ajouterdatesejourdescription($id$description$datedescription)
  430.     {
  431.         $sejour $this->em->getRepository(Sejour::class)->find($id);
  432.         $Jourdescripdate = new Jourdescripdate();
  433.         // $datedescription is now a string like "02/05/2025"
  434.         $dat date_create_from_format('m/d/Y'$datedescription);
  435.         $Jourdescripdate->setDatejourphoto($dat);
  436.         $Jourdescripdate->setDescription($description);
  437.         $Jourdescripdate->setIdIdsejour($sejour);
  438.         $this->em->getManager()->persist($Jourdescripdate);
  439.         $this->em->getManager()->flush();
  440.         return $Jourdescripdate;
  441.     }
  442.     function supprimdescription($iddescription)
  443.     {
  444.         $Jourdescripdate $this->em->getRepository(Jourdescripdate::class)->find($iddescription);
  445.         $this->em->getManager()->remove($Jourdescripdate);
  446.         $this->em->getManager()->flush();
  447.         return $Jourdescripdate;
  448.     }
  449.     function activationmail($idparent)
  450.     {
  451.         $user $this->em->getRepository(User::class)->find($idparent);
  452.         $user->setActivatemail(1);
  453.         $this->em->getManager()->persist($user);
  454.         $this->em->getManager()->flush();
  455.         return $user;
  456.     }
  457.     function modificationdescription($iddescription$description)
  458.     {
  459.         $Jourdescripdate $this->em->getRepository(Jourdescripdate::class)->find($iddescription);
  460.         //dd($iddescription);
  461.         $Jourdescripdate->setDescription($description);
  462.         $this->em->getManager()->persist($Jourdescripdate);
  463.         $this->em->getManager()->flush();
  464.         return $Jourdescripdate;
  465.     }
  466.     function creationNewParent($nom$prenom$mailparent$numtel$role$passwordparent$notifsms$notifmail)
  467.     {
  468.         ini_set("max_execution_time", -1);
  469.         ini_set('memory_limit''-1');
  470.         $user = new User();
  471.         $user->setNom($nom);
  472.         $user->setPrenom($prenom);
  473.         $user->setUsername($mailparent);
  474.         $user->setSmsnotif($notifsms);
  475.         $user->setMailnotif($notifmail);
  476.         $user->setShowpubprod(true);
  477.         // $user->setUsername($identifiant);
  478.         $user->setNummobile($numtel);
  479.         $user->setEmail(trim($mailparent));
  480.         $user->setDateCreation(new \DateTime());
  481.         $user->addRole($role);
  482.         $user->setPassword(
  483.             $this->passwordEncoder->hashPassword(
  484.                 $user,
  485.                 $passwordparent
  486.             )
  487.         );
  488.         $this->em->getManager()->persist($user);
  489.         $this->em->getManager()->flush();
  490.         //$ParentSejour = new ParentSejour();
  491.         //$ParentSejour->setIdParent($user);
  492.         //$ParentSejour->setDateCreation(new \DateTime());
  493.         // $this->em->getManager()->persist($ParentSejour);
  494.         //$this->em->getManager()->flush();
  495.         $this->EnvoyerEmailNewParent($user);
  496.         $this->EnvoyerEmailNewParentActivation($user);
  497.         return $user;
  498.     }
  499.     function EnvoyerEmailNewParentActivation($user)
  500.     {
  501.         $message = (new \Swift_Message('activation compte '))
  502.             ->setFrom("contact@5sur5sejour.com")
  503.             ->setTo(trim($user->getEmail()));
  504.         $image1 $message->embed(Swift_Image::fromPath("http://res.cloudinary.com/apss-factory/image/upload/a_exif/v1582274063/qw7csxayektmq1leqjpp.png"));
  505.         $image2 $message->embed(Swift_Image::fromPath("http://res.cloudinary.com/apss-factory/image/upload/a_exif/v1582274055/ackjwfswxqtv4kuhethg.png"));
  506.         $iconfooter $message->embed(Swift_Image::fromPath("https://res.cloudinary.com/apss-factory/image/upload/v1582719651/Picto5sur5_rapbfy.png"));
  507.         $message->setBody(
  508.             $this->templating->render(
  509.                 // templates/emails/registration.html.twig
  510.                 'emails/Activatiocompte.html.twig',
  511.                 [
  512.                     "accompagnateur" => $user,
  513.                     "image1" => $image1,
  514.                     "image2" => $image2,
  515.                     "iconfooter" => $iconfooter,
  516.                 ]
  517.             ),
  518.             'text/html'
  519.         );
  520.         $signMail $this->params->get('signMail');
  521.         if ($signMail == 'yes') {
  522.             $domainName $this->params->get('domaine');
  523.             $selector $this->params->get('selector');
  524.             $PrivateKey =  file_get_contents($this->params->get('pathDKIM'));
  525.             $signer = new \Swift_Signers_DKIMSigner($PrivateKey$domainName$selector);
  526.             $message->attachSigner($signer);
  527.         }
  528.         $x $this->mailer->send($message);
  529.         return $x;
  530.     }
  531.     function EnvoyerEmailAcommpatActivationNewMail($sejour$accomp)
  532.     {
  533.         $sendTo $accomp->getReponseemail();
  534.         $codeSej $sejour->getCodesejour();
  535.         var_dump($accomp->getReponseemail());
  536.         $loginUrl  "5sur5sejour.com";
  537.         if ($accomp != null) {
  538.             $loginUrl $this->emailsCmdService->requestLoginLink($accomp);
  539.         }
  540.         $extra = [
  541.             "identifiant" => $sendTo,
  542.             "codeSejour" => $codeSej,
  543.             "senduser" => $accomp,
  544.             "nom" => $accomp->getNom(),
  545.             "prenom" => $accomp->getPrenom(),
  546.             "loginLink" => $loginUrl
  547.         ];
  548.         $this->emailsCmdService->sendMail(
  549.             $sendTo,
  550.             "Activation de votre compte sur 5sur5sejour",
  551.             'Activatiocompteaccompa',
  552.             $extra
  553.         );
  554.         var_dump("mail envoyé à -----");
  555.         var_dump($accomp->getEmail());
  556.     }
  557.     function EnvoyerEmailSwiftAcommpatActivation($sejour$accom)
  558.     {
  559.         $nom $accom->getNom();
  560.         $prenom $accom->getPrenom();
  561.         $codeSejour $sejour->getCodesejour();
  562.         
  563.         $extraData = [
  564.             "accompagnateur" => $sejour->getIdAcommp(),
  565.             "sejour" => $sejour,
  566.             "codeSejour" => $codeSejour,
  567.             'nom' => $nom,
  568.             'prenom' => $prenom,
  569.         ];
  570.         $x $this->emailsCmdService->sendMail(
  571.             $sejour->getIdAcommp()->getReponseemail(),
  572.             "Activation de votre compte",
  573.             'ActivatiocteaccompaSwift',
  574.             $extraData
  575.         );
  576.         return $x;
  577.     }
  578.     function EnvoyerEmailNewParent($user)
  579.     {
  580.         $RefEmail $this->em->getRepository(Ref::class)->find(26);
  581.         $Email $this->em->getRepository(Emailing::class)->findOneBy(array('typeemail' => $RefEmail'statut' => 9));
  582.         $sendTo $user->getEmail();
  583.         $message = (new \Swift_Message('Création de votre compte parent 5sur5sejour'))
  584.             ->setFrom('contact@5sur5sejour.com')
  585.             ->setTo($sendTo);
  586.         //->setBcc(["contact@5sur5sejour.com"]);
  587.         $pathImage2 $Email->getIdImage2()->getPath();
  588.         $pathImage1 $Email->getIdImage1()->getPath();
  589.         $image1 $message->embed(Swift_Image::fromPath("$pathImage1"));
  590.         $image2 $message->embed(Swift_Image::fromPath("$pathImage2"));
  591.         $iconphoto $message->embed(Swift_Image::fromPath("https://res.cloudinary.com/apss-factory/image/upload/v1582719650/Groupe_419_pqx0dx.png"));
  592.         $iconloca $message->embed(Swift_Image::fromPath("https://res.cloudinary.com/apss-factory/image/upload/v1582719650/Groupe_420_uynuqz.png"));
  593.         $iconmsg $message->embed(Swift_Image::fromPath("https://res.cloudinary.com/apss-factory/image/upload/v1582719651/Groupe_418_wbyysk.png"));
  594.         $iconfooter $message->embed(Swift_Image::fromPath("https://res.cloudinary.com/apss-factory/image/upload/v1582719651/Picto5sur5_rapbfy.png"));
  595.         $imggarcon $message->embed(Swift_Image::fromPath("https://res.cloudinary.com/apss-factory/image/upload/v1582558737/shutterstock_13123054_ghafyg.png"));
  596.         $message->setBody(
  597.             $this->templating->render(
  598.                 'emails/Inscriptionparent.html.twig',
  599.                 [
  600.                     "Nomdestinataire" => $user->getNom(),
  601.                     "Predestinataire" => $user->getPrenom(),
  602.                     "image1" => $image1,
  603.                     "image2" => $image2,
  604.                     "iconfooter" => $iconfooter,
  605.                     "iconphoto" => $iconphoto,
  606.                     "iconloca" => $iconloca,
  607.                     "iconmsg" => $iconmsg,
  608.                     "imggarcon" => $imggarcon,
  609.                     "identifiant" => $sendTo,
  610.                     'accompagnateur' => $user
  611.                 ]
  612.             ),
  613.             'text/html'
  614.         );
  615.         $signMail $this->params->get('signMail');
  616.         if ($signMail == 'yes') {
  617.             $domainName $this->params->get('domaine');
  618.             $selector $this->params->get('selector');
  619.             $PrivateKey =  file_get_contents($this->params->get('pathDKIM'));
  620.             $signer = new \Swift_Signers_DKIMSigner($PrivateKey$domainName$selector);
  621.             $message->attachSigner($signer);
  622.         }
  623.         try {
  624.             $this->mailer->send($message);
  625.         } catch (\Swift_SwiftException $ex) {
  626.             $ex->getMessage();
  627.         }
  628.     }
  629.     function verifmailold($mail)
  630.     {
  631.         $user $this->em->getRepository(User::class)->findOneBy(array('email' => $mail));
  632.         return $user;
  633.     }
  634.     function notifparentsejour($mail$sms$idSejour$iduser$refaverti)
  635.     {
  636.         // $user = $this->em->getRepository(User::class)->find($iduser);
  637.         // $sejour = $this->em->getRepository(Sejour::class)->find($idSejour);
  638.         $user $this->em->getRepository(User::class)->findOneBy(['id' => $iduser]);
  639.         $user->setSmsnotif($sms);
  640.         $user->setMailnotif($mail);
  641.         $this->em->getManager()->persist($user);
  642.         $parentsejour $this->em->getRepository(ParentSejour::class)->findBy(['idParent' => $user]);
  643.         foreach ($parentsejour as $sejr) {
  644.             $sejr->setSmsnotif($sms);
  645.             if (strpos($sejr->getIdSejour()->getCodeSejour(), "EF") !== false) {
  646.                 $sejr->setSmsnotif(0);
  647.             }
  648.             $sejr->setMailnotif($mail);
  649.             $this->em->getManager()->persist($sejr);
  650.         }
  651.         $this->em->getManager()->flush();
  652.         return $user;
  653.     }
  654.     function sendmailuserforfirstattach($sejId)
  655.     {
  656.         $liste = [];
  657.         $parentsejour $this->em->getRepository(ParentSejour::class)->findBy(array('idSejour' => $sejId'mailnotif' => 1));
  658.         $RefEmail $this->em->getRepository(Ref::class)->find(27);
  659.         $Email $this->em->getRepository(Emailing::class)->findOneBy(array('typeemail' => $RefEmail'statut' => 9));
  660.         foreach ($parentsejour as $parent) {
  661.             // $liste = $e->getName();
  662.             //$user = $this->em->getRepository(User::class)->find($parent->getIdParent());
  663.             array_push($liste$parent->getIdParent()->getEmail());
  664.             $sendTo $parent->getIdParent()->getEmail();
  665.             $message = (new \Swift_Message('Nouveau dépôt'))
  666.                 ->setFrom('contact@5sur5sejour.com')
  667.                 ->setTo($sendTo);
  668.             //->setBcc(["contact@5sur5sejour.com"]);
  669.             $pathImage2 $Email->getIdImage2()->getPath();
  670.             $pathImage1 $Email->getIdImage1()->getPath();
  671.             $image1 $message->embed(Swift_Image::fromPath("$pathImage1"));
  672.             $image2 $message->embed(Swift_Image::fromPath("$pathImage2"));
  673.             $iconphoto $message->embed(Swift_Image::fromPath("https://res.cloudinary.com/apss-factory/image/upload/v1582719650/Groupe_419_pqx0dx.png"));
  674.             $iconloca $message->embed(Swift_Image::fromPath("https://res.cloudinary.com/apss-factory/image/upload/v1582719650/Groupe_420_uynuqz.png"));
  675.             $iconmsg $message->embed(Swift_Image::fromPath("https://res.cloudinary.com/apss-factory/image/upload/v1582719651/Groupe_418_wbyysk.png"));
  676.             $iconfooter $message->embed(Swift_Image::fromPath("https://res.cloudinary.com/apss-factory/image/upload/v1582719651/Picto5sur5_rapbfy.png"));
  677.             $message->setBody(
  678.                 $this->templating->render(
  679.                     'emails/MailAChaqueDepot.html.twig',
  680.                     [
  681.                         "image1" => $image1,
  682.                         "image2" => $image2,
  683.                         "iconfooter" => $iconfooter,
  684.                         "iconphoto" => $iconphoto,
  685.                         "iconloca" => $iconloca,
  686.                         "iconmsg" => $iconmsg,
  687.                     ]
  688.                 ),
  689.                 'text/html'
  690.             );
  691.             $signMail $this->params->get('signMail');
  692.             if ($signMail == 'yes') {
  693.                 $domainName $this->params->get('domaine');
  694.                 $selector $this->params->get('selector');
  695.                 $PrivateKey =  file_get_contents($this->params->get('pathDKIM'));
  696.                 $signer = new \Swift_Signers_DKIMSigner($PrivateKey$domainName$selector);
  697.                 $message->attachSigner($signer);
  698.             }
  699.             try {
  700.                 $this->mailer->send($message);
  701.             } catch (\Swift_SwiftException $ex) {
  702.                 $ex->getMessage();
  703.             }
  704.         }
  705.         return $liste;
  706.     }
  707.     function listeEtablissement()
  708.     {
  709.         $liste $this->em->getRepository(Etablisment::class)->findByRole('ROLE_PARTENAIRE');
  710.         return $liste;
  711.     }
  712.     function listePartenaire()
  713.     {
  714.         $liste $this->em->getRepository(User::class)->findByRole('ROLE_PARTENAIRE');
  715.         return $liste;
  716.     }
  717.     function addtoPanier($id)
  718.     {
  719.         $panier $this->session->get('Panier');
  720.         if ($panier == null) {
  721.             $panier = [];
  722.         }
  723.         $panier[] = $id;
  724.         $this->session->set('Panier'$panier);
  725.         return $panier;
  726.     }
  727.     function GetListePanier($id)
  728.     {
  729.         $panier $this->session->get('Panier');
  730.         $MonPanier $this->em->getRepository(Produit::class)->findBy(array('id' => $panier), array('id' => 'DESC'));
  731.         return $MonPanier;
  732.     }
  733.     function condition($id)
  734.     {
  735.         $sejour $this->em->getRepository(Sejour::class)->find($id);
  736.         $sejour->setCd(1);
  737.         $this->em->getManager()->persist($sejour);
  738.         $this->em->getManager()->flush();
  739.         return $sejour;
  740.     }
  741.     function getidlistePartenaire($id)
  742.     {
  743.         $user $this->em->getRepository(User::class)->find($id);
  744.         return $user;
  745.     }
  746.     function creationCompteP($nomP$prenomP$identifiantP$phoneP$emailP$roleP$infoComplementaireP$CompteBancaire$userS$password)
  747.     {
  748.         $user = new User();
  749.         $user->setNom($nomP);
  750.         $user->setPrenom($prenomP);
  751.         $user->setUsername($identifiantP);
  752.         $user->setNummobile($phoneP);
  753.         $user->setEmail(trim($emailP));
  754.         $user->setRoles($roleP);
  755.         $user->setInfocomple($infoComplementaireP);
  756.         $user->setComptebanque($CompteBancaire);
  757.         $user->setUsersecondaire($userS);
  758.         $password $this->genererPassword(10);
  759.         $user->setPasswordNonCripted($password);
  760.         $user->setPassword(
  761.             $this->passwordEncoder->hashPassword(
  762.                 $user,
  763.                 $password
  764.             )
  765.         );
  766.         $this->em->getManager()->persist($user);
  767.         $this->em->getManager()->flush();
  768.         return $user;
  769.     }
  770.     function creationComptePrincipale($nomP$prenomP$identifiantP$phoneP$emailP$roleP$infoComplementaireP$CompteBancaire$password)
  771.     {
  772.         // Compte Principale
  773.         $user = new User();
  774.         $user->setNom($nomP);
  775.         $user->setPrenom($prenomP);
  776.         $user->setUsername($identifiantP);
  777.         $user->setNummobile($phoneP);
  778.         $user->setEmail(trim($emailP));
  779.         $user->setRoles($roleP);
  780.         $user->setInfocomple($infoComplementaireP);
  781.         $user->setComptebanque($CompteBancaire);
  782.         $password $this->genererPassword(10);
  783.         $user->setPasswordNonCripted($password);
  784.         $user->setPassword(
  785.             $this->passwordEncoder->hashPassword(
  786.                 $user,
  787.                 $password
  788.             )
  789.         );
  790.         $this->em->getManager()->persist($user);
  791.         $this->em->getManager()->flush();
  792.         return $user;
  793.     }
  794.     function creationComptePrinc($nomP$prenomP$identifiantP$phoneP$emailP$roleP$infoComplementaireP$password)
  795.     {
  796.         // Compte Principale
  797.         $user = new User();
  798.         $user->setNom($nomP);
  799.         $user->setPrenom($prenomP);
  800.         $user->setUsername($identifiantP);
  801.         $user->setNummobile($phoneP);
  802.         $user->setEmail(trim($emailP));
  803.         $user->setRoles($roleP);
  804.         $user->setInfocomple($infoComplementaireP);
  805.         $password $this->genererPassword(10);
  806.         $user->setPasswordNonCripted($password);
  807.         $user->setPassword(
  808.             $this->passwordEncoder->hashPassword(
  809.                 $user,
  810.                 $password
  811.             )
  812.         );
  813.         $this->em->getManager()->persist($user);
  814.         $this->em->getManager()->flush();
  815.         return $user;
  816.     }
  817.     function creationCompteUSERP($nomP$prenomP$identifiantP$phoneP$emailP$roleP$userS$infoComplementaireP$password)
  818.     {
  819.         // Compte Principale
  820.         $user = new User();
  821.         $user->setNom($nomP);
  822.         $user->setPrenom($prenomP);
  823.         $user->setUsername($identifiantP);
  824.         $user->setNummobile($phoneP);
  825.         $user->setEmail(trim($emailP));
  826.         $user->setRoles($roleP);
  827.         $user->setUsersecondaire($userS);
  828.         $user->setInfocomple($infoComplementaireP);
  829.         $password $this->genererPassword(10);
  830.         $user->setPasswordNonCripted($password);
  831.         $user->setPassword(
  832.             $this->passwordEncoder->hashPassword(
  833.                 $user,
  834.                 $password
  835.             )
  836.         );
  837.         $this->em->getManager()->persist($user);
  838.         $this->em->getManager()->flush();
  839.         return $user;
  840.     }
  841.     function USERP($id$userS)
  842.     {
  843.         // Compte Principale
  844.         $user $this->em->getRepository(User::class)->find($id);
  845.         $user->setUsersecondaire($userS);
  846.         $this->em->getManager()->persist($user);
  847.         $this->em->getManager()->flush();
  848.         return $user;
  849.     }
  850.     function creationCompteS($nomS$prenomS$identifiantS$phoneS$emailS$infoComplementaireS$roleS$password)
  851.     {
  852.         $user = new User();
  853.         $user->setNom($nomS);
  854.         $user->setPrenom($prenomS);
  855.         $user->setUsername($identifiantS);
  856.         $user->setNummobile($phoneS);
  857.         $user->setEmail(trim($emailS));
  858.         $user->setInfocomple($infoComplementaireS);
  859.         $user->setRoles($roleS);
  860.         $user->setPassword(
  861.             $this->passwordEncoder->hashPassword(
  862.                 $user,
  863.                 $password
  864.             )
  865.         );
  866.         $this->em->getManager()->persist($user);
  867.         $this->em->getManager()->flush();
  868.         return $user;
  869.     }
  870.     function creationCompteBancaire($codebnaque$codeguichet$numcompt$clerib$iban$codebic$nom$domicilation)
  871.     {
  872.         // Compte Bancaire
  873.         $comptebancaire = new Comptebancaire();
  874.         $comptebancaire->setCodebnaque($codebnaque);
  875.         $comptebancaire->setCodeguichet($codeguichet);
  876.         $comptebancaire->setNumcompt($numcompt);
  877.         $comptebancaire->setClerib($clerib);
  878.         $comptebancaire->setIban($iban);
  879.         $comptebancaire->setCodebic($codebic);
  880.         $comptebancaire->setNom($nom);
  881.         $comptebancaire->setDomicilation($domicilation);
  882.         $this->em->getManager()->persist($comptebancaire);
  883.         $this->em->getManager()->flush();
  884.         return $comptebancaire;
  885.     }
  886.     function USERPP($id$comptebancaire)
  887.     {
  888.         // Compte Principale
  889.         $user $this->em->getRepository(User::class)->find($id);
  890.         $user->setComptebanque($comptebancaire);
  891.         $this->em->getManager()->persist($user);
  892.         $this->em->getManager()->flush();
  893.         return $user;
  894.     }
  895.     public function ModifcompteBancaire($id$codebnaque$codeguichet$numcompt$clerib$iban$codebic$nom$domicilation)
  896.     {
  897.         $comptebancaire $this->em->getRepository(Comptebancaire::class)->find($id);
  898.         if ($comptebancaire == null) {
  899.             $comptebancaire = new Comptebancaire();
  900.         }
  901.         $comptebancaire->setCodebnaque($codebnaque);
  902.         $comptebancaire->setCodeguichet($codeguichet);
  903.         $comptebancaire->setNumcompt($numcompt);
  904.         $comptebancaire->setClerib($clerib);
  905.         $comptebancaire->setIban($iban);
  906.         $comptebancaire->setCodebic($codebic);
  907.         $comptebancaire->setNom($nom);
  908.         $comptebancaire->setDomicilation($domicilation);
  909.         $this->em->getManager()->persist($comptebancaire);
  910.         $this->em->getManager()->flush();
  911.         return $comptebancaire;
  912.     }
  913.     public function updatepartenaireP($id$nomP$prenomP$identifiantP$phoneP$emailP$infoComplementaireP$roleP$usersecon)
  914.     {
  915.         $user $this->em->getRepository(User::class)->find($id);
  916.         $envoiMailEmailModifier true;
  917.         if ($emailP != $user->getEmail()) {
  918.             $envoiMailEmailModifier true;
  919.         }
  920.         $user->setNom($nomP);
  921.         $user->setPrenom($prenomP);
  922.         $user->setUsername($identifiantP);
  923.         $user->setNummobile($phoneP);
  924.         $user->setEmail(trim($emailP));
  925.         $user->setInfocomple($infoComplementaireP);
  926.         $user->setRoles($roleP);
  927.         if ($usersecon) {
  928.             $user->setUsersecondaire($usersecon);
  929.         }
  930.         $this->em->getManager()->persist($user);
  931.         $this->em->getManager()->flush();
  932.         if ($envoiMailEmailModifier) {
  933.             $this->EnvoyerEmailComptePartenaireModifier($user);
  934.         }
  935.         return $user;
  936.     }
  937.     function EnvoyerEmailComptePartenaireModifier($user)
  938.     {
  939.         $logo '';
  940.         $nom '';
  941.         if ($user->hasRole('ROLE_PARTENAIRE')) {
  942.             $logo $user->getLogourl();
  943.             $nom $user->getNometablisment();
  944.         }
  945.         $RefEmail $this->em->getRepository(Ref::class)->find(21);
  946.         $Email $this->em->getRepository(Emailing::class)->findOneBy(array('typeemail' => $RefEmail'statut' => 9));
  947.         $message = (new \Swift_Message('Bienvenue à 5sur5 séjour '))
  948.             ->setFrom('partenariat-contact@5sur5sejour.com')
  949.             ->setTo($user->getEmail());
  950.         //->setBcc(["contact@5sur5sejour.com"]);
  951.         $pathImage2 $Email->getIdImage2()->getPath();
  952.         $pathImage1 $Email->getIdImage1()->getPath();
  953.         $image1 $message->embed(Swift_Image::fromPath("$pathImage1"));
  954.         $image2 $message->embed(Swift_Image::fromPath("$pathImage2"));
  955.         $iconmsg $message->embed(Swift_Image::fromPath("https://res.cloudinary.com/apss-factory/image/upload/v1582719651/Groupe_418_wbyysk.png"));
  956.         $iconfooter $message->embed(Swift_Image::fromPath("https://res.cloudinary.com/apss-factory/image/upload/v1582719651/Picto5sur5_rapbfy.png"));
  957.         $icon2 $message->embed(Swift_Image::fromPath("https://res.cloudinary.com/apss-factory/image/upload/v1582719650/Groupe_420_uynuqz.png"));
  958.         $icon3 $message->embed(Swift_Image::fromPath("https://res.cloudinary.com/apss-factory/image/upload/v1582719650/Groupe_419_pqx0dx.png"));
  959.         $message->setBody(
  960.             $this->templating->render(
  961.                 'emails/ComptePartenaireModifier.html.twig',
  962.                 [
  963.                     "user" => $user,
  964.                     "image1" => $image1,
  965.                     "image2" => $image2,
  966.                     "icon2" => $icon2,
  967.                     "icon3" => $icon3,
  968.                     "iconfooter" => $iconfooter,
  969.                     "iconmsg" => $iconmsg,
  970.                     'logo' => $logo,
  971.                     'nom' => $nom,
  972.                 ]
  973.             ),
  974.             'text/html'
  975.         );
  976.         $signMail $this->params->get('signMail');
  977.         if ($signMail == 'yes') {
  978.             $domainName $this->params->get('domaine');
  979.             $selector $this->params->get('selector');
  980.             $PrivateKey =  file_get_contents($this->params->get('pathDKIM'));
  981.             $signer = new \Swift_Signers_DKIMSigner($PrivateKey$domainName$selector);
  982.             $message->attachSigner($signer);
  983.         }
  984.         try {
  985.             $this->mailer->send($message);
  986.         } catch (\Swift_SwiftException $ex) {
  987.             $ex->getMessage();
  988.         }
  989.     }
  990.     public function updatepartenairePrinc($id$nomP$prenomP$identifiantP$phoneP$emailP$infoComplementaireP$roleP)
  991.     {
  992.         $user $this->em->getRepository(User::class)->find($id);
  993.         $envoiMailEmailModifier true;
  994.         if ($emailP != $user->getEmail()) {
  995.             $envoiMailEmailModifier true;
  996.         }
  997.         $user->setNom($nomP);
  998.         $user->setPrenom($prenomP);
  999.         $user->setUsername($identifiantP);
  1000.         $user->setNummobile($phoneP);
  1001.         $user->setEmail(trim($emailP));
  1002.         $user->setInfocomple($infoComplementaireP);
  1003.         $user->setRoles($roleP);
  1004.         $this->em->getManager()->persist($user);
  1005.         $this->em->getManager()->flush();
  1006.         if ($envoiMailEmailModifier) {
  1007.             $this->EnvoyerEmailComptePartenaireModifier($user);
  1008.         }
  1009.         return $user;
  1010.     }
  1011.     public function updatepartenaireS($user$nomS$prenomS$identifiantS$phoneS$emailS$infoComplementaireS$roleS)
  1012.     {
  1013.         if ($user) {
  1014.             //$user = $this->em->getRepository(User::class)->find($id);
  1015.             //$idusersecondaire= $user->getUsersecondaire();
  1016.             //$user = $this->em->getRepository(User::class)->find($idusersecondaire);
  1017.             $user->setNom($nomS);
  1018.             $user->setPrenom($prenomS);
  1019.             $user->setUsername($identifiantS);
  1020.             $user->setNummobile($phoneS);
  1021.             $user->setEmail(trim($emailS));
  1022.             $user->setInfocomple($infoComplementaireS);
  1023.             $user->setRoles($roleS);
  1024.             $this->em->getManager()->persist($user);
  1025.             $this->em->getManager()->flush();
  1026.         } else {
  1027.             if (($nomS != null) || ($prenomS != null) || ($identifiantS != null) || ($phoneS != null) || ($emailS != null) || ($infoComplementaireS != null) || ($roleS != null)) {
  1028.                 $user $this->creationCompteS($nomS$prenomS$identifiantS$phoneS$emailS$infoComplementaireS"ROLE_PARTENAIRE"'azerty123');
  1029.             }
  1030.         }
  1031.         return $user;
  1032.     }
  1033.     public function listesejourPartenaireconnecter($user)
  1034.     {
  1035.         $sejours $this->em->getRepository(Sejour::class)->NombreofsejourParten($user->getId());
  1036.         return $sejours;
  1037.     }
  1038.     function creationNewAcommpaviaenmasse($nom$prenom$etablisment$fonction$adressetablisment$phoneacc$mail$role$password$AccompaLogo$email)
  1039.     {
  1040.         $user = new User();
  1041.         $user->setNom($nom);
  1042.         $user->setPrenom($prenom);
  1043.         $user->setUsername($mail);
  1044.         $user->setReponseemail(trim($email));
  1045.         // $user->setUsername($identifiant);
  1046.         $user->setFonction($fonction);
  1047.         $user->setNummobile($phoneacc);
  1048.         $user->setEmail(trim($mail));
  1049.         $user->setAdresse($adressetablisment);
  1050.         $user->setNometablisment($etablisment);
  1051.         // Firas : ajouter logo
  1052.         $user->setLogourl($AccompaLogo);
  1053.         //$user->setnometablisment();
  1054.         $user->setDateCreation(new \DateTime());
  1055.         $user->addRole($role);
  1056.         $user->setPasswordNonCripted($password);
  1057.         $user->setPassword(
  1058.             $this->passwordEncoder->hashPassword(
  1059.                 $user,
  1060.                 $password
  1061.             )
  1062.         );
  1063.         $this->em->getManager()->persist($user);
  1064.         $this->em->getManager()->flush();
  1065.         return $user;
  1066.     }
  1067.     function   modifieradress_comande($rue$ville$pays$codepostal$iduser$prenom$nom$organism$prenomfacturation$nomfacturation$organismfacturation$ruefacturation$villefacturation$paysfacturation$codepostalfacturation)
  1068.     {
  1069.         $user $this->em->getRepository(User::class)->find($iduser);
  1070.         $Adress $user->getadresslivraison();
  1071.         if ($Adress == null) {
  1072.             $Adress = new Adress;
  1073.         }
  1074.         $Adress->setRuevoi($rue);
  1075.         $Adress->setCodepostal($codepostal);
  1076.         $Adress->setVille($ville);
  1077.         $Adress->setPays($pays);
  1078.         $Adress->setOrganism($organism);
  1079.         if (!is_null($nom) && trim($nom) != "") {
  1080.             $Adress->setNomadrres($nom);
  1081.         } else {
  1082.             $Adress->setNomadrres($user->getNom());
  1083.         }
  1084.         if (!is_null($prenom) && trim($prenom) != "") {
  1085.             $Adress->setPrenomadress($prenom);
  1086.         } else {
  1087.             $Adress->setPrenomadress($user->getPrenom());
  1088.         }
  1089.         $Adress->settype('livraison');
  1090.         $this->em->getManager()->persist($Adress);
  1091.         $this->em->getManager()->flush();
  1092.         $user->setadresslivraison($Adress);
  1093.         $AdressFacturation =   $user->getAdressfactoration();
  1094.         if ($AdressFacturation == null) {
  1095.             $AdressFacturation = new Adress;
  1096.         }
  1097.         $AdressFacturation->setRuevoi($ruefacturation);
  1098.         $AdressFacturation->setCodepostal($codepostalfacturation);
  1099.         $AdressFacturation->setVille($villefacturation);
  1100.         $AdressFacturation->setPays($paysfacturation);
  1101.         $AdressFacturation->setOrganism($organismfacturation);
  1102.         if (!is_null($nomfacturation) && trim($nomfacturation) != "") {
  1103.             $AdressFacturation->setNomadrres($nomfacturation);
  1104.         } else {
  1105.             $AdressFacturation->setNomadrres($user->getNom());
  1106.         }
  1107.         if (!is_null($prenomfacturation) && trim($prenomfacturation) != "") {
  1108.             $AdressFacturation->setPrenomadress($prenomfacturation);
  1109.         } else {
  1110.             $AdressFacturation->setPrenomadress($user->getPrenom());
  1111.         }
  1112.         $AdressFacturation->settype('Facturation');
  1113.         $this->em->getManager()->persist($AdressFacturation);
  1114.         $this->em->getManager()->flush();
  1115.         $user->setAdressfactoration($AdressFacturation);
  1116.         $this->em->getManager()->persist($user);
  1117.         $this->em->getManager()->flush();
  1118.         return $Adress;
  1119.     }
  1120.     function codesecuriter($code$id)
  1121.     {
  1122.         $user $this->em->getRepository(User::class)->find($id);
  1123.         $comptebancaire =  new Comptebancaire;
  1124.         $comptebancaire->setNumcompt($code);
  1125.         $this->em->getManager()->persist($comptebancaire);
  1126.         $this->em->getManager()->flush();
  1127.         $user->setComptebanque($comptebancaire);
  1128.         $this->em->getManager()->persist($user);
  1129.         $this->em->getManager()->flush();
  1130.     }
  1131.     function genererPassword($longueur)
  1132.     {
  1133.         $caracteres '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
  1134.         $longueurMax strlen($caracteres);
  1135.         $chaineAleatoire '';
  1136.         for ($i 0$i $longueur$i++) {
  1137.             $chaineAleatoire .= $caracteres[rand(0$longueurMax 1)];
  1138.         }
  1139.         return $chaineAleatoire;
  1140.     }
  1141.     function modifierDetailsAcco($idAcco$nom$prenom$email$tel)
  1142.     {
  1143.         $Acco $this->em->getRepository(User::class)->find($idAcco);
  1144.         $Acco->setPrenom($prenom);
  1145.         $Acco->setNom($nom);
  1146.         $Acco->setNummobile($tel);
  1147.         $Acco->setReponseemail(trim($email));
  1148.         $this->em->getManager()->persist($Acco);
  1149.         $this->em->getManager()->flush();
  1150.     }
  1151.     function AjouterDocument_partenaitre($cloudImagescouleur$nomdocument$Etablisment_Find)
  1152.     {
  1153.         $Documentpartenaire = new Documentpartenaire();
  1154.         $Documentpartenaire->setIdetablisment($Etablisment_Find);
  1155.         $Documentpartenaire->setNomdocument($nomdocument);
  1156.         $Documentpartenaire->setPath($cloudImagescouleur[0]["path"]);
  1157.         $this->em->getManager()->persist($Documentpartenaire);
  1158.         $this->em->getManager()->flush();
  1159.     }
  1160.     function conditioncnx($id)
  1161.     {
  1162.         $user $this->em->getRepository(User::class)->find($id);
  1163.         $user->setCnxpartenaire(1);
  1164.         $this->em->getManager()->persist($user);
  1165.         $this->em->getManager()->flush();
  1166.         return $user;
  1167.     }
  1168.     function conditioncnxparent($id)
  1169.     {
  1170.         $user $this->em->getRepository(User::class)->find($id);
  1171.         $user->setCnxparent(1);
  1172.         $this->em->getManager()->persist($user);
  1173.         $this->em->getManager()->flush();
  1174.         return $user;
  1175.     }
  1176.     function findsejParent($id_parent)
  1177.     {
  1178.         $ParentSejour $this->em->getRepository(ParentSejour::class)->find($id_parent);
  1179.         return $ParentSejour;
  1180.     }
  1181.     function EnvoyerEmailNewUserediteuroradmin($user$password)
  1182.     {
  1183.         $RefEmail $this->em->getRepository(Ref::class)->find(20);
  1184.         $Email $this->em->getRepository(Emailing::class)->findOneBy(array('typeemail' => $RefEmail));
  1185.         $sendTo $user->getEmail();
  1186.         $senduser $user;
  1187.         $message = (new \Swift_Message('Nouveau admin ou editeur'))
  1188.             ->setFrom('contact@5sur5sejour.com')
  1189.             ->setTo($sendTo);
  1190.         //->setBcc(["contact@5sur5sejour.com"]);
  1191.         $pathImage2 $Email->getIdImage2()->getPath();
  1192.         $pathImage1 $Email->getIdImage1()->getPath();
  1193.         $image1 $message->embed(Swift_Image::fromPath("$pathImage1"));
  1194.         $image2 $message->embed(Swift_Image::fromPath("$pathImage2"));
  1195.         $iconphoto $message->embed(Swift_Image::fromPath("https://res.cloudinary.com/apss-factory/image/upload/v1582719650/Groupe_419_pqx0dx.png"));
  1196.         $iconloca $message->embed(Swift_Image::fromPath("https://res.cloudinary.com/apss-factory/image/upload/v1582719650/Groupe_420_uynuqz.png"));
  1197.         $iconmsg $message->embed(Swift_Image::fromPath("https://res.cloudinary.com/apss-factory/image/upload/v1582719651/Groupe_418_wbyysk.png"));
  1198.         $iconfooter $message->embed(Swift_Image::fromPath("https://res.cloudinary.com/apss-factory/image/upload/v1582719651/Picto5sur5_rapbfy.png"));
  1199.         $message->setBody(
  1200.             $this->templating->render(
  1201.                 'emails/DesmandecreationAdminorEditeur.html.twig',
  1202.                 [
  1203.                     "Nomdestinataire" => $user->getNom(),
  1204.                     "Predestinataire" => $user->getPrenom(),
  1205.                     "image1" => $image1,
  1206.                     "image2" => $image2,
  1207.                     "iconfooter" => $iconfooter,
  1208.                     "iconphoto" => $iconphoto,
  1209.                     "iconloca" => $iconloca,
  1210.                     "iconmsg" => $iconmsg,
  1211.                     "identifiant" => $sendTo,
  1212.                     "senduser" => $senduser,
  1213.                     "roles" => $user->getRoles(),
  1214.                     "pass" => $password
  1215.                 ]
  1216.             ),
  1217.             'text/html'
  1218.         );
  1219.         try {
  1220.             $this->mailer->send($message);
  1221.         } catch (\Swift_SwiftException $ex) {
  1222.             $ex->getMessage();
  1223.         }
  1224.     }
  1225.     function ModifierPwdParent($idParent$passwordparent)
  1226.     {
  1227.         $user =  $this->em->getRepository(User::class)->find($idParent);
  1228.         $user->setPassword(
  1229.             $this->passwordEncoder->hashPassword(
  1230.                 $user,
  1231.                 $passwordparent
  1232.             )
  1233.         );
  1234.         $this->em->getManager()->persist($user);
  1235.         $this->em->getManager()->flush();
  1236.         $this->EnvoyerEmailPWDModifer($user);
  1237.         return $user;
  1238.     }
  1239.     function ModifierPwdPartenaire($idPatenaire$passwordpartenaire)
  1240.     {
  1241.         $user =  $this->em->getRepository(User::class)->find($idPatenaire);
  1242.         $user->setPassword(
  1243.             $this->passwordEncoder->hashPassword(
  1244.                 $user,
  1245.                 $passwordpartenaire
  1246.             )
  1247.         );
  1248.         $this->em->getManager()->persist($user);
  1249.         $this->em->getManager()->flush();
  1250.         $this->EnvoyerEmailPWDModifer($user);
  1251.         return $user;
  1252.     }
  1253.     function EnvoyerEmailPWDModifer($user)
  1254.     {
  1255.         $RefEmail $this->em->getRepository(Ref::class)->find(20);
  1256.         $Email $this->em->getRepository(Emailing::class)->findOneBy(array('typeemail' => $RefEmail));
  1257.         $sendTo $user->getEmail();
  1258.         $senduser $user;
  1259.         $message = (new \Swift_Message('Modification de votre mot de passe 5sur5sejour'))
  1260.             ->setFrom('contact@5sur5sejour.com')
  1261.             ->setTo($sendTo);
  1262.         //->setBcc(["contact@5sur5sejour.com"]);
  1263.         $pathImage2 $Email->getIdImage2()->getPath();
  1264.         $pathImage1 $Email->getIdImage1()->getPath();
  1265.         $image1 $message->embed(Swift_Image::fromPath("$pathImage1"));
  1266.         $image2 $message->embed(Swift_Image::fromPath("$pathImage2"));
  1267.         $iconphoto $message->embed(Swift_Image::fromPath("https://res.cloudinary.com/apss-factory/image/upload/v1582719650/Groupe_419_pqx0dx.png"));
  1268.         $iconloca $message->embed(Swift_Image::fromPath("https://res.cloudinary.com/apss-factory/image/upload/v1582719650/Groupe_420_uynuqz.png"));
  1269.         $iconmsg $message->embed(Swift_Image::fromPath("https://res.cloudinary.com/apss-factory/image/upload/v1582719651/Groupe_418_wbyysk.png"));
  1270.         $iconfooter $message->embed(Swift_Image::fromPath("https://res.cloudinary.com/apss-factory/image/upload/v1582719651/Picto5sur5_rapbfy.png"));
  1271.         $message->setBody(
  1272.             $this->templating->render(
  1273.                 'emails/PwdModifer.html.twig',
  1274.                 [
  1275.                     "Nomdestinataire" => $user->getNom(),
  1276.                     "Predestinataire" => $user->getPrenom(),
  1277.                     "image1" => $image1,
  1278.                     "image2" => $image2,
  1279.                     "iconfooter" => $iconfooter,
  1280.                     "iconphoto" => $iconphoto,
  1281.                     "iconloca" => $iconloca,
  1282.                     "iconmsg" => $iconmsg,
  1283.                     "identifiant" => $sendTo,
  1284.                     "senduser" => $senduser,
  1285.                     "roles" => $user->getRoles(),
  1286.                 ]
  1287.             ),
  1288.             'text/html'
  1289.         );
  1290.         try {
  1291.             $this->mailer->send($message);
  1292.         } catch (\Swift_SwiftException $ex) {
  1293.             $ex->getMessage();
  1294.         }
  1295.     }
  1296.     function creationAccompagnateurPlus($nom$prenom$fonction$nomEtab$addressEtab$numTel$mail$password$role)
  1297.     {
  1298.         $user = new User();
  1299.         $user->setNom($nom);
  1300.         $user->setPrenom($prenom);
  1301.         $user->setNummobile($numTel);
  1302.         $user->setFonction($fonction);
  1303.         $user->setAdresse($addressEtab);
  1304.         $user->setNometablisment($nomEtab);
  1305.         $user->setEmail(trim($mail));
  1306.         $user->setReponseemail(trim($mail));
  1307.         $user->setUsername(trim($mail));
  1308.         $user->setPassword(
  1309.             $this->passwordEncoder->hashPassword(
  1310.                 $user,
  1311.                 $password
  1312.             )
  1313.         );
  1314.         $user->setAccompaplus("oui");
  1315.         $user->setPasswordNonCripted($password);
  1316.         $user->setDateCreation(new \DateTime());
  1317.         $user->addRole($role);
  1318.         $this->em->getManager()->persist($user);
  1319.         $this->em->getManager()->flush();
  1320.         return $user;
  1321.     }
  1322.     function EnvoyerEmailAccoPlusDevenirPartenaire($user)
  1323.     {
  1324.         $logo '';
  1325.         $nom '';
  1326.         if ($user->hasRole('ROLE_PARTENAIRE')) {
  1327.             $logo $user->getLogourl();
  1328.             $nom $user->getNometablisment();
  1329.         }
  1330.         $RefEmail $this->em->getRepository(Ref::class)->find(17);
  1331.         $Email $this->em->getRepository(Emailing::class)->findOneBy(array('typeemail' => $RefEmail));
  1332.         $sendTo $user->getEmail();
  1333.         $message = (new \Swift_Message('Déjà 5 séjours ensemble, devenons partenaire ?'))
  1334.             ->setFrom('partenariat-contact@5sur5sejour.com')
  1335.             ->setTo($sendTo);
  1336.         //->setBcc(["contact@5sur5sejour.com"]);
  1337.         $pathImage2 $Email->getIdImage2()->getPath();
  1338.         $pathImage1 $Email->getIdImage1()->getPath();
  1339.         $image1 $message->embed(Swift_Image::fromPath("$pathImage1"));
  1340.         $image2 $message->embed(Swift_Image::fromPath("$pathImage2"));
  1341.         $iconmsg $message->embed(Swift_Image::fromPath("https://res.cloudinary.com/apss-factory/image/upload/v1582719651/Groupe_418_wbyysk.png"));
  1342.         $iconfooter $message->embed(Swift_Image::fromPath("https://res.cloudinary.com/apss-factory/image/upload/v1582719651/Picto5sur5_rapbfy.png"));
  1343.         $icon2 $message->embed(Swift_Image::fromPath("https://res.cloudinary.com/apss-factory/image/upload/v1582719650/Groupe_420_uynuqz.png"));
  1344.         $icon3 $message->embed(Swift_Image::fromPath("https://res.cloudinary.com/apss-factory/image/upload/v1582719650/Groupe_419_pqx0dx.png"));
  1345.         $message->setBody(
  1346.             $this->templating->render(
  1347.                 'emails/AccompagnateurPlusDevenirPartenaire.html.twig',
  1348.                 [
  1349.                     "image1" => $image1,
  1350.                     "image2" => $image2,
  1351.                     "icon2" => $icon2,
  1352.                     "icon3" => $icon3,
  1353.                     "iconfooter" => $iconfooter,
  1354.                     "iconmsg" => $iconmsg,
  1355.                     "identifiant" => $sendTo,
  1356.                     'logo' => $logo,
  1357.                     'nom' => $nom,
  1358.                 ]
  1359.             ),
  1360.             'text/html'
  1361.         );
  1362.         $signMail $this->params->get('signMail');
  1363.         if ($signMail == 'yes') {
  1364.             $domainName $this->params->get('domaine');
  1365.             $selector $this->params->get('selector');
  1366.             $PrivateKey file_get_contents($this->params->get('pathDKIM'));
  1367.             $signer = new \Swift_Signers_DKIMSigner($PrivateKey$domainName$selector);
  1368.             $message->attachSigner($signer);
  1369.         }
  1370.         try {
  1371.             $this->mailer->send($message);
  1372.         } catch (\Swift_SwiftException $ex) {
  1373.             $ex->getMessage();
  1374.         }
  1375.     }
  1376. }