src/Controller/AccueilController.php line 38
<?phpnamespace App\Controller;use App\Entity\AbsenceProposition;use App\Entity\CartePaiement;use App\Entity\ConsommationCamion;use App\Entity\InfoChauffeur;use App\Entity\LavageVehicule;use App\Entity\MessageAccueil;use App\Entity\PaletteMouvement;use App\Entity\PeageAutorouteFacturation;use App\Entity\PeageAutorouteJustificatif;use App\Entity\Camion;use App\Entity\User;use App\Entity\TourneeReel;use App\Repository\LavageVehiculeRepository;use App\Repository\PaletteMouvementRepository;use App\Repository\RemorqueRepository;use App\Repository\UserRepository;use App\Service\PanneService;use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;use Symfony\Component\HttpFoundation\Response;use Symfony\Component\Routing\Annotation\Route;use App\Repository\ImportationRepository;use App\Repository\CamionRepository;use Doctrine\Persistence\ManagerRegistry;use App\Service\CarteCamionUserService;use App\Service\MaintenanceService;use App\Service\APISamsaraService;use App\Service\APIDashDocService;use App\Service\APIAddSecureService;class AccueilController extends AbstractController{#[Route('/accueil', name: 'app_accueil')]public function index(ImportationRepository $importationRepository,CamionRepository $camionRepository, ManagerRegistry $doctrine,CarteCamionUserService $carteCamionUserService,MaintenanceService $maintenanceService, PaletteMouvementRepository $paletteMouvementRepository): Response{$listTourneeSansCA = array();$listTourneeSansCMR = array();$listPaletteMouv = array();if($this->getUser()->getId()==50){return $this->redirectToRoute('app_horaire_exploit_mensuel', [], Response::HTTP_SEE_OTHER);}$em = $doctrine->getManager();$listCamionProb = array();$listCamion = $camionRepository->findCamionProblemeNom($this->getUser()->getSystemeClient());if(!empty($listCamion)){foreach($listCamion as $camion){$listCamionProb[] = $camion;}}if($this->getUser()->getSystemeClient()->getId() == 1){//si Lingèvres, non Solubac$dateDebPal = new \DateTime();$dateDebPal->modify('-1 month');$listPM = $paletteMouvementRepository->findPaletteMouvementFromDateAndNonVu($dateDebPal);if (!empty($listPM)) {foreach ($listPM as $pm) {$listPaletteMouv[$pm->getDate()->format('Y-m-d')][] = $pm;}}}$listAJustifier = $em->getRepository(PeageAutorouteJustificatif::class)->findBy(array('valide'=>0));$countJustif = count($listAJustifier);$countFacPeage = 0;$countConso = 0;if(date('d')>16){$dateDeb = new \DateTime(date('Y-m-16'));$dateFin = new \DateTime(date('Y-m-t'));}else{$dateDeb = new \DateTime(date('Y-m-01'));$dateFin = new \DateTime(date('Y-m-15'));}$countFacPeage = $em->getRepository(PeageAutorouteFacturation::class)->getCountEntre2DateSortie($dateDeb,$dateFin);$countConso = $em->getRepository(ConsommationCamion::class)->getCountEntre2DateSortie($dateDeb,$dateFin);$dateJour = new \DateTime();/*$listCarteSansCamion = array();$listCarte = $em->getRepository(CartePaiement::class)->findAll();if(!empty($listCarte)){foreach($listCarte as $carte){$returnCCU = $carteCamionUserService->carteGetUser($carte,$dateJour);$camion = $returnCCU['camion'];if($camion==null){$listCarteSansCamion[] = $carte;}}}*/$listCamionSansUser = array();$listCam = $em->getRepository(Camion::class)->findBy(array('actif'=>1,'systemeClient'=>$this->getUser()->getSystemeClient(),'typeVehicule'=>1));if(!empty($listCam)){foreach($listCam as $camion){$returnCCU = $carteCamionUserService->camionGetUser($camion,$dateJour);$user = $returnCCU['user'];if($user==null){$listCamionSansUser[] = $camion;}}}$nbrAbsenceProp = 0;$listPropAbsence = $em->getRepository(AbsenceProposition::class)->findBy(array('traite'=>0));if(!empty($listPropAbsence)) {foreach ($listPropAbsence as $propAbsence) {$nbrAbsenceProp++;}}/*$listTourneeSansCA = array();$listTourneeSansCMR = array();if($this->getUser()->getSystemeClient()->getId()==1) {$date2W = new \DateTime();$date2W->modify("-2 weeks");$listTourneeBDD = $em->getRepository(TourneeReel::class)->getTourneeReelSansCAPlusAncienQueDate($date2W);if (!empty($listTourneeBDD)) {foreach ($listTourneeBDD as $tournee) {$listTourneeSansCA[$tournee->getId()] = $tournee->getCodeLingevres();}}$listTourneeBDD = $em->getRepository(TourneeReel::class)->getTourneeReelSansCMRPlusAncienQueDate($date2W);if (!empty($listTourneeBDD)) {foreach ($listTourneeBDD as $tournee) {$listTourneeSansCMR[$tournee->getId()] = $tournee->getCodeLingevres();}}}*///rappel maintenance$listEchCamUrg = $maintenanceService->getEcheanceUrgente(1,$this->getUser()->getSystemeClient());$listEchRemUrg = $maintenanceService->getEcheanceUrgente(2,$this->getUser()->getSystemeClient());//rappel date permis...$dateFutur = new \DateTime();$dateFutur->modify('+3 month');$listDatePermis = $em->getRepository(InfoChauffeur::class)->getInfoChaffeurAvantDate($dateFutur,'dateValidPermis');$listDateValidFCO = $em->getRepository(InfoChauffeur::class)->getInfoChaffeurAvantDate($dateFutur,'dateValidFCO');$listDateVisiteMedicale = $em->getRepository(InfoChauffeur::class)->getInfoChaffeurAvantDate($dateFutur,'dateVisiteMedicale');$listDateValidCartConduc = $em->getRepository(InfoChauffeur::class)->getInfoChaffeurAvantDate($dateFutur,'dateValidCartConduc');$date3Week = new \DateTime();$date3Week->modify('-3 weeks');$listMsg = $em->getRepository(MessageAccueil::class)->getMessageAccueilFromDate($date3Week);return $this->render('accueil/index.html.twig', ['controller_name' => 'AccueilController','listCamionProb'=>$listCamionProb,'countJustif'=>$countJustif,'countFacPeage'=>$countFacPeage,'countConso'=>$countConso,'dateDeb'=>$dateDeb,'dateFin'=>$dateFin,//'listCarteSansCamion'=>$listCarteSansCamion,'listCamionSansUser'=>$listCamionSansUser,'countEchCamUrg'=>$listEchCamUrg['nbrVehiConcern'],'countEchRemUrg'=>$listEchRemUrg['nbrVehiConcern'],'listTourneeSansCA'=>$listTourneeSansCA,'listTourneeSansCMR'=>$listTourneeSansCMR,'listDatePermis'=>$listDatePermis,'listDateValidFCO'=>$listDateValidFCO,'listDateVisiteMedicale'=>$listDateVisiteMedicale,'listDateValidCartConduc'=>$listDateValidCartConduc,'listPaletteMouv'=>$listPaletteMouv,'listMsg'=>$listMsg,'nbrAbsenceProp'=>$nbrAbsenceProp,]);}#[Route('/', name: 'app_accueil2')]public function index2(ImportationRepository $importationRepository,CamionRepository $camionRepository, ManagerRegistry $doctrine,CarteCamionUserService $carteCamionUserService,MaintenanceService $maintenanceService): Response{if($this->getUser()->getId()==50){return $this->redirectToRoute('app_horaire_exploit_mensuel', [], Response::HTTP_SEE_OTHER);}$em = $doctrine->getManager();$listCamionProb = array();$listCamion = $camionRepository->findCamionProblemeNom($this->getUser()->getSystemeClient());if(!empty($listCamion)){foreach($listCamion as $camion){$listCamionProb[] = $camion;}}$listAJustifier = $em->getRepository(PeageAutorouteJustificatif::class)->findBy(array('valide'=>0));$countJustif = count($listAJustifier);$countFacPeage = 0;$countConso = 0;if(date('d')>16){$dateDeb = new \DateTime(date('Y-m-16'));$dateFin = new \DateTime(date('Y-m-t'));}else{$dateDeb = new \DateTime(date('Y-m-01'));$dateFin = new \DateTime(date('Y-m-15'));}$countFacPeage = $em->getRepository(PeageAutorouteFacturation::class)->getCountEntre2DateSortie($dateDeb,$dateFin);$countConso = $em->getRepository(ConsommationCamion::class)->getCountEntre2DateSortie($dateDeb,$dateFin);$dateJour = new \DateTime();/*$listCarteSansCamion = array();$listCarte = $em->getRepository(CartePaiement::class)->findAll();if(!empty($listCarte)){foreach($listCarte as $carte){$returnCCU = $carteCamionUserService->carteGetUser($carte,$dateJour);$camion = $returnCCU['camion'];if($camion==null){$listCarteSansCamion[] = $carte;}}}*/$listCamionSansUser = array();$listCam = $em->getRepository(Camion::class)->findBy(array('actif'=>1,'systemeClient'=>$this->getUser()->getSystemeClient(),'typeVehicule'=>1));if(!empty($listCam)){foreach($listCam as $camion){$returnCCU = $carteCamionUserService->camionGetUser($camion,$dateJour);$user = $returnCCU['user'];if($user==null){$listCamionSansUser[] = $camion;}}}$listTourneeSansCA = array();$listTourneeSansCMR = array();if($this->getUser()->getSystemeClient()->getId()==1) {$date2W = new \DateTime();$date2W->modify("-2 weeks");$listTourneeBDD = $em->getRepository(TourneeReel::class)->getTourneeReelSansCAPlusAncienQueDate($date2W);if (!empty($listTourneeBDD)) {foreach ($listTourneeBDD as $tournee) {$listTourneeSansCA[$tournee->getId()] = $tournee->getCodeLingevres();}}$listTourneeBDD = $em->getRepository(TourneeReel::class)->getTourneeReelSansCMRPlusAncienQueDate($date2W);if (!empty($listTourneeBDD)) {foreach ($listTourneeBDD as $tournee) {$listTourneeSansCMR[$tournee->getId()] = $tournee->getCodeLingevres();}}}//rappel maintenance$listEchCamUrg = $maintenanceService->getEcheanceUrgente(1,$this->getUser()->getSystemeClient());$listEchRemUrg = $maintenanceService->getEcheanceUrgente(2,$this->getUser()->getSystemeClient());//rappel date permis...$dateFutur = new \DateTime();$dateFutur->modify('+3 month');$listDatePermis = $em->getRepository(InfoChauffeur::class)->getInfoChaffeurAvantDate($dateFutur,'dateValidPermis');$listDateValidFCO = $em->getRepository(InfoChauffeur::class)->getInfoChaffeurAvantDate($dateFutur,'dateValidFCO');$listDateVisiteMedicale = $em->getRepository(InfoChauffeur::class)->getInfoChaffeurAvantDate($dateFutur,'dateVisiteMedicale');$listDateValidCartConduc = $em->getRepository(InfoChauffeur::class)->getInfoChaffeurAvantDate($dateFutur,'dateValidCartConduc');$date3Week = new \DateTime();$date3Week->modify('-3 weeks');$listMsg = $em->getRepository(MessageAccueil::class)->getMessageAccueilFromDate($date3Week);return $this->render('accueil/index.html.twig', ['controller_name' => 'AccueilController','listCamionProb'=>$listCamionProb,'countJustif'=>$countJustif,'countFacPeage'=>$countFacPeage,'countConso'=>$countConso,'dateDeb'=>$dateDeb,'dateFin'=>$dateFin,//'listCarteSansCamion'=>$listCarteSansCamion,'listCamionSansUser'=>$listCamionSansUser,'countEchCamUrg'=>$listEchCamUrg['nbrVehiConcern'],'countEchRemUrg'=>$listEchRemUrg['nbrVehiConcern'],'listTourneeSansCA'=>$listTourneeSansCA,'listTourneeSansCMR'=>$listTourneeSansCMR,'listDatePermis'=>$listDatePermis,'listDateValidFCO'=>$listDateValidFCO,'listDateVisiteMedicale'=>$listDateVisiteMedicale,'listDateValidCartConduc'=>$listDateValidCartConduc,'listMsg'=>$listMsg]);}#[Route('/getNbrPassageCaen', name: 'app_getNbrPassageCaen')]public function getNbrPassageCaen(ImportationRepository $importationRepository, ManagerRegistry $doctrine,APISamsaraService $APISamsaraService): Response{$APISamsaraService->getNbrPassageCaen();}#[Route('/generer_lavage', name: 'app_generer_lavage')]public function genererLavage(ImportationRepository $importationRepository,RemorqueRepository $remorqueRepository, ManagerRegistry $doctrine, UserRepository $userRepository, LavageVehiculeRepository $lavageVehiculeRepository): Response{$listRem = $remorqueRepository->findAllRemorque($this->getUser()->getSystemeClient())->getQuery()->getResult();$listChauffeur = array();$listChauffeurBDD = $userRepository->findAllChauffeur($this->getUser()->getSystemeClient());foreach($listChauffeurBDD as $chauf){$listChauffeur[$chauf->getId()] = $chauf;}$startDate = new \DateTime();$startDate->modify('-10 months');foreach ($listRem as $rem) {echo "Remorque: " . $rem->getNumero() . " - Date: " . $startDate->format('d/m/Y') . "<br>";// Boucle pour générer les dates jusqu'à aujourd’huiwhile ($startDate < new \DateTime()) {// Ajouter entre 12 et 15 jours$daysToAdd = rand(12, 15);$startDate->modify("+$daysToAdd days");if($startDate->format('w')==0){$startDate->modify("+1 days");}// Vérifier qu'on ne dépasse pas la date d'aujourd'huiif ($startDate > new \DateTime()) {break;}if (rand(1, 15) === 1) {echo "<br />";} else {// Choix du chauffeur : environ 1 fois sur 2, ce sera l'ID 50if (rand(0, 1) === 0 && isset($listChauffeur[50])) {$selectedChauffeur = $listChauffeur[50];} else {// Prendre un chauffeur au hasard parmi la liste (hors ID 50 si possible)$filteredChauffeurs = array_filter($listChauffeur, fn($id) => $id !== 50, ARRAY_FILTER_USE_KEY);// Si la liste filtrée est vide (par exemple, si seul l'ID 50 existe), on le prend quand mêmeif (!empty($filteredChauffeurs)) {$selectedChauffeur = $filteredChauffeurs[array_rand($filteredChauffeurs)];} else {$selectedChauffeur = $listChauffeur[50]; // Fallback si 50 est le seul dispo}}echo "Chauffeur sélectionné : " . $selectedChauffeur->getId();echo "Remorque: " . $rem->getNumero() . " - Date: " . $startDate->format('d/m/Y') . "<br>";$lavage = new LavageVehicule();$lavage->setCreated(new \DateTime());$lavage->setRemorque($rem);$lavage->setCamion(null);$lavage->setUser($selectedChauffeur);$lavage->setDate($startDate);$lavage->setSystemeClient($this->getUser()->getSystemeClient());$lavage->setExterieur(1);$lavage->setInterieur(1);$lavage->setDesinfection(0);$lavageVehiculeRepository->save($lavage, true);}}// Remettre la date de départ à 8 mois avant pour la prochaine remorque$startDate = new \DateTime();$startDate->modify('-10 months');}foreach ($listRem as $rem) {echo "Remorque: ".$rem->getNumero()." - Date: " . $startDate->format('d/m/Y') . "<br>";// Boucle pour générer les dates jusqu'à aujourd’huiwhile ($startDate < new \DateTime()) {$daysToAdd = rand(28, 32);$startDate->modify("+$daysToAdd days");if($startDate->format('w')==0){$startDate->modify("+1 days");}// Vérifier qu'on ne dépasse pas la date d'aujourd'huiif ($startDate > new \DateTime()) {break;}if (rand(1, 15) === 1) {echo "<br />";} else {// Choix du chauffeur : environ 1 fois sur 2, ce sera l'ID 50if (rand(0, 1) === 0 && isset($listChauffeur[50])) {$selectedChauffeur = $listChauffeur[50];} else {// Prendre un chauffeur au hasard parmi la liste (hors ID 50 si possible)$filteredChauffeurs = array_filter($listChauffeur, fn($id) => $id !== 50, ARRAY_FILTER_USE_KEY);// Si la liste filtrée est vide (par exemple, si seul l'ID 50 existe), on le prend quand mêmeif (!empty($filteredChauffeurs)) {$selectedChauffeur = $filteredChauffeurs[array_rand($filteredChauffeurs)];} else {$selectedChauffeur = $listChauffeur[50]; // Fallback si 50 est le seul dispo}}echo "Chauffeur sélectionné : " . $selectedChauffeur->getId();echo "Remorque: " . $rem->getNumero() . " - Date: " . $startDate->format('d/m/Y') . "<br>";$lavage2 = new LavageVehicule();$lavage2->setCreated(new \DateTime());$lavage2->setRemorque($rem);$lavage2->setCamion(null);$lavage2->setUser($selectedChauffeur);$lavage2->setDate($startDate);$lavage2->setSystemeClient($this->getUser()->getSystemeClient());$lavage2->setExterieur(0);$lavage2->setInterieur(0);$lavage2->setDesinfection(1);$lavageVehiculeRepository->save($lavage2,true);}}// Remettre la date de départ à 8 mois avant pour la prochaine remorque$startDate = new \DateTime();$startDate->modify('-10 months');}}#[Route('/test', name: 'app_test')]public function test(ImportationRepository $importationRepository,ManagerRegistry $doctrine, APIDashDocService $APIDashDocService, APISamsaraService $APISamsaraService, CarteCamionUserService $carteCamionUserService , PanneService $panneService, APIAddSecureService $addSecureService): Response{$em = $doctrine->getManager();$lat = 48.75044;$lon = 2.38631;//$addSecureService->getVilleByCoordonnees($lat,$lon);$startRequete = new \DateTime('2026-06-08 00:00:00');$endRequete = new \DateTime('2026-06-18 00:00:00');//$addSecureService->importUser();//$addSecureService->importVehicule();/*$userRepo = $em->getRepository(User::class);$chauffeur = $userRepo->find(21);$addSecureService->importTachograph($startRequete,$endRequete,$chauffeur);*//*$dateDeb = new \DateTime('2026-06-08');$APISamsaraService->majDeclarationChauf(1, 10, $dateDeb,$chauffeur);$dateDeb = new \DateTime('2026-06-18');$addSecureService->importAPILocalisation(1, $dateDeb,10,$chauffeur);$dateDeb = new \DateTime('2026-06-01 15:30:00');$dateFin = new \DateTime('2026-06-02 00:41:00');*/$date = new \DateTime();$date->modify('-4 days');var_dump($date);$addSecureService->fillDBCoordonates(10,$date);//$addSecureService->getNbrPassageCaen(1);/*$client = new \GuzzleHttp\Client(['timeout' => 10,'connect_timeout' => 5,'http_errors' => false, // important'handler' => \GuzzleHttp\HandlerStack::create(new \GuzzleHttp\Handler\StreamHandler()),]);$res = $client->request('GET', 'https://nominatim.openstreetmap.org/reverse', ['query' => ['format' => 'jsonv2','lat' => $lat,'lon' => $lon,],'headers' => ['User-Agent' => 'LingevresTransport/1.0 (contact: jean-marc.reynaud@solubac.fr)','Accept' => 'application/json',],'timeout' => 10,'curl' => [CURLOPT_FORBID_REUSE => true,CURLOPT_FRESH_CONNECT => true,],//'verify' => false, // only for debugging]);$data = json_decode($res->getBody()->getContents(), true);//$data = json_decode($response, true);var_dump($data);*///$addSecureService->getKMByDateUserBetween2Date($dateDeb,$dateFin,$chauffeur);/*$WebPage = "";$serverDBI = "dbi-production-sql-server.database.windows.net";$connectionOptionsDBI = array("Database" => "DBI_FR11968","Uid" => "usr_FR11968","PWD" => "QnKigYKt95uUED7c","Encrypt" => true,"TrustServerCertificate"=>true,"CharacterSet" => "UTF-8");// DBI Conector$connDBI = sqlsrv_connect($serverDBI, $connectionOptionsDBI);$DBIErrs = false;if ($connDBI){$tsqlDBI= "select * from [User]";*//*$tsqlDBI= "select *,dateadd(s,Timestamp/1000,'19700101 01:00:00') from StartStopEvent s ,StartStopEventType twhere s.startstopeventTypeId = t.id anddateadd(s,Timestamp/1000,'19700101 01:00:00')>'20260529 00:00:00'and dateadd(s,Timestamp/1000,' 19700101 01:00:00') < '20260529 05:00:00'and userId = 73order by vehicleid,timestamp ";*//*$tsqlDBI= "select d.id,cardslot,[value],vehicleid,userId,dateadd(s,startTimestamp/1000,'19700101 01:00:00')datestart,dateadd(s,endTimestamp/1000,'19700101 01:00:00') dateStop,startlatitude,startLongitude,endLatitude,endLongitude,startMileage/1000.0 as kmdebut,endMileage/1000.0 as kmfin,t.[value] from DrtTachographActivityPeriod d left join tachographActivity t ond.tachographActivity = t.idwhereuserId = 73 anddateadd(s,startTimestamp/1000,'19700101 01:00:00')> '20260529 00:00:00'and dateadd(s,endTimestamp/1000,'19700101 01:00:00')< '20260530 00:00:00'order by starttimestamp ";*//*$tsqlDBI= "selectv.licenseplateNumber,v.externalid,l.latitude,l.longitude,l.speed,u.lastname,u.firstnamee,u.id from LastPositionVehicle lleft join vehicle v on l.vehicleId = v.idleft join [user] u on l.userid = u.idorder by licensePlateNumber";*//*$tsqlDBI= "select u.id,u.userName,u.firstName,u.LastName,u.tachographCardId,g.name,g.Idfrom [user] uleft join [Usergroup] ug on u.id = ug.useridleft join [group] g on ug.groupid = g.id ";*//*$tsqlDBI= "select dateadd(s,timestamp/1000,'19700101 01:00:00') date,position.* from position,vehiclewhere position.vehicleid = vehicle.idand vehicle.id =1and dateadd(s,timestamp/1000,'19700101 01:00:00') >'20260525 00:00:00'and dateadd(s,timestamp/1000,'19700101 01:00:00') <'20260526 00:00:00'order by vehicleid, timestamp ";*//*$i=0;$getResults= sqlsrv_query($connDBI, $tsqlDBI);//var_dump(count($getResults));var_dump($getResults);if ($getResults == FALSE){$WebPage .= print_r( sqlsrv_errors(), true);$DBIErrs = sqlsrv_errors();}else{if(sqlsrv_has_rows($getResults)){while ($rowIP = sqlsrv_fetch_array($getResults, SQLSRV_FETCH_ASSOC)){var_dump($rowIP); // chaque enregistrement de la requette$i++;}}sqlsrv_free_stmt($getResults);}sqlsrv_close( $connDBI );}else{$WebPage .= print_r( sqlsrv_errors(), true);$DBIErrs = sqlsrv_errors();}echo $WebPage;var_dump($i);*///$panneService->sendMailRappelPanne();//$date = new \DateTime('2026-02-06');$dateTime = new \DateTime();//$carteCamionUserService->getChauffeurByCamionSamsara(19, $date);//$carteCamionUserService->getCamionByChauffeurSamsara(24, $date);//$APISamsaraService->getNbrPassageCaen();//$APISamsaraService->getLocalisationByBRAndWO($date,$date2);//$APISamsaraService->importAPIDriverUseTruck();//$APISamsaraService->alerteMailTpsMensuel(new \DateTime());//$APISamsaraService->importTachograph(1,new \DateTime('2025-12-31'));$date = new \DateTime("2025-12-28");//$date->modify('-10 days');//$APISamsaraService->majDeclarationChauf(1, 10,$date);/*$chauffeur = $em->getRepository(User::class)->find(34);$APISamsaraService->getLocalisationByBRAndWO();*//*$date = new \DateTime('2025-12-24');$date2 = new \DateTime('2026-04-27');$APISamsaraService->importInfoCamion();$APISamsaraService->importAPIDriverUseTruck($date);$chauffeur = $em->getRepository(User::class)->find(34);$APISamsaraService->importAPILocalisation(1,$date2,5,$chauffeur);*///$APISamsaraService->calculKmTracteur(1,$date);//$APISamsaraService->alerteMailTpsTravSiPlusLimite(new \DateTime('2025-05-12'));//$APISamsaraService->calculKmTracteur(1,new \DateTime('2025-09-09'));//$APIDashDocService->importDashDocTelephone(1);/*$url = "https://api.dashdoc.eu/api/v4/manager-truckers/";//$url = "https://api.dashdoc.eu/api/v4/manager-truckers/32305029";//$url = "https://api.dashdoc.eu/api/v4/vehicles/";$token = "92a9bdfe6ffd8d9a2977a6be680017f26798218a"; // replace with your token$ch = curl_init($url);curl_setopt($ch, CURLOPT_CAINFO, "C:/php/cacert.pem"); // path to your filecurl_setopt_array($ch, [CURLOPT_RETURNTRANSFER => true,CURLOPT_HTTPHEADER => ["Authorization: Token $token"]]);$response = curl_exec($ch);if (curl_errno($ch)) {echo "cURL error: " . curl_error($ch);} else {$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);if ($httpcode === 200) {$data = json_decode($response, true);$em = $doctrine->getManager();$userRepo = $em->getRepository(User::class);if (isset($data['results'])) {foreach ($data['results'] as $trucker) {$exp = explode(' ',$trucker['display_name']);if(!empty($exp)){$phone = str_replace('+33','0',$trucker['phone_number']);$nom = $exp[0];$prenom = $exp[1];$user = $userRepo->findOneBy(array('nom'=>$nom,'prenom'=>$prenom));if(is_object($user)){echo $user->getId().' '.$user->getNom().' '.$user->getPrenom().'<br />';$user->setTelephonePro($phone);$userRepo->save($user,true);}}}}} else {echo "HTTP code: $httpcode\n";echo "Response: $response\n";}}curl_close($ch);*/}}