src/Controller/ImportationIntranetController.php line 930

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\CalendrierRedactionnel;
  4. use App\Entity\CategoriesGenerales;
  5. use App\Entity\Client;
  6. use App\Entity\Contact;
  7. use App\Entity\ContactOrganisation;
  8. use App\Entity\ContactSupport;
  9. use App\Entity\Coordonnees;
  10. use App\Entity\Emission;
  11. use App\Entity\Fonction;
  12. use App\Entity\Langues;
  13. use App\Entity\MotsCles;
  14. use App\Entity\Organisation;
  15. use App\Entity\Secteur;
  16. use App\Entity\SousCategoriesGenerales;
  17. use App\Entity\Support;
  18. use Doctrine\Common\Collections\ArrayCollection;
  19. use PDO;
  20. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  21. use Symfony\Component\HttpFoundation\JsonResponse;
  22. use Doctrine\ORM\EntityManagerInterface;
  23. use Symfony\Component\HttpFoundation\Response;
  24. use Symfony\Component\Routing\Annotation\Route;
  25. class ImportationIntranetController extends AbstractController
  26. {
  27.     /**
  28.      * @Route("/suivi/intranet/ajouter/support/suivi/{suiviId}/{suppId}", methods={"GET"}, name="ajouter_supports_suivi")
  29.      */
  30.     public function ajouterSupportsSuivi ($suiviId$suppIdEntityManagerInterface $em)
  31.     {
  32.         $support $this->getDoctrine()->getRepository('App:Support')->find($suppId);
  33.         $suivi $this->getDoctrine()->getRepository('App:Suivi')->find($suiviId);
  34.         $suivi->addSupport($support);
  35.         $em->flush();
  36.         return new JsonResponse("ok");
  37.     }
  38.     /**
  39.      * @Route("/suivi/intranet/supprimer/support/suivi/{suiviId}/{suppId}", methods={"GET"}, name="supprimer_supports_suivi")
  40.      */
  41.     public function supprimerSupportsSuivi ($suiviId$suppIdEntityManagerInterface $em)
  42.     {
  43.         $support $this->getDoctrine()->getRepository('App:Support')->find($suppId);
  44.         $suivi $this->getDoctrine()->getRepository('App:Suivi')->find($suiviId);
  45.         $suivi->removeSupport($support);
  46.         $em->flush();
  47.         return new JsonResponse("ok");
  48.     }
  49.     /**
  50.      * @Route("/suivi/intranet/relance/verifier/intranet/{user}/{contactId}", methods={"GET"}, name="verifier_relance_existe_suivi")
  51.      */
  52.     public function verifierRelanceExiste ($user$contactIdEntityManagerInterface $em)
  53.     {
  54.         $url 'extranet.escalconsulting.com/information/getVerifRelanceExiste.php?user='.$user.'&contactId='.$contactId;
  55.         $c curl_init();
  56.         curl_setopt($cCURLOPT_URL$url);
  57.         curl_setopt($cCURLOPT_RETURNTRANSFERtrue);
  58.         curl_setopt($cCURLOPT_HEADERfalse);
  59.         $output curl_exec($c);
  60.         curl_close($c);
  61.         $output json_decode($output);
  62.         $response = new JsonResponse($output);
  63.         $response->headers->set('Content-Type''application/json');
  64.         return $response;
  65.     }
  66.     /**
  67.      * @Route("/suivi/intranet/importation/tout/{contactIDSelect}/{calRedUn}/{calRedDeux}/{mediaIdsSelect}", methods={"GET"}, name="suivi_importer_tout_intranet")
  68.      */
  69.     public function suiviImporterTout ($contactIDSelect$calRedUn$calRedDeux$mediaIdsSelectEntityManagerInterface $em)
  70.     {
  71.         $listeIDsupports '';
  72.         // créer objet contact
  73.         $contact = new Contact();
  74.         // importer fonction du contact dans la base escalnet
  75.         $url 'extranet.escalconsulting.com/information/getContactFonction.php?id='.$contactIDSelect;
  76.         $c curl_init();
  77.         curl_setopt($cCURLOPT_URL$url);
  78.         curl_setopt($cCURLOPT_RETURNTRANSFERtrue);
  79.         curl_setopt($cCURLOPT_HEADERfalse);
  80.         $output curl_exec($c);
  81.         curl_close($c);
  82.         $output json_decode($output);
  83.         $output = (array)$output;
  84.         $fonction null;
  85.         //verif si contact avec fonction
  86.         if(count($output) != 0) {
  87.             $fonction = new Fonction();
  88.             $fonction->setAncienId($output['id']);
  89.             $fonction->setLibelle($output['lib']);
  90.             // verif si fonction pas deja existante dans la base
  91.             $verifFonction $this->getDoctrine()->getRepository('App:Fonction')->findOneBy(['ancienId' => $output['id']]);
  92.             if(!$verifFonction){
  93.                 $em->persist($fonction);
  94.                 $em->flush();
  95.                 $fonction $this->getDoctrine()->getRepository('App:Fonction')->findOneBy(['ancienId' => $output['id']]);
  96.             } else {
  97.                 $fonction $verifFonction;
  98.             }
  99.         }
  100.         // importer categories générales du contact dans la base escalnet
  101.         $url 'extranet.escalconsulting.com/information/getContactCategoriesGenerales.php?id='.$contactIDSelect;
  102.         $c curl_init();
  103.         curl_setopt($cCURLOPT_URL$url);
  104.         curl_setopt($cCURLOPT_RETURNTRANSFERtrue);
  105.         curl_setopt($cCURLOPT_HEADERfalse);
  106.         $output curl_exec($c);
  107.         curl_close($c);
  108.         $output json_decode($output);
  109.         //verif si contact avec categ
  110.         if(count($output) != 0) {
  111.             foreach ($output as $key => $value) {
  112.                 $value = (array)$value;
  113.                 $categ = new CategoriesGenerales();
  114.                 $categ->setAncienId($value['id']);
  115.                 $categ->setLibelle($value['lib']);
  116.                 $verifCateg $this->getDoctrine()->getRepository('App:CategoriesGenerales')->findOneBy(['ancienId' => $value['id']]);
  117.                 // verif si categ pas deja existante dans la base
  118.                 if(!$verifCateg){
  119.                     $em->persist($categ);
  120.                     $em->flush();
  121.                     $categ $this->getDoctrine()->getRepository('App:CategoriesGenerales')->findOneBy(['ancienId' => $value['id']]);
  122.                 } else {
  123.                     $categ $verifCateg;
  124.                 }
  125.                 $contact->addCategoriesGenerale($categ);
  126.             }
  127.         }
  128.         // importer sous categories générales du contact dans la base escalnet
  129.         $url 'extranet.escalconsulting.com/information/getContactSousCategoriesGenerales.php?id='.$contactIDSelect;
  130.         $c curl_init();
  131.         curl_setopt($cCURLOPT_URL$url);
  132.         curl_setopt($cCURLOPT_RETURNTRANSFERtrue);
  133.         curl_setopt($cCURLOPT_HEADERfalse);
  134.         $output curl_exec($c);
  135.         curl_close($c);
  136.         $output json_decode($output);
  137.         //verif si contact avec souscateg
  138.         if(count($output) != 0) {
  139.             foreach ($output as $key => $value) {
  140.                 $value = (array)$value;
  141.                 $sousCateg = new SousCategoriesGenerales();
  142.                 $sousCateg->setAncienId($value['id']);
  143.                 $sousCateg->setLibelle($value['lib']);
  144.                 $verifSousCateg $this->getDoctrine()->getRepository('App:SousCategoriesGenerales')->findOneBy(['ancienId' => $value['id']]);
  145.                 // verif si souscateg pas deja existante dans la base
  146.                 if(!$verifSousCateg){
  147.                     $em->persist($sousCateg);
  148.                     $em->flush();
  149.                     $sousCateg $this->getDoctrine()->getRepository('App:SousCategoriesGenerales')->findOneBy(['ancienId' => $value['id']]);
  150.                 } else {
  151.                     $sousCateg $verifSousCateg;
  152.                 }
  153.                 $contact->addSousCategoriesGenerale($sousCateg);
  154.             }
  155.         }
  156.         // importer coordonnees du contact dans la base escalnet
  157.         $url 'extranet.escalconsulting.com/information/getContactCoordonnees.php?id='.$contactIDSelect;
  158.         $c curl_init();
  159.         curl_setopt($cCURLOPT_URL$url);
  160.         curl_setopt($cCURLOPT_RETURNTRANSFERtrue);
  161.         curl_setopt($cCURLOPT_HEADERfalse);
  162.         $output curl_exec($c);
  163.         curl_close($c);
  164.         $output json_decode($output);
  165.         $output = (array)$output;
  166.         $coord null;
  167.         //verif si contact avec coordonnees
  168.         if(count($output) != 0) {
  169.             $coord = new Coordonnees();
  170.             $coord->setAncienId($output['id']);
  171.             $coord->setRue($output['adresse1']);
  172.             $coord->setComplements($output['adresse2']);
  173.             $coord->setBoitePostale($output['bpostal']);
  174.             $coord->setCodePostal($output['cpostal']);
  175.             $coord->setVille($output['ville']);
  176.             $coord->setPremierTel($output['tel']);
  177.             $coord->setDeuxiemeTel($output['tel_gsm']);
  178.             $coord->setEmail($output['email']);
  179.             $coord->setPremierURL($output['web1']);
  180.             $coord->setDeuxiemeURL($output['web2']);
  181.             $coord->setReseauxSociaux($output['social']);
  182.             if($output['ID_pays']){
  183.                 $pays $this->getDoctrine()->getRepository('App\Entity\Pays')->find($output['ID_pays']);
  184.                 $coord->setPays($pays);
  185.             }
  186.             // verif si coordonnees pas deja existante dans la base
  187.             $verifCoord $this->getDoctrine()->getRepository('App:Coordonnees')->findOneBy(['ancienId' => $output['id']]);
  188.             if(!$verifCoord){
  189.                 $em->persist($coord);
  190.                 $em->flush();
  191.                 $coord $this->getDoctrine()->getRepository('App:Coordonnees')->findOneBy(['ancienId' => $output['id']]);
  192.             } else {
  193.                 $coord $verifCoord;
  194.             }
  195.         }
  196.         // importer categorie de l'organisation du contact dans la base escalnet
  197.         $url 'extranet.escalconsulting.com/information/getOrganisationCategoriesGenerales.php?id='.$contactIDSelect;
  198.         $c curl_init();
  199.         curl_setopt($cCURLOPT_URL$url);
  200.         curl_setopt($cCURLOPT_RETURNTRANSFERtrue);
  201.         curl_setopt($cCURLOPT_HEADERfalse);
  202.         $output curl_exec($c);
  203.         curl_close($c);
  204.         $output json_decode($output);
  205.         $output = (array)$output;
  206.         $categOrg null;
  207.         //verif si organisation avec categ
  208.         if(count($output) != 0) {
  209.             $categOrg = new CategoriesGenerales();
  210.             $categOrg->setAncienId($output['id']);
  211.             $categOrg->setLibelle($output['lib']);
  212.             // verif si categ pas deja existante dans la base
  213.             $verifCategOrg $this->getDoctrine()->getRepository('App:CategoriesGenerales')->findOneBy(['ancienId' => $output['id']]);
  214.             if(!$verifCategOrg){
  215.                 $em->persist($categOrg);
  216.                 $em->flush();
  217.                 $categOrg $this->getDoctrine()->getRepository('App:CategoriesGenerales')->findOneBy(['ancienId' => $output['id']]);
  218.             } else {
  219.                 $categOrg $verifCategOrg;
  220.             }
  221.         }
  222.         // importer coordonnees de l'organisation du contact dans la base escalnet
  223.         $url 'extranet.escalconsulting.com/information/getOrganisationCoordonnees.php?id='.$contactIDSelect;
  224.         $c curl_init();
  225.         curl_setopt($cCURLOPT_URL$url);
  226.         curl_setopt($cCURLOPT_RETURNTRANSFERtrue);
  227.         curl_setopt($cCURLOPT_HEADERfalse);
  228.         $output curl_exec($c);
  229.         curl_close($c);
  230.         $output json_decode($output);
  231.         $output = (array)$output;
  232.         $coordOrg null;
  233.         //verif si organisation avec coordonnees
  234.         if(count($output) != 0) {
  235.             $coordOrg = new Coordonnees();
  236.             $coordOrg->setAncienId($output['id']);
  237.             $coordOrg->setRue($output['adresse1']);
  238.             $coordOrg->setComplements($output['adresse2']);
  239.             $coordOrg->setBoitePostale($output['bpostal']);
  240.             $coordOrg->setCodePostal($output['cpostal']);
  241.             $coordOrg->setVille($output['ville']);
  242.             $coordOrg->setPremierTel($output['tel']);
  243.             $coordOrg->setDeuxiemeTel($output['tel_gsm']);
  244.             $coordOrg->setEmail($output['email']);
  245.             $coordOrg->setPremierURL($output['web1']);
  246.             $coordOrg->setDeuxiemeURL($output['web2']);
  247.             $coordOrg->setReseauxSociaux($output['social']);
  248.             if($output['ID_pays']){
  249.                 $pays $this->getDoctrine()->getRepository('App\Entity\Pays')->find($output['ID_pays']);
  250.                 $coordOrg->setPays($pays);
  251.             }
  252.             // verif si coordonnees pas deja existante dans la base
  253.             $verifCoordOrg $this->getDoctrine()->getRepository('App:Coordonnees')->findOneBy(['ancienId' => $output['id']]);
  254.             if(!$verifCoordOrg){
  255.                 $em->persist($coordOrg);
  256.                 $em->flush();
  257.                 $coordOrg $this->getDoctrine()->getRepository('App:Coordonnees')->findOneBy(['ancienId' => $output['id']]);
  258.             } else {
  259.                 $coordOrg $verifCoordOrg;
  260.             }
  261.         }
  262.         // importer dirigeant de l'organisation du contact dans la base escalnet
  263.         $url 'extranet.escalconsulting.com/information/getOrganisationDirigeant.php?id='.$contactIDSelect;
  264.         $c curl_init();
  265.         curl_setopt($cCURLOPT_URL$url);
  266.         curl_setopt($cCURLOPT_RETURNTRANSFERtrue);
  267.         curl_setopt($cCURLOPT_HEADERfalse);
  268.         $output curl_exec($c);
  269.         curl_close($c);
  270.         $output json_decode($output);
  271.         $output = (array)$output;
  272.         //verif si organisation avec dirigeant
  273.         $dirigeant null;
  274.         if(count($output) != 0) {
  275.             $dirigeant = new Contact();
  276.             $dirigeant->setAncienId($output['id']);
  277.             $dirigeant->setNom($output['nom']);
  278.             $dirigeant->setPrenom($output['prenom']);
  279.             $dirigeant->setModeEnvoiPref($output['ID_mode_envoi']);
  280.             $dirigeant->setPiecesJointes($output['piecejointe']);
  281.             $commentaire $output['comments'];
  282.             if(strlen($output['comments']) >= 5000){
  283.                 $deb strlen($output['comments']) - 5000;
  284.                 $commentaire substr($output['comments'], $debstrlen($output['comments']));
  285.             }
  286.             $dirigeant->setCommentaires($commentaire);
  287.             $civiDir $this->getDoctrine()->getRepository('App:Civilite')->findOneBy(['ancienId' => $output['civilite']]);
  288.             $dirigeant->setCivilite($civiDir);
  289.             if($output['ID_type'] != null){
  290.                 $genreDir $this->getDoctrine()->getRepository('App:Genre')->find($output['ID_type']);
  291.                 $dirigeant->setGenre($genreDir);
  292.             }
  293.             // verif si dirigeant pas deja existant dans la base
  294.             $verifDirigeant $this->getDoctrine()->getRepository('App:Contact')->findOneBy(['ancienId' => $output['id']]);
  295.             if (!$verifDirigeant) {
  296.                 $em->persist($dirigeant);
  297.                 $em->flush();
  298.                 $dirigeant $this->getDoctrine()->getRepository('App:Contact')->findOneBy(['ancienId' => $output['id']]);
  299.             } else {
  300.                 $dirigeant $verifDirigeant;
  301.             }
  302.         }
  303.         // importer l'organisation du contact dans la base escalnet
  304.         $url 'extranet.escalconsulting.com/information/getOrganisationInformations.php?id='.$contactIDSelect;
  305.         $c curl_init();
  306.         curl_setopt($cCURLOPT_URL$url);
  307.         curl_setopt($cCURLOPT_RETURNTRANSFERtrue);
  308.         curl_setopt($cCURLOPT_HEADERfalse);
  309.         $output curl_exec($c);
  310.         curl_close($c);
  311.         $output json_decode($output);
  312.         $output = (array)$output;
  313.         $organisation null;
  314.         //verif si contact a une organisation
  315.         if(count($output) != 0) {
  316.             $organisation = new Organisation();
  317.             $organisation->setAncienId($output['id']);
  318.             $organisation->setNom($output['nom_soc']);
  319.             $organisation->setApe($output['ape_soc']);
  320.             $organisation->setSiren($output['siren_soc']);
  321.             $organisation->setCapital($output['capital_soc']);
  322.             $organisation->setEffectif($output['effectif_soc']);
  323.             $organisation->setImplantation($output['implantation_soc']);
  324.             $organisation->setCategorieGenerale($categOrg);
  325.             $organisation->setCoordonnees($coordOrg);
  326.             $organisation->setDirigeant($dirigeant);
  327.             if($output['ID_formjuri_soc'] != null){
  328.                 $formeJOrg $this->getDoctrine()->getRepository('App:FormeJuridique')->find($output['ID_formjuri_soc']);
  329.                 $organisation->setFormeJuridique($formeJOrg);
  330.             }
  331.             if($output['lib_type'] != ''){
  332.                 $etatOrg $this->getDoctrine()->getRepository('App:Etat')->findOneBy(['libelle' => $output['lib_type']]);
  333.                 $organisation->setEtat($etatOrg);
  334.             }
  335.             if($output['datecreation_soc'] != "0000-00-00" && $output['datecreation_soc'] != null){
  336.                 $dateCreOrg = new \DateTime($output['datecreation_soc']);
  337.                 $organisation->setDateCreation($dateCreOrg);
  338.             } 
  339.             if($output['created'] != "0000-00-00" && $output['created'] != null){
  340.                 $creationOrg = new \DateTime($output['created']);
  341.                 $organisation->setCreation($creationOrg);
  342.             }
  343.             // verif si organisation pas deja existant dans la base
  344.             $verifOrga $this->getDoctrine()->getRepository('App:Organisation')->findOneBy(['ancienId' => $output['id']]);
  345.             if (!$verifOrga) {
  346.                 $em->persist($organisation);
  347.                 $em->flush();
  348.                 $organisation $this->getDoctrine()->getRepository('App:Organisation')->findOneBy(['ancienId' => $output['id']]);
  349.             } else {
  350.                 $organisation$verifOrga;
  351.             }
  352.         }
  353.         // créer objets calred
  354.         $calendrierRedUn = new CalendrierRedactionnel();
  355.         $calendrierRedDeux = new CalendrierRedactionnel();
  356.         // importer emission du calRed1 dans la base escalnet
  357.         $url 'extranet.escalconsulting.com/information/getCalRedEmission.php?id='.$calRedUn;
  358.         $c curl_init();
  359.         curl_setopt($cCURLOPT_URL$url);
  360.         curl_setopt($cCURLOPT_RETURNTRANSFERtrue);
  361.         curl_setopt($cCURLOPT_HEADERfalse);
  362.         $output curl_exec($c);
  363.         curl_close($c);
  364.         $output json_decode($output);
  365.         $output = (array)$output;
  366.         //verif si emission récupérée
  367.         $emission1 null;
  368.         if(count($output) != 0) {
  369.             $emission1 = new Emission();
  370.             $emission1->setAncienId($output['id']);
  371.             $emission1->setNom($output['lib_support']);
  372.             $emission1->setDuree($output['duree']);
  373.             if($output['created'] != "0000-00-00" && $output['created'] != null){
  374.                 $creationEmi = new \DateTime($output['created']);
  375.                 $emission1->setCreation($creationEmi);
  376.             }
  377.             // verif si emission pas deja existant dans la base
  378.             $verifEmission $this->getDoctrine()->getRepository('App:Emission')->findOneBy(['ancienId' => $output['id']]);
  379.             if(!$verifEmission){
  380.                 $em->persist($emission1);
  381.                 $em->flush();
  382.                 $emission1 $this->getDoctrine()->getRepository('App:Emission')->findOneBy(['ancienId' => $output['id']]);
  383.             } else {
  384.                 $emission1 $verifEmission;
  385.             }
  386.         }
  387.         // importer emission du calRed2 dans la base escalnet
  388.         $url 'extranet.escalconsulting.com/information/getCalRedEmission.php?id='.$calRedDeux;
  389.         $c curl_init();
  390.         curl_setopt($cCURLOPT_URL$url);
  391.         curl_setopt($cCURLOPT_RETURNTRANSFERtrue);
  392.         curl_setopt($cCURLOPT_HEADERfalse);
  393.         $output curl_exec($c);
  394.         curl_close($c);
  395.         $output json_decode($output);
  396.         $output = (array)$output;
  397.         //verif si emission récupérée
  398.         $emission2 null;
  399.         if(count($output) != 0) {
  400.             $emission2 = new Emission();
  401.             $emission2->setAncienId($output['id']);
  402.             $emission2->setNom($output['lib_support']);
  403.             $emission2->setDuree($output['duree']);
  404.             if($output['created'] != "0000-00-00" && $output['created'] != null){
  405.                 $creationEmi = new \DateTime($output['created']);
  406.                 $emission2->setCreation($creationEmi);
  407.             }
  408.             // verif si emission pas deja existant dans la base
  409.             $verifEmission $this->getDoctrine()->getRepository('App:Emission')->findOneBy(['ancienId' => $output['id']]);
  410.             if(!$verifEmission){
  411.                 $em->persist($emission2);
  412.                 $em->flush();
  413.                 $emission2 $this->getDoctrine()->getRepository('App:Emission')->findOneBy(['ancienId' => $output['id']]);
  414.             } else {
  415.                 $emission2 $verifEmission;
  416.             }
  417.         }
  418.         // récupérer clients du calRed1
  419.         $url 'extranet.escalconsulting.com/information/getClientsCalRed.php?id='.$calRedUn;
  420.         $c curl_init();
  421.         curl_setopt($cCURLOPT_URL$url);
  422.         curl_setopt($cCURLOPT_RETURNTRANSFERtrue);
  423.         curl_setopt($cCURLOPT_HEADERfalse);
  424.         $output curl_exec($c);
  425.         curl_close($c);
  426.         $output json_decode($output);
  427.         $output = (array)$output;
  428.         //verif si calred1 avec clients
  429.         foreach ($output as $key => $value) {
  430.             $value = (array)$value;
  431.             $client $this->getDoctrine()->getRepository('App:Client')->findOneBy(['ancienId' => $value['id']]);
  432.             if($client) {
  433.                 $calendrierRedUn->addClient($client);
  434.             }
  435.         }
  436.         // récupérer clients du calRed2
  437.         $url 'extranet.escalconsulting.com/information/getClientsCalRed.php?id='.$calRedDeux;
  438.         $c curl_init();
  439.         curl_setopt($cCURLOPT_URL$url);
  440.         curl_setopt($cCURLOPT_RETURNTRANSFERtrue);
  441.         curl_setopt($cCURLOPT_HEADERfalse);
  442.         $output curl_exec($c);
  443.         curl_close($c);
  444.         $output json_decode($output);
  445.         $output = (array)$output;
  446.         //verif si calred2 avec clients
  447.         foreach ($output as $key => $value) {
  448.             $value = (array)$value;
  449.             $client $this->getDoctrine()->getRepository('App:Client')->findOneBy(['ancienId' => $value['id']]);
  450.             if($client) {
  451.                 $calendrierRedDeux->addClient($client);
  452.             }
  453.         }
  454.         // importer le calred1 dans la base escalnet
  455.         $url 'extranet.escalconsulting.com/information/getCalRedInformations.php?id='.$calRedUn;
  456.         $c curl_init();
  457.         curl_setopt($cCURLOPT_URL$url);
  458.         curl_setopt($cCURLOPT_RETURNTRANSFERtrue);
  459.         curl_setopt($cCURLOPT_HEADERfalse);
  460.         $output curl_exec($c);
  461.         curl_close($c);
  462.         $output json_decode($output);
  463.         $output = (array)$output;
  464.         //verif si calredUn récupéré
  465.         if(count($output) != 0) {
  466.             $calendrierRedUn->setAncienId($output['id']);
  467.             $calendrierRedUn->setEmission($emission1);
  468.             $calendrierRedUn->setDateBouclage($output['date_bouclage']);
  469.             $calendrierRedUn->setDateParution($output['date_parution']);
  470.             $calendrierRedUn->setDossier($output['dossier']);
  471.             $calendrierRedUn->setPortrait($output['portrait']);
  472.             $calendrierRedUn->setNotes($output['notes']);
  473.             if($output['created'] != "0000-00-00" && $output['created'] != null){
  474.                 $creationSupp = new \DateTime($output['created']);
  475.                 $calendrierRedUn->setCreation($creationSupp);
  476.             }
  477.             // verif si calredUn pas deja existant dans la base
  478.             $verifCalRed $this->getDoctrine()->getRepository('App:CalendrierRedactionnel')->findOneBy(['ancienId' => $output['id']]);
  479.             if(!$verifCalRed){
  480.                 $em->persist($calendrierRedUn);
  481.                 $em->flush();
  482.                 $calendrierRedUn $this->getDoctrine()->getRepository('App:CalendrierRedactionnel')->findOneBy(['ancienId' => $output['id']]);
  483.             } else {
  484.                 $calendrierRedUn $verifCalRed;
  485.             }
  486.         }
  487.         // importer le calred2 dans la base escalnet
  488.         $url 'extranet.escalconsulting.com/information/getCalRedInformations.php?id='.$calRedDeux;
  489.         $c curl_init();
  490.         curl_setopt($cCURLOPT_URL$url);
  491.         curl_setopt($cCURLOPT_RETURNTRANSFERtrue);
  492.         curl_setopt($cCURLOPT_HEADERfalse);
  493.         $output curl_exec($c);
  494.         curl_close($c);
  495.         $output json_decode($output);
  496.         $output = (array)$output;
  497.         //verif si calredDeux récupéré
  498.         if(count($output) != 0) {
  499.             $calendrierRedDeux->setAncienId($output['id']);
  500.             $calendrierRedDeux->setEmission($emission2);
  501.             $calendrierRedDeux->setDateBouclage($output['date_bouclage']);
  502.             $calendrierRedDeux->setDateParution($output['date_parution']);
  503.             $calendrierRedDeux->setDossier($output['dossier']);
  504.             $calendrierRedDeux->setPortrait($output['portrait']);
  505.             $calendrierRedDeux->setNotes($output['notes']);
  506.             if($output['created'] != "0000-00-00" && $output['created'] != null){
  507.                 $creationSupp = new \DateTime($output['created']);
  508.                 $calendrierRedDeux->setCreation($creationSupp);
  509.             }
  510.             // verif si calredUn pas deja existant dans la base
  511.             $verifCalRed $this->getDoctrine()->getRepository('App:CalendrierRedactionnel')->findOneBy(['ancienId' => $output['id']]);
  512.             if(!$verifCalRed){
  513.                 $em->persist($calendrierRedDeux);
  514.                 $em->flush();
  515.                 $calendrierRedDeux $this->getDoctrine()->getRepository('App:CalendrierRedactionnel')->findOneBy(['ancienId' => $output['id']]);
  516.             } else {
  517.                 $calendrierRedDeux $verifCalRed;
  518.             }
  519.         }
  520.         // récupérer les langues du contact
  521.         $url 'extranet.escalconsulting.com/information/getLanguesContact.php?id='.$contactIDSelect;
  522.         $c curl_init();
  523.         curl_setopt($cCURLOPT_URL$url);
  524.         curl_setopt($cCURLOPT_RETURNTRANSFERtrue);
  525.         curl_setopt($cCURLOPT_HEADERfalse);
  526.         $output curl_exec($c);
  527.         curl_close($c);
  528.         $output json_decode($output);
  529.         $output = (array)$output;
  530.         //verif si contact avec langues
  531.         foreach ($output as $key => $value) {
  532.             $value = (array)$value;
  533.             $langue $this->getDoctrine()->getRepository('App:Langues')->find($value['id']);
  534.             if($langue != null) {
  535.                 $contact->addLangue($langue);
  536.             }
  537.         }
  538.         // récupérer les pays du contact
  539.         $url 'extranet.escalconsulting.com/information/getPaysContact.php?id='.$contactIDSelect;
  540.         $c curl_init();
  541.         curl_setopt($cCURLOPT_URL$url);
  542.         curl_setopt($cCURLOPT_RETURNTRANSFERtrue);
  543.         curl_setopt($cCURLOPT_HEADERfalse);
  544.         $output curl_exec($c);
  545.         curl_close($c);
  546.         $output json_decode($output);
  547.         $output = (array)$output;
  548.         //verif si contact avec pays
  549.         foreach ($output as $key => $value) {
  550.             $value = (array)$value;
  551.             $pays $this->getDoctrine()->getRepository('App:Pays')->find($value['id']);
  552.             if($pays != null) {
  553.                 $contact->addPay($pays);
  554.             }
  555.         }
  556.         // récupérer calRed 1 et 2 du contact
  557.         if($calendrierRedUn->getAncienId() != null){
  558.             $contact->addCalendrierRedactionnel($calendrierRedUn);
  559.         }
  560.         if($calendrierRedDeux->getAncienId() != null){
  561.             $contact->addCalendrierRedactionnel($calendrierRedDeux);
  562.         }
  563.         // importation contact dans la base escalnet
  564.         $url 'extranet.escalconsulting.com/information/getContactInformations.php?id='.$contactIDSelect;
  565.         $c curl_init();
  566.         curl_setopt($cCURLOPT_URL$url);
  567.         curl_setopt($cCURLOPT_RETURNTRANSFERtrue);
  568.         curl_setopt($cCURLOPT_HEADERfalse);
  569.         $output curl_exec($c);
  570.         curl_close($c);
  571.         $output json_decode($output);
  572.         $output = (array)$output;
  573.         //verif si contact récupéré
  574.         if(count($output) != 0) {
  575.             $contact->setAncienId($output['id']);
  576.             $contact->setPrenom($output['prenom']);
  577.             $contact->setNom($output['nom']);
  578.             $contact->setFonction($fonction);
  579.             $contact->setCoordonnees($coord);
  580.             $contact->setModeEnvoiPref($output['ID_mode_envoi']);
  581.             $contact->setPiecesJointes($output['piecejointe']);
  582.             $commentaire $output['comments'];
  583.             if(strlen($output['comments']) >= 5000){
  584.                 $deb strlen($output['comments']) - 5000;
  585.                 $commentaire substr($output['comments'], $debstrlen($output['comments']));
  586.             }
  587.             $contact->setCommentaires($commentaire);
  588.             $civilite $this->getDoctrine()->getRepository('App:Civilite')->findOneBy(['ancienId' => $output['civilite']]);
  589.             $contact->setCivilite($civilite);
  590.             $genre $this->getDoctrine()->getRepository('App:Genre')->findOneBy(['libelle' => $output['lib_type']]);
  591.             $contact->setGenre($genre);
  592.             if($output['created'] != "0000-00-00" && $output['created'] != null){
  593.                 $creationCont = new \DateTime($output['created']);
  594.                 $contact->setCreation($creationCont);
  595.             }
  596.             if($output['date_conclusion'] != "0000-00-00" && $output['date_conclusion'] != null){
  597.                 $dateConc = new \DateTime($output['date_conclusion']);
  598.                 $contact->setDateConclusion($dateConc);
  599.             }
  600.             $contact->setObjet($output['objet']);
  601.             // verif si contact pas deja existant dans la base
  602.             $verifContact $this->getDoctrine()->getRepository('App:Contact')->findOneBy(['ancienId' => $output['id']]);
  603.             if(!$verifContact){
  604.                 $em->persist($contact);
  605.                 $em->flush();
  606.                 $contact $this->getDoctrine()->getRepository('App:Contact')->findOneBy(['ancienId' => $contact->getAncienId()]);
  607.             } else {
  608.                 $contact $verifContact;
  609.             }
  610.         }
  611.         // passer les ids des supports en tableau
  612.         $supportsIDList explode(","$mediaIdsSelect);
  613.         foreach ($supportsIDList as $key => $supportId){
  614.             if($supportId != ""){
  615.                 // créer objet support
  616.                 $support = new Support();
  617.                 // importer le secteur du support dans la base escalnet
  618.                 $url 'extranet.escalconsulting.com/information/getSecteurSupport.php?id='.$supportId;
  619.                 $c curl_init();
  620.                 curl_setopt($cCURLOPT_URL$url);
  621.                 curl_setopt($cCURLOPT_RETURNTRANSFERtrue);
  622.                 curl_setopt($cCURLOPT_HEADERfalse);
  623.                 $output curl_exec($c);
  624.                 curl_close($c);
  625.                 $output json_decode($output);
  626.                 $output = (array)$output;
  627.                 //verif si support avec secteur
  628.                 $secteur null;
  629.                 if(count($output) != 0) {
  630.                     $secteur = new Secteur();
  631.                     $secteur->setAncienId($output['id']);
  632.                     $secteur->setLibelle($output['lib']);
  633.                     // verif si secteur pas deja existant dans la base
  634.                     $verifSecteur $this->getDoctrine()->getRepository('App:Secteur')->findOneBy(['ancienId' => $output['id']]);
  635.                     if(!$verifSecteur){
  636.                         $em->persist($secteur);
  637.                         $em->flush();
  638.                         $secteur $this->getDoctrine()->getRepository('App:Secteur')->findOneBy(['ancienId' => $output['id']]);
  639.                     } else {
  640.                         $secteur $verifSecteur;
  641.                     }
  642.                     if($secteur != null){
  643.                         $support->addSecteur($secteur);
  644.                     }
  645.                 }
  646.                 // récupérer les langues du support
  647.                 $url 'extranet.escalconsulting.com/information/getLanguesSupport.php?id='.$supportId;
  648.                 $c curl_init();
  649.                 curl_setopt($cCURLOPT_URL$url);
  650.                 curl_setopt($cCURLOPT_RETURNTRANSFERtrue);
  651.                 curl_setopt($cCURLOPT_HEADERfalse);
  652.                 $output curl_exec($c);
  653.                 curl_close($c);
  654.                 $output json_decode($output);
  655.                 $output = (array)$output;
  656.                 //verif si support avec langues
  657.                 foreach ($output as $key => $value) {
  658.                     $value = (array)$value;
  659.                     $langue $this->getDoctrine()->getRepository('App:Langues')->find($value['id']);
  660.                     if($langue != null) {
  661.                         $support->addLangue($langue);
  662.                     }
  663.                 }
  664.                 // récupérer les pays du support
  665.                 $url 'extranet.escalconsulting.com/information/getPaysSupport.php?id='.$supportId;
  666.                 $c curl_init();
  667.                 curl_setopt($cCURLOPT_URL$url);
  668.                 curl_setopt($cCURLOPT_RETURNTRANSFERtrue);
  669.                 curl_setopt($cCURLOPT_HEADERfalse);
  670.                 $output curl_exec($c);
  671.                 curl_close($c);
  672.                 $output json_decode($output);
  673.                 $output = (array)$output;
  674.                 //verif si support avec pays
  675.                 foreach ($output as $key => $value) {
  676.                     $value = (array)$value;
  677.                     $pays $this->getDoctrine()->getRepository('App:Pays')->find($value['id']);
  678.                     if($pays != null) {
  679.                         $support->addPay($pays);
  680.                     }
  681.                 }
  682.                 // importer coordonnees du support dans la base escalnet
  683.                 $url 'extranet.escalconsulting.com/information/getSupportCoordonnees.php?id='.$supportId;
  684.                 $c curl_init();
  685.                 curl_setopt($cCURLOPT_URL$url);
  686.                 curl_setopt($cCURLOPT_RETURNTRANSFERtrue);
  687.                 curl_setopt($cCURLOPT_HEADERfalse);
  688.                 $output curl_exec($c);
  689.                 curl_close($c);
  690.                 $output json_decode($output);
  691.                 $output = (array)$output;
  692.                 $coordSupport null;
  693.                 //verif si support avec coordonnees
  694.                 if(count($output) != 0) {
  695.                     $coordSupport = new Coordonnees();
  696.                     $coordSupport->setAncienId($output['id']);
  697.                     $coordSupport->setRue($output['adresse1']);
  698.                     $coordSupport->setComplements($output['adresse2']);
  699.                     $coordSupport->setBoitePostale($output['bpostal']);
  700.                     $coordSupport->setCodePostal($output['cpostal']);
  701.                     $coordSupport->setVille($output['ville']);
  702.                     $coordSupport->setPremierTel($output['tel']);
  703.                     $coordSupport->setDeuxiemeTel($output['tel_gsm']);
  704.                     $coordSupport->setEmail($output['email']);
  705.                     $coordSupport->setPremierURL($output['web1']);
  706.                     $coordSupport->setDeuxiemeURL($output['web2']);
  707.                     $coordSupport->setReseauxSociaux($output['social']);
  708.                     if($output['ID_pays']){
  709.                         $pays $this->getDoctrine()->getRepository('App\Entity\Pays')->find($output['ID_pays']);
  710.                         $coordSupport->setPays($pays);
  711.                     }
  712.                     // verif si coordonnees pas deja existante dans la base
  713.                     $verifCoordSup $this->getDoctrine()->getRepository('App:Coordonnees')->findOneBy(['ancienId' => $output['id']]);
  714.                     if(!$verifCoordSup){
  715.                         $em->persist($coordSupport);
  716.                         $em->flush();
  717.                         $coordSupport $this->getDoctrine()->getRepository('App:Coordonnees')->findOneBy(['ancienId' => $output['id']]);
  718.                     } else {
  719.                         $coordSupport $verifCoordSup;
  720.                     }
  721.                 }
  722.                 // importer le support dans la base escalnet
  723.                 $url 'extranet.escalconsulting.com/information/getSupportInformations.php?id='.$supportId;
  724.                 $c curl_init();
  725.                 curl_setopt($cCURLOPT_URL$url);
  726.                 curl_setopt($cCURLOPT_RETURNTRANSFERtrue);
  727.                 curl_setopt($cCURLOPT_HEADERfalse);
  728.                 $output curl_exec($c);
  729.                 curl_close($c);
  730.                 $output json_decode($output);
  731.                 $output = (array)$output;
  732.                 //verif si support récupéré
  733.                 if(count($output) != 0) {
  734.                     $support->setAncienId($output['id']);
  735.                     $support->setNom($output['lib_support']);
  736.                     $support->setTelStandard($output['tel_standard']);
  737.                     $support->setTelPublicite($output['tel_publicite']);
  738.                     $support->setAudience($output['diffusion']);
  739.                     $support->setOJD($output['ojd']);
  740.                     $support->setPositionnement($output['positionmt']);
  741.                     $support->setCible($output['cible']);
  742.                     $commentaire $output['contenu'];
  743.                     if(strlen($output['contenu']) >= 5000){
  744.                         $deb strlen($output['contenu']) - 5000;
  745.                         $commentaire substr($output['contenu'], $debstrlen($output['contenu']));
  746.                     }
  747.                     $support->setCommentaires($commentaire);
  748.                     if($output['created'] != "0000-00-00" && $output['created'] != null){
  749.                         $creationSup = new \DateTime($output['created']);
  750.                         $support->setCreation($creationSup);
  751.                     }
  752.                     $support->setPrecisions($output['txt_zonediff']);
  753.                     $support->setDisponibilite($output['dispo_reserve']);
  754.                     $support->setExempDispo($output['exemp_dispo']);
  755.                     $support->setEquivPub($output['equiv_pub']);
  756.                     $support->setMediametrie($output['mediametrie']);
  757.                     $support->setDateBouclage($output['date_bouclage']);
  758.                     $support->setDateParution($output['parution']);
  759.                     if($output['ID_etat_sup'] != null){
  760.                         $etatSup $this->getDoctrine()->getRepository('App:Etat')->find($output['ID_etat_sup']);
  761.                         $support->setEtat($etatSup);
  762.                     }
  763.                     if($output['ID_supp_period'] != null){
  764.                         $periodSUpp $this->getDoctrine()->getRepository('App:Periodicite')->find($output['ID_supp_period']);
  765.                         $support->setPeriodicite($periodSUpp);
  766.                     }
  767.                     if($output['lib_supp_genre'] != ''){
  768.                         $typeMediaSUpp $this->getDoctrine()->getRepository('App:TypeMedia')->findOneBy(['libelle' => $output['lib_supp_genre']]);
  769.                         $support->setTypeMedia($typeMediaSUpp);
  770.                     }
  771.                     if($output['ID_type_presse'] != ''){
  772.                         $famille $this->getDoctrine()->getRepository('App:Famille')->find($output['ID_type_presse']);
  773.                         $support->setFamille($famille);
  774.                     }
  775.                     if($output['ID_zonediff'] != ''){
  776.                         $zonediffSUp $this->getDoctrine()->getRepository('App:ZoneDiffusion')->find($output['ID_zonediff']);
  777.                         $support->setZoneDiffusion($zonediffSUp);
  778.                     }
  779.                     $support->setCoordonnees($coordSupport);
  780.                     if($output['ID_casier'] != ''){
  781.                         $casierSupp $this->getDoctrine()->getRepository('App:Casier')->find($output['ID_casier']);
  782.                         $support->setCasier($casierSupp);
  783.                     }
  784.                     if($output['ID_type_ojd'] != ''){
  785.                         $typeOjdSup $this->getDoctrine()->getRepository('App:TypeOJD')->find($output['ID_type_ojd']);
  786.                         $support->setTypeOJD($typeOjdSup);
  787.                     }
  788.                     // verif si support pas deja existant dans la base
  789.                     $verifSupport $this->getDoctrine()->getRepository('App:Support')->findOneBy(['ancienId' => $output['id']]);
  790.                     if(!$verifSupport){
  791.                         $em->persist($support);
  792.                         $em->flush();
  793.                         $support $this->getDoctrine()->getRepository('App:Support')->findOneBy(['ancienId' => $output['id']]);
  794.                     } else {
  795.                         $support $verifSupport;
  796.                     }
  797.                     $listeIDsupports $listeIDsupports.$support->getId().',';
  798.                 }
  799.                 $contactSupport = new ContactSupport();
  800.                 $contactSupport->setContact($contact);
  801.                 $contactSupport->setSupport($support);
  802.                 if($support->getAncienId() != null){
  803.                     // importer support/contact asso
  804.                     $url 'extranet.escalconsulting.com/information/getContactSupport.php?idContact='.$contactIDSelect.'&idSupport='.$output['id'];
  805.                     $c curl_init();
  806.                     curl_setopt($cCURLOPT_URL$url);
  807.                     curl_setopt($cCURLOPT_RETURNTRANSFERtrue);
  808.                     curl_setopt($cCURLOPT_HEADERfalse);
  809.                     $output curl_exec($c);
  810.                     curl_close($c);
  811.                     $output json_decode($output);
  812.                     $output = (array)$output;
  813.                     //verif si asso récupérée
  814.                     if(count($output) != 0) {
  815.                         $contactSupport->setPremierTel($output['tel_suppasso']);
  816.                         $contactSupport->setDeuxiemeTel($output['fax_suppasso']);
  817.                         $contactSupport->setEmail($output['email_suppasso']);
  818.                         $contactSupport->setParticipe($output['participetjs_suppasso']);
  819.                         if($output['datedepart_suppasso'] != "0000-00-00" && $output['datedepart_suppasso'] != null){
  820.                             $dateDepart = new \DateTime($output['datedepart_suppasso']);
  821.                             $contactSupport->setDateDepart($dateDepart);
  822.                         }
  823.                         $commentaire $output['commentaire'];
  824.                         if(strlen($output['commentaire']) >= 5000){
  825.                             $deb strlen($output['commentaire']) - 5000;
  826.                             $commentaire substr($output['commentaire'], $debstrlen($output['commentaire']));
  827.                         }
  828.                         $contactSupport->setCommentaires($commentaire);
  829.                         $contactSupport->setDernierEmailVerif($output['dernier_email_verifie']);
  830.                         // importation fonction du contact dans l'asso support
  831.                         $url 'extranet.escalconsulting.com/information/getContactSupportFonction.php?id='.$output['IDfonction_suppasso'];
  832.                         $c curl_init();
  833.                         curl_setopt($cCURLOPT_URL$url);
  834.                         curl_setopt($cCURLOPT_RETURNTRANSFERtrue);
  835.                         curl_setopt($cCURLOPT_HEADERfalse);
  836.                         $output curl_exec($c);
  837.                         curl_close($c);
  838.                         $output json_decode($output);
  839.                         $output = (array)$output;
  840.                         //verif si contact avec fonction
  841.                         $fonctionSupp null;
  842.                         if(count($output) != 0) {
  843.                             $fonctionSupp = new Fonction();
  844.                             $fonctionSupp->setAncienId($output['id']);
  845.                             $fonctionSupp->setLibelle($output['lib']);
  846.                             // verif si fonction pas deja existante dans la base
  847.                             $verifFonctionSupp $this->getDoctrine()->getRepository('App:Fonction')->findOneBy(['ancienId' => $output['id']]);
  848.                             if(!$verifFonctionSupp){
  849.                                 $em->persist($fonctionSupp);
  850.                                 $em->flush();
  851.                                 $fonctionSupp $this->getDoctrine()->getRepository('App:Fonction')->findOneBy(['ancienId' => $output['id']]);
  852.                             } else {
  853.                                 $fonctionSupp $verifFonctionSupp;
  854.                             }
  855.                             $contactSupport->setFonction($fonctionSupp);
  856.                         }
  857.                         // verif si asso pas deja existante dans la base
  858.                         $verifAsso $this->getDoctrine()->getRepository('App:ContactSupport')->findOneBy(['contact' => $contact->getId(), 'support' => $support->getId()]);
  859.                         if(!$verifAsso){
  860.                             $em->persist($contactSupport);
  861.                             $em->flush();
  862.                             $contactSupport $this->getDoctrine()->getRepository('App:ContactSupport')->findOneBy(['contact' => $contact->getId(), 'support' => $support->getId()]);
  863.                         } else {
  864.                             $contactSupport $verifAsso;
  865.                         }
  866.                     }
  867.                 }
  868.             }
  869.         }
  870.         $contactOrg = new ContactOrganisation();
  871.         $contactOrg->setContact($contact);
  872.         $contactOrg->setOrganisation($organisation);
  873.         // importer organisation/contact asso
  874.         if($organisation != null){
  875.             $url 'extranet.escalconsulting.com/information/getContactOrganisation.php?idContact='.$contactIDSelect.'&idOrg='.$organisation->getAncienId();
  876.             $c curl_init();
  877.             curl_setopt($cCURLOPT_URL$url);
  878.             curl_setopt($cCURLOPT_RETURNTRANSFERtrue);
  879.             curl_setopt($cCURLOPT_HEADERfalse);
  880.             $output curl_exec($c);
  881.             curl_close($c);
  882.             $output json_decode($output);
  883.             $output = (array)$output;
  884.             //verif si asso récupérée
  885.             if(count($output) != 0) {
  886.                 $contactOrg->setPremierTel($output['tel_pro']);
  887.                 $contactOrg->setDeuxiemeTel($output['tel_pro2']);
  888.                 $contactOrg->setEmail($output['email_pro']);
  889.                 // verif si asso pas deja existante dans la base
  890.                 $verifAsso $this->getDoctrine()->getRepository('App:ContactOrganisation')->findOneBy(['contact' => $contact->getId(), 'organisation' => $organisation->getId()]);
  891.                 if(!$verifAsso){
  892.                     $em->persist($contactOrg);
  893.                     $em->flush();
  894.                     $contactOrg $this->getDoctrine()->getRepository('App:ContactOrganisation')->findOneBy(['contact' => $contact->getId(), 'organisation' => $organisation->getId()]);
  895.                 } else {
  896.                     $contactOrg $verifAsso;
  897.                 }
  898.             }
  899.         }
  900.         $tab = [];
  901.         $tab['contact'] = $contact->getId();
  902.         $tab['calRed1'] = $calendrierRedUn->getId();
  903.         $tab['calRed2'] = $calendrierRedDeux->getId();
  904.         foreach ($supportsIDList as $key => $supportId){
  905.             if($supportId != ""){
  906.                 $tab['supports'] = $listeIDsupports;
  907.             }
  908.         }
  909.         // on récupère le contact d'escalnet
  910.         // on récupère les supports d'escalnet
  911.         // on récupère les calreds d'escalnet
  912.         return new JsonResponse($tab);
  913.     }
  914.     /**
  915.      * @Route("/suivi/intranet/importation/copie/suivi/{suiviId}/{mediaIdsSelect}", methods={"GET"}, name="suivi_importer_copie_intranet")
  916.      */
  917.     public function suiviImporterCopie ($suiviId$mediaIdsSelectEntityManagerInterface $em)
  918.     {
  919.         $supportsIDList explode(","$mediaIdsSelect);
  920.         $suivi $this->getDoctrine()->getRepository('App:Suivi')->find($suiviId);
  921.         // récupérer id contact
  922.         $contactId $suivi->getContact()->getAncienId();
  923.         // récupérer ancien id authuser
  924.         $nomPrenom $suivi->getSuiviPar()->getUser()->getPrenom().".".$suivi->getSuiviPar()->getUser()->getNom();
  925.         if (strpos($nomPrenom,' ') !== false) {
  926.             $nomPrenom str_replace(' ','.'$nomPrenom);
  927.         }
  928.         $url 'extranet.escalconsulting.com/information/getMembreByNom.php?name='.$nomPrenom;
  929.         $c curl_init();
  930.         curl_setopt($cCURLOPT_URL$url);
  931.         curl_setopt($cCURLOPT_RETURNTRANSFERtrue);
  932.         curl_setopt($cCURLOPT_HEADERfalse);
  933.         $output curl_exec($c);
  934.         curl_close($c);
  935.         $output json_decode($output);
  936.         $output = (array)$output;
  937.         $authUserId $output['id'];
  938.         // récupérer id nature
  939.         $assoNature $suivi->getSuiviNatures();
  940.         $natureId $assoNature[0]->getNature()->getId();
  941.         if($natureId 6){
  942.             $natureId $natureId 1;
  943.         }
  944.         // récupérer id vecteur
  945.         $vecteurId $suivi->getVecteur()->getId();
  946.         // récupérer date du suivi
  947.         $date $suivi->getDate()->format('Y-m-d H:i');
  948.         // récupérer commentaire suivi
  949.         $texteSuivi $suivi->getCommentaires();
  950.         // récupérer statut du suivi
  951.         $statutId $suivi->getStatut()->getID();
  952.         // récupérer titre suivi
  953.         $titreSuivi $suivi->getTitre()." - Escalnet";
  954.         // récupérer a paraitre
  955.         if ($suivi->getAParaitre() == true) {
  956.             $aParaitre 'O';
  957.         } else {
  958.             $aParaitre 'N';
  959.         }
  960.         // récupérer theme itw
  961.         $themeItw $assoNature[0]->getThemeItw();
  962.         // récupérer date itw
  963.         if($natureId == || $natureId == 13 || $natureId == 14 || $natureId == 18 || $natureId == 19) {
  964.             $dateItw $assoNature[0]->getDateItw()->format('Y-m-d H:i');
  965.         } else {
  966.             $dateItw '0000-00-00 00:00:00';
  967.         }
  968.         // récupérer interlocuteur
  969.         $interlocuteur $assoNature[0]->getInterlocuteur();
  970.         // récupérer axe suivi
  971.         $axe $assoNature[0]->getAxe();
  972.         // récupérer interresse
  973.         $interesse $assoNature[0]->getInteresse();
  974.         // récupérer sujet
  975.         $sujet $assoNature[0]->getSujet();
  976.         // récupérer opportunité client
  977.         if ($assoNature[0]->getOpportunitesClient()){
  978.             $clientOpId $assoNature[0]->getOpportunitesClient()->getAncienId();
  979.         } else {
  980.             $clientOpId ;
  981.         }
  982.         // récupérer commentaire veillle
  983.         $veille $assoNature[0]->getCommentaire();
  984.         // récupérer type de relation
  985.         $typeRelation $suivi->getTypeRelation()->getId();
  986.         $typeRelation $typeRelation ;
  987.         // récupérer niveau
  988.         $niveau $suivi->getNiveau();
  989.         // récupérer raison
  990.         $raison 0;
  991.         if($natureId == || $natureId == 13 || $natureId == 14 || $natureId == 18) {
  992.             if($assoNature[0]->getRaison() == 'Retour client trop tardif'){
  993.                 $raison 1;
  994.             } else if ($assoNature[0]->getRaison() == 'Pas d\'informations assez pointues'){
  995.                 $raison 2;
  996.             } else if ($assoNature[0]->getRaison() == 'Non disponibilité'){
  997.                 $raison 3;
  998.             } else if ($assoNature[0]->getRaison() == 'Décliné par le client'){
  999.                 $raison 4;
  1000.             }
  1001.         }
  1002.         // récupérer inclureRA
  1003.         if ($suivi->getInclureRA() == true) {
  1004.             $inclureRA 'O';
  1005.         } else {
  1006.             $inclureRA 'N';
  1007.         }
  1008.         $suivi $this->getDoctrine()->getRepository('App:Suivi')->find($suiviId);
  1009.         // récupérer id des organisations
  1010.         $assosSoc $suivi->getClientMailingCalendrierRedactionnels();
  1011.         $idSoc1 $assosSoc[0]->getClient()->getAncienId();
  1012.         if ($assosSoc[1]){
  1013.             $idSoc2 $assosSoc[1]->getClient()->getAncienId();
  1014.         } else {
  1015.             $idSoc2 0;
  1016.         }
  1017.         // récupérer calRed1
  1018.         if($assosSoc[0]->getCalendrierRedactionnel()){
  1019.             $idCalRed1 $assosSoc[0]->getCalendrierRedactionnel()->getAncienId();
  1020.         } else {
  1021.             $idCalRed1 ;
  1022.         }
  1023.         // récupérer calRed2
  1024.         if ($assosSoc[1]){
  1025.             if($assosSoc[1]->getCalendrierRedactionnel()){
  1026.                 $idCalRed2 $assosSoc[1]->getCalendrierRedactionnel()->getAncienId();
  1027.             } else {
  1028.                 $idCalRed2 ;
  1029.             }
  1030.         } else {
  1031.             $idCalRed2 ;
  1032.         }
  1033.         // récupérer mail1
  1034.         if($assosSoc[0]->getMailing()){
  1035.             $idMail1 $assosSoc[0]->getMailing()->getAncienId();
  1036.         } else {
  1037.             $idMail1 ;
  1038.         }
  1039.         // récupérer mail2
  1040.         if ($assosSoc[1]){
  1041.             if($assosSoc[1]->getMailing()){
  1042.                 $idMail2 $assosSoc[1]->getMailing()->getAncienId();
  1043.             } else {
  1044.                 $idMail2 ;
  1045.             }
  1046.         } else {
  1047.             $idMail2 ;
  1048.         }
  1049.         // récupérer article
  1050.         $article $assosSoc[0]->getArticle();
  1051.         if($assosSoc[1] && $article == ''){
  1052.             $article $assosSoc[1]->getArticle();
  1053.         }
  1054.         // récupérer support id
  1055.         // pour chacun des supports, on crée un suivi
  1056.         foreach ($supportsIDList as $key => $supportId){
  1057.             if($supportId != ""){
  1058.                 try
  1059.                 {
  1060.                     $bdd = new PDO('mysql:host=185.126.230.125;dbname=escal_web;charset=utf8''escalprod''skl001');
  1061.                 }
  1062.                 catch (Exception $e)
  1063.                 {
  1064.                     die('Erreur : ' $e->getMessage());
  1065.                 }
  1066.                 if (strpos($texteSuivi,'"') !== false) {
  1067.                     $texteSuivi str_replace('"','\"'$texteSuivi);
  1068.                 }
  1069.                 if (strpos($themeItw,'"') !== false) {
  1070.                     $themeItw str_replace('"','\"'$themeItw);
  1071.                 }
  1072.                 if (strpos($axe,'"') !== false) {
  1073.                     $axe str_replace('"','\"'$axe);
  1074.                 }
  1075.                 if (strpos($interesse,'"') !== false) {
  1076.                     $interesse str_replace('"','\"'$interesse);
  1077.                 }
  1078.                 if (strpos($sujet,'"') !== false) {
  1079.                     $sujet str_replace('"','\"'$sujet);
  1080.                 }
  1081.                 if (strpos($interlocuteur,'"') !== false) {
  1082.                     $interlocuteur str_replace('"','\"'$interlocuteur);
  1083.                 }
  1084.                 if (strpos($titreSuivi,'"') !== false) {
  1085.                     $titreSuivi str_replace('"','\"'$titreSuivi);
  1086.                 }
  1087.                 $query 'INSERT INTO `ecw_suivi` (`ID_societe_client1`,`ID_societe_client2`,`ID_contact_suivi`,`ID_user`,`ID_type_suivi`,`ID_mode_suivi`,`date_suivi`,`texte_suivi`,`ID_statut`,`titre_suivi`,`ID_support`,`aparaitre_suivi` ,`themeitv_suivi`,`dateitv_suivi`,`interlocuteuritv_suivi`,`inclureRA_suivi`,`ID_calendrier`,`ID_mail`,`articlepresse`,`axeangle`,`interesse`, `sujetcours`,`ID_clientop`,`ID_calendrier2`,`ID_mail2`,`idtypepresse`,`niveausuivi`,`ID_itvna`,`veille_comm`) '
  1088.                     .' VALUES ('.$idSoc1.','.$idSoc2.','.$contactId.','.$authUserId.','.$natureId.','.$vecteurId.',"'.$date.'","'.$texteSuivi.'",'.$statutId.',"'.$titreSuivi.'",'.$supportId.',"'.$aParaitre.'","'.$themeItw.'","'.$dateItw.'","'.$interlocuteur.'","'.$inclureRA.'",'.$idCalRed1.','.$idMail1.',"'.$article.'","'.$axe.'","'.$interesse.'","'.$sujet.'",'.$clientOpId.','.$idCalRed2.','.$idMail2.','.$typeRelation.','.$niveau.','.$raison.',"'.$veille.'")';
  1089.                 $retour $bdd->exec($query);
  1090.             }
  1091.         }
  1092.         if($mediaIdsSelect == ','){
  1093.             $supportId 0;
  1094.             try
  1095.             {
  1096.                 $bdd = new PDO('mysql:host=185.126.230.125;dbname=escal_web;charset=utf8''escalprod''skl001');
  1097.             }
  1098.             catch (Exception $e)
  1099.             {
  1100.                 die('Erreur : ' $e->getMessage());
  1101.             }
  1102.             if (strpos($texteSuivi,'"') !== false) {
  1103.                 $texteSuivi str_replace('"','\"'$texteSuivi);
  1104.             }
  1105.             if (strpos($themeItw,'"') !== false) {
  1106.                 $themeItw str_replace('"','\"'$themeItw);
  1107.             }
  1108.             if (strpos($axe,'"') !== false) {
  1109.                 $axe str_replace('"','\"'$axe);
  1110.             }
  1111.             if (strpos($interesse,'"') !== false) {
  1112.                 $interesse str_replace('"','\"'$interesse);
  1113.             }
  1114.             if (strpos($sujet,'"') !== false) {
  1115.                 $sujet str_replace('"','\"'$sujet);
  1116.             }
  1117.             if (strpos($interlocuteur,'"') !== false) {
  1118.                 $interlocuteur str_replace('"','\"'$interlocuteur);
  1119.             }
  1120.             if (strpos($titreSuivi,'"') !== false) {
  1121.                 $titreSuivi str_replace('"','\"'$titreSuivi);
  1122.             }
  1123.             $query 'INSERT INTO `ecw_suivi` (`ID_societe_client1`,`ID_societe_client2`,`ID_contact_suivi`,`ID_user`,`ID_type_suivi`,`ID_mode_suivi`,`date_suivi`,`texte_suivi`,`ID_statut`,`titre_suivi`,`ID_support`,`aparaitre_suivi` ,`themeitv_suivi`,`dateitv_suivi`,`interlocuteuritv_suivi`,`inclureRA_suivi`,`ID_calendrier`,`ID_mail`,`articlepresse`,`axeangle`,`interesse`, `sujetcours`,`ID_clientop`,`ID_calendrier2`,`ID_mail2`,`idtypepresse`,`niveausuivi`,`ID_itvna`,`veille_comm`) '
  1124.                 .' VALUES ('.$idSoc1.','.$idSoc2.','.$contactId.','.$authUserId.','.$natureId.','.$vecteurId.',"'.$date.'","'.$texteSuivi.'",'.$statutId.',"'.$titreSuivi.'",'.$supportId.',"'.$aParaitre.'","'.$themeItw.'","'.$dateItw.'","'.$interlocuteur.'","'.$inclureRA.'",'.$idCalRed1.','.$idMail1.',"'.$article.'","'.$axe.'","'.$interesse.'","'.$sujet.'",'.$clientOpId.','.$idCalRed2.','.$idMail2.','.$typeRelation.','.$niveau.','.$raison.',"'.$veille.'")';
  1125.             $retour $bdd->exec($query);
  1126.         }
  1127.         return new JsonResponse('ok');
  1128.     }
  1129.     /**
  1130.      * @Route("/suivi/intranet/importation/supprimer/copie/suivi/{suiviId}", methods={"GET"}, name="suivi_supprimer_copie_intranet")
  1131.      */
  1132.     public function suiviSupprimerCopie ($suiviIdEntityManagerInterface $em)
  1133.     {
  1134.         $suivi $this->getDoctrine()->getRepository('App:Suivi')->find($suiviId);
  1135.         // récupérer id contact
  1136.         $contactId $suivi->getContact()->getAncienId();
  1137.         // récupérer ancien id authuser
  1138.         $nomPrenom $suivi->getSuiviPar()->getUser()->getPrenom().".".$suivi->getSuiviPar()->getUser()->getNom();
  1139.         if (strpos($nomPrenom,' ') !== false) {
  1140.             $nomPrenom str_replace(' ','.'$nomPrenom);
  1141.         }
  1142.         $url 'extranet.escalconsulting.com/information/getMembreByNom.php?name='.$nomPrenom;
  1143.         $c curl_init();
  1144.         curl_setopt($cCURLOPT_URL$url);
  1145.         curl_setopt($cCURLOPT_RETURNTRANSFERtrue);
  1146.         curl_setopt($cCURLOPT_HEADERfalse);
  1147.         $output curl_exec($c);
  1148.         curl_close($c);
  1149.         $output json_decode($output);
  1150.         $output = (array)$output;
  1151.         $authUserId $output['id'];
  1152.         // récupérer date du suivi
  1153.         $date $suivi->getDate()->format('Y-m-d H:i');
  1154.          try
  1155.         {
  1156.             $bdd = new PDO('mysql:host=185.126.230.125;dbname=escal_web;charset=utf8''escalprod''skl001');
  1157.         }
  1158.         catch (Exception $e)
  1159.         {
  1160.             die('Erreur : ' $e->getMessage());
  1161.         }
  1162.         $query 'DELETE FROM `ecw_suivi` WHERE `ID_contact_suivi`='.$contactId.'  AND `ID_user`='.$authUserId.'  AND `date_suivi`="'.$date.'"';
  1163.         $retour $bdd->exec($query);
  1164.         dump($query);
  1165.         return new JsonResponse('ok');
  1166.     }
  1167. }