<?php
namespace App\Controller;
use App\Entity\CalendrierRedactionnel;
use App\Entity\CategoriesGenerales;
use App\Entity\Client;
use App\Entity\Contact;
use App\Entity\ContactOrganisation;
use App\Entity\ContactSupport;
use App\Entity\Coordonnees;
use App\Entity\Emission;
use App\Entity\Fonction;
use App\Entity\Langues;
use App\Entity\MotsCles;
use App\Entity\Organisation;
use App\Entity\Secteur;
use App\Entity\SousCategoriesGenerales;
use App\Entity\Support;
use Doctrine\Common\Collections\ArrayCollection;
use PDO;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\JsonResponse;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
class ImportationIntranetController extends AbstractController
{
/**
* @Route("/suivi/intranet/ajouter/support/suivi/{suiviId}/{suppId}", methods={"GET"}, name="ajouter_supports_suivi")
*/
public function ajouterSupportsSuivi ($suiviId, $suppId, EntityManagerInterface $em)
{
$support = $this->getDoctrine()->getRepository('App:Support')->find($suppId);
$suivi = $this->getDoctrine()->getRepository('App:Suivi')->find($suiviId);
$suivi->addSupport($support);
$em->flush();
return new JsonResponse("ok");
}
/**
* @Route("/suivi/intranet/supprimer/support/suivi/{suiviId}/{suppId}", methods={"GET"}, name="supprimer_supports_suivi")
*/
public function supprimerSupportsSuivi ($suiviId, $suppId, EntityManagerInterface $em)
{
$support = $this->getDoctrine()->getRepository('App:Support')->find($suppId);
$suivi = $this->getDoctrine()->getRepository('App:Suivi')->find($suiviId);
$suivi->removeSupport($support);
$em->flush();
return new JsonResponse("ok");
}
/**
* @Route("/suivi/intranet/relance/verifier/intranet/{user}/{contactId}", methods={"GET"}, name="verifier_relance_existe_suivi")
*/
public function verifierRelanceExiste ($user, $contactId, EntityManagerInterface $em)
{
$url = 'extranet.escalconsulting.com/information/getVerifRelanceExiste.php?user='.$user.'&contactId='.$contactId;
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_HEADER, false);
$output = curl_exec($c);
curl_close($c);
$output = json_decode($output);
$response = new JsonResponse($output);
$response->headers->set('Content-Type', 'application/json');
return $response;
}
/**
* @Route("/suivi/intranet/importation/tout/{contactIDSelect}/{calRedUn}/{calRedDeux}/{mediaIdsSelect}", methods={"GET"}, name="suivi_importer_tout_intranet")
*/
public function suiviImporterTout ($contactIDSelect, $calRedUn, $calRedDeux, $mediaIdsSelect, EntityManagerInterface $em)
{
$listeIDsupports = '';
// créer objet contact
$contact = new Contact();
// importer fonction du contact dans la base escalnet
$url = 'extranet.escalconsulting.com/information/getContactFonction.php?id='.$contactIDSelect;
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_HEADER, false);
$output = curl_exec($c);
curl_close($c);
$output = json_decode($output);
$output = (array)$output;
$fonction = null;
//verif si contact avec fonction
if(count($output) != 0) {
$fonction = new Fonction();
$fonction->setAncienId($output['id']);
$fonction->setLibelle($output['lib']);
// verif si fonction pas deja existante dans la base
$verifFonction = $this->getDoctrine()->getRepository('App:Fonction')->findOneBy(['ancienId' => $output['id']]);
if(!$verifFonction){
$em->persist($fonction);
$em->flush();
$fonction = $this->getDoctrine()->getRepository('App:Fonction')->findOneBy(['ancienId' => $output['id']]);
} else {
$fonction = $verifFonction;
}
}
// importer categories générales du contact dans la base escalnet
$url = 'extranet.escalconsulting.com/information/getContactCategoriesGenerales.php?id='.$contactIDSelect;
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_HEADER, false);
$output = curl_exec($c);
curl_close($c);
$output = json_decode($output);
//verif si contact avec categ
if(count($output) != 0) {
foreach ($output as $key => $value) {
$value = (array)$value;
$categ = new CategoriesGenerales();
$categ->setAncienId($value['id']);
$categ->setLibelle($value['lib']);
$verifCateg = $this->getDoctrine()->getRepository('App:CategoriesGenerales')->findOneBy(['ancienId' => $value['id']]);
// verif si categ pas deja existante dans la base
if(!$verifCateg){
$em->persist($categ);
$em->flush();
$categ = $this->getDoctrine()->getRepository('App:CategoriesGenerales')->findOneBy(['ancienId' => $value['id']]);
} else {
$categ = $verifCateg;
}
$contact->addCategoriesGenerale($categ);
}
}
// importer sous categories générales du contact dans la base escalnet
$url = 'extranet.escalconsulting.com/information/getContactSousCategoriesGenerales.php?id='.$contactIDSelect;
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_HEADER, false);
$output = curl_exec($c);
curl_close($c);
$output = json_decode($output);
//verif si contact avec souscateg
if(count($output) != 0) {
foreach ($output as $key => $value) {
$value = (array)$value;
$sousCateg = new SousCategoriesGenerales();
$sousCateg->setAncienId($value['id']);
$sousCateg->setLibelle($value['lib']);
$verifSousCateg = $this->getDoctrine()->getRepository('App:SousCategoriesGenerales')->findOneBy(['ancienId' => $value['id']]);
// verif si souscateg pas deja existante dans la base
if(!$verifSousCateg){
$em->persist($sousCateg);
$em->flush();
$sousCateg = $this->getDoctrine()->getRepository('App:SousCategoriesGenerales')->findOneBy(['ancienId' => $value['id']]);
} else {
$sousCateg = $verifSousCateg;
}
$contact->addSousCategoriesGenerale($sousCateg);
}
}
// importer coordonnees du contact dans la base escalnet
$url = 'extranet.escalconsulting.com/information/getContactCoordonnees.php?id='.$contactIDSelect;
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_HEADER, false);
$output = curl_exec($c);
curl_close($c);
$output = json_decode($output);
$output = (array)$output;
$coord = null;
//verif si contact avec coordonnees
if(count($output) != 0) {
$coord = new Coordonnees();
$coord->setAncienId($output['id']);
$coord->setRue($output['adresse1']);
$coord->setComplements($output['adresse2']);
$coord->setBoitePostale($output['bpostal']);
$coord->setCodePostal($output['cpostal']);
$coord->setVille($output['ville']);
$coord->setPremierTel($output['tel']);
$coord->setDeuxiemeTel($output['tel_gsm']);
$coord->setEmail($output['email']);
$coord->setPremierURL($output['web1']);
$coord->setDeuxiemeURL($output['web2']);
$coord->setReseauxSociaux($output['social']);
if($output['ID_pays']){
$pays = $this->getDoctrine()->getRepository('App\Entity\Pays')->find($output['ID_pays']);
$coord->setPays($pays);
}
// verif si coordonnees pas deja existante dans la base
$verifCoord = $this->getDoctrine()->getRepository('App:Coordonnees')->findOneBy(['ancienId' => $output['id']]);
if(!$verifCoord){
$em->persist($coord);
$em->flush();
$coord = $this->getDoctrine()->getRepository('App:Coordonnees')->findOneBy(['ancienId' => $output['id']]);
} else {
$coord = $verifCoord;
}
}
// importer categorie de l'organisation du contact dans la base escalnet
$url = 'extranet.escalconsulting.com/information/getOrganisationCategoriesGenerales.php?id='.$contactIDSelect;
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_HEADER, false);
$output = curl_exec($c);
curl_close($c);
$output = json_decode($output);
$output = (array)$output;
$categOrg = null;
//verif si organisation avec categ
if(count($output) != 0) {
$categOrg = new CategoriesGenerales();
$categOrg->setAncienId($output['id']);
$categOrg->setLibelle($output['lib']);
// verif si categ pas deja existante dans la base
$verifCategOrg = $this->getDoctrine()->getRepository('App:CategoriesGenerales')->findOneBy(['ancienId' => $output['id']]);
if(!$verifCategOrg){
$em->persist($categOrg);
$em->flush();
$categOrg = $this->getDoctrine()->getRepository('App:CategoriesGenerales')->findOneBy(['ancienId' => $output['id']]);
} else {
$categOrg = $verifCategOrg;
}
}
// importer coordonnees de l'organisation du contact dans la base escalnet
$url = 'extranet.escalconsulting.com/information/getOrganisationCoordonnees.php?id='.$contactIDSelect;
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_HEADER, false);
$output = curl_exec($c);
curl_close($c);
$output = json_decode($output);
$output = (array)$output;
$coordOrg = null;
//verif si organisation avec coordonnees
if(count($output) != 0) {
$coordOrg = new Coordonnees();
$coordOrg->setAncienId($output['id']);
$coordOrg->setRue($output['adresse1']);
$coordOrg->setComplements($output['adresse2']);
$coordOrg->setBoitePostale($output['bpostal']);
$coordOrg->setCodePostal($output['cpostal']);
$coordOrg->setVille($output['ville']);
$coordOrg->setPremierTel($output['tel']);
$coordOrg->setDeuxiemeTel($output['tel_gsm']);
$coordOrg->setEmail($output['email']);
$coordOrg->setPremierURL($output['web1']);
$coordOrg->setDeuxiemeURL($output['web2']);
$coordOrg->setReseauxSociaux($output['social']);
if($output['ID_pays']){
$pays = $this->getDoctrine()->getRepository('App\Entity\Pays')->find($output['ID_pays']);
$coordOrg->setPays($pays);
}
// verif si coordonnees pas deja existante dans la base
$verifCoordOrg = $this->getDoctrine()->getRepository('App:Coordonnees')->findOneBy(['ancienId' => $output['id']]);
if(!$verifCoordOrg){
$em->persist($coordOrg);
$em->flush();
$coordOrg = $this->getDoctrine()->getRepository('App:Coordonnees')->findOneBy(['ancienId' => $output['id']]);
} else {
$coordOrg = $verifCoordOrg;
}
}
// importer dirigeant de l'organisation du contact dans la base escalnet
$url = 'extranet.escalconsulting.com/information/getOrganisationDirigeant.php?id='.$contactIDSelect;
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_HEADER, false);
$output = curl_exec($c);
curl_close($c);
$output = json_decode($output);
$output = (array)$output;
//verif si organisation avec dirigeant
$dirigeant = null;
if(count($output) != 0) {
$dirigeant = new Contact();
$dirigeant->setAncienId($output['id']);
$dirigeant->setNom($output['nom']);
$dirigeant->setPrenom($output['prenom']);
$dirigeant->setModeEnvoiPref($output['ID_mode_envoi']);
$dirigeant->setPiecesJointes($output['piecejointe']);
$commentaire = $output['comments'];
if(strlen($output['comments']) >= 5000){
$deb = strlen($output['comments']) - 5000;
$commentaire = substr($output['comments'], $deb, strlen($output['comments']));
}
$dirigeant->setCommentaires($commentaire);
$civiDir = $this->getDoctrine()->getRepository('App:Civilite')->findOneBy(['ancienId' => $output['civilite']]);
$dirigeant->setCivilite($civiDir);
if($output['ID_type'] != null){
$genreDir = $this->getDoctrine()->getRepository('App:Genre')->find($output['ID_type']);
$dirigeant->setGenre($genreDir);
}
// verif si dirigeant pas deja existant dans la base
$verifDirigeant = $this->getDoctrine()->getRepository('App:Contact')->findOneBy(['ancienId' => $output['id']]);
if (!$verifDirigeant) {
$em->persist($dirigeant);
$em->flush();
$dirigeant = $this->getDoctrine()->getRepository('App:Contact')->findOneBy(['ancienId' => $output['id']]);
} else {
$dirigeant = $verifDirigeant;
}
}
// importer l'organisation du contact dans la base escalnet
$url = 'extranet.escalconsulting.com/information/getOrganisationInformations.php?id='.$contactIDSelect;
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_HEADER, false);
$output = curl_exec($c);
curl_close($c);
$output = json_decode($output);
$output = (array)$output;
$organisation = null;
//verif si contact a une organisation
if(count($output) != 0) {
$organisation = new Organisation();
$organisation->setAncienId($output['id']);
$organisation->setNom($output['nom_soc']);
$organisation->setApe($output['ape_soc']);
$organisation->setSiren($output['siren_soc']);
$organisation->setCapital($output['capital_soc']);
$organisation->setEffectif($output['effectif_soc']);
$organisation->setImplantation($output['implantation_soc']);
$organisation->setCategorieGenerale($categOrg);
$organisation->setCoordonnees($coordOrg);
$organisation->setDirigeant($dirigeant);
if($output['ID_formjuri_soc'] != null){
$formeJOrg = $this->getDoctrine()->getRepository('App:FormeJuridique')->find($output['ID_formjuri_soc']);
$organisation->setFormeJuridique($formeJOrg);
}
if($output['lib_type'] != ''){
$etatOrg = $this->getDoctrine()->getRepository('App:Etat')->findOneBy(['libelle' => $output['lib_type']]);
$organisation->setEtat($etatOrg);
}
if($output['datecreation_soc'] != "0000-00-00" && $output['datecreation_soc'] != null){
$dateCreOrg = new \DateTime($output['datecreation_soc']);
$organisation->setDateCreation($dateCreOrg);
}
if($output['created'] != "0000-00-00" && $output['created'] != null){
$creationOrg = new \DateTime($output['created']);
$organisation->setCreation($creationOrg);
}
// verif si organisation pas deja existant dans la base
$verifOrga = $this->getDoctrine()->getRepository('App:Organisation')->findOneBy(['ancienId' => $output['id']]);
if (!$verifOrga) {
$em->persist($organisation);
$em->flush();
$organisation = $this->getDoctrine()->getRepository('App:Organisation')->findOneBy(['ancienId' => $output['id']]);
} else {
$organisation= $verifOrga;
}
}
// créer objets calred
$calendrierRedUn = new CalendrierRedactionnel();
$calendrierRedDeux = new CalendrierRedactionnel();
// importer emission du calRed1 dans la base escalnet
$url = 'extranet.escalconsulting.com/information/getCalRedEmission.php?id='.$calRedUn;
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_HEADER, false);
$output = curl_exec($c);
curl_close($c);
$output = json_decode($output);
$output = (array)$output;
//verif si emission récupérée
$emission1 = null;
if(count($output) != 0) {
$emission1 = new Emission();
$emission1->setAncienId($output['id']);
$emission1->setNom($output['lib_support']);
$emission1->setDuree($output['duree']);
if($output['created'] != "0000-00-00" && $output['created'] != null){
$creationEmi = new \DateTime($output['created']);
$emission1->setCreation($creationEmi);
}
// verif si emission pas deja existant dans la base
$verifEmission = $this->getDoctrine()->getRepository('App:Emission')->findOneBy(['ancienId' => $output['id']]);
if(!$verifEmission){
$em->persist($emission1);
$em->flush();
$emission1 = $this->getDoctrine()->getRepository('App:Emission')->findOneBy(['ancienId' => $output['id']]);
} else {
$emission1 = $verifEmission;
}
}
// importer emission du calRed2 dans la base escalnet
$url = 'extranet.escalconsulting.com/information/getCalRedEmission.php?id='.$calRedDeux;
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_HEADER, false);
$output = curl_exec($c);
curl_close($c);
$output = json_decode($output);
$output = (array)$output;
//verif si emission récupérée
$emission2 = null;
if(count($output) != 0) {
$emission2 = new Emission();
$emission2->setAncienId($output['id']);
$emission2->setNom($output['lib_support']);
$emission2->setDuree($output['duree']);
if($output['created'] != "0000-00-00" && $output['created'] != null){
$creationEmi = new \DateTime($output['created']);
$emission2->setCreation($creationEmi);
}
// verif si emission pas deja existant dans la base
$verifEmission = $this->getDoctrine()->getRepository('App:Emission')->findOneBy(['ancienId' => $output['id']]);
if(!$verifEmission){
$em->persist($emission2);
$em->flush();
$emission2 = $this->getDoctrine()->getRepository('App:Emission')->findOneBy(['ancienId' => $output['id']]);
} else {
$emission2 = $verifEmission;
}
}
// récupérer clients du calRed1
$url = 'extranet.escalconsulting.com/information/getClientsCalRed.php?id='.$calRedUn;
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_HEADER, false);
$output = curl_exec($c);
curl_close($c);
$output = json_decode($output);
$output = (array)$output;
//verif si calred1 avec clients
foreach ($output as $key => $value) {
$value = (array)$value;
$client = $this->getDoctrine()->getRepository('App:Client')->findOneBy(['ancienId' => $value['id']]);
if($client) {
$calendrierRedUn->addClient($client);
}
}
// récupérer clients du calRed2
$url = 'extranet.escalconsulting.com/information/getClientsCalRed.php?id='.$calRedDeux;
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_HEADER, false);
$output = curl_exec($c);
curl_close($c);
$output = json_decode($output);
$output = (array)$output;
//verif si calred2 avec clients
foreach ($output as $key => $value) {
$value = (array)$value;
$client = $this->getDoctrine()->getRepository('App:Client')->findOneBy(['ancienId' => $value['id']]);
if($client) {
$calendrierRedDeux->addClient($client);
}
}
// importer le calred1 dans la base escalnet
$url = 'extranet.escalconsulting.com/information/getCalRedInformations.php?id='.$calRedUn;
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_HEADER, false);
$output = curl_exec($c);
curl_close($c);
$output = json_decode($output);
$output = (array)$output;
//verif si calredUn récupéré
if(count($output) != 0) {
$calendrierRedUn->setAncienId($output['id']);
$calendrierRedUn->setEmission($emission1);
$calendrierRedUn->setDateBouclage($output['date_bouclage']);
$calendrierRedUn->setDateParution($output['date_parution']);
$calendrierRedUn->setDossier($output['dossier']);
$calendrierRedUn->setPortrait($output['portrait']);
$calendrierRedUn->setNotes($output['notes']);
if($output['created'] != "0000-00-00" && $output['created'] != null){
$creationSupp = new \DateTime($output['created']);
$calendrierRedUn->setCreation($creationSupp);
}
// verif si calredUn pas deja existant dans la base
$verifCalRed = $this->getDoctrine()->getRepository('App:CalendrierRedactionnel')->findOneBy(['ancienId' => $output['id']]);
if(!$verifCalRed){
$em->persist($calendrierRedUn);
$em->flush();
$calendrierRedUn = $this->getDoctrine()->getRepository('App:CalendrierRedactionnel')->findOneBy(['ancienId' => $output['id']]);
} else {
$calendrierRedUn = $verifCalRed;
}
}
// importer le calred2 dans la base escalnet
$url = 'extranet.escalconsulting.com/information/getCalRedInformations.php?id='.$calRedDeux;
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_HEADER, false);
$output = curl_exec($c);
curl_close($c);
$output = json_decode($output);
$output = (array)$output;
//verif si calredDeux récupéré
if(count($output) != 0) {
$calendrierRedDeux->setAncienId($output['id']);
$calendrierRedDeux->setEmission($emission2);
$calendrierRedDeux->setDateBouclage($output['date_bouclage']);
$calendrierRedDeux->setDateParution($output['date_parution']);
$calendrierRedDeux->setDossier($output['dossier']);
$calendrierRedDeux->setPortrait($output['portrait']);
$calendrierRedDeux->setNotes($output['notes']);
if($output['created'] != "0000-00-00" && $output['created'] != null){
$creationSupp = new \DateTime($output['created']);
$calendrierRedDeux->setCreation($creationSupp);
}
// verif si calredUn pas deja existant dans la base
$verifCalRed = $this->getDoctrine()->getRepository('App:CalendrierRedactionnel')->findOneBy(['ancienId' => $output['id']]);
if(!$verifCalRed){
$em->persist($calendrierRedDeux);
$em->flush();
$calendrierRedDeux = $this->getDoctrine()->getRepository('App:CalendrierRedactionnel')->findOneBy(['ancienId' => $output['id']]);
} else {
$calendrierRedDeux = $verifCalRed;
}
}
// récupérer les langues du contact
$url = 'extranet.escalconsulting.com/information/getLanguesContact.php?id='.$contactIDSelect;
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_HEADER, false);
$output = curl_exec($c);
curl_close($c);
$output = json_decode($output);
$output = (array)$output;
//verif si contact avec langues
foreach ($output as $key => $value) {
$value = (array)$value;
$langue = $this->getDoctrine()->getRepository('App:Langues')->find($value['id']);
if($langue != null) {
$contact->addLangue($langue);
}
}
// récupérer les pays du contact
$url = 'extranet.escalconsulting.com/information/getPaysContact.php?id='.$contactIDSelect;
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_HEADER, false);
$output = curl_exec($c);
curl_close($c);
$output = json_decode($output);
$output = (array)$output;
//verif si contact avec pays
foreach ($output as $key => $value) {
$value = (array)$value;
$pays = $this->getDoctrine()->getRepository('App:Pays')->find($value['id']);
if($pays != null) {
$contact->addPay($pays);
}
}
// récupérer calRed 1 et 2 du contact
if($calendrierRedUn->getAncienId() != null){
$contact->addCalendrierRedactionnel($calendrierRedUn);
}
if($calendrierRedDeux->getAncienId() != null){
$contact->addCalendrierRedactionnel($calendrierRedDeux);
}
// importation contact dans la base escalnet
$url = 'extranet.escalconsulting.com/information/getContactInformations.php?id='.$contactIDSelect;
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_HEADER, false);
$output = curl_exec($c);
curl_close($c);
$output = json_decode($output);
$output = (array)$output;
//verif si contact récupéré
if(count($output) != 0) {
$contact->setAncienId($output['id']);
$contact->setPrenom($output['prenom']);
$contact->setNom($output['nom']);
$contact->setFonction($fonction);
$contact->setCoordonnees($coord);
$contact->setModeEnvoiPref($output['ID_mode_envoi']);
$contact->setPiecesJointes($output['piecejointe']);
$commentaire = $output['comments'];
if(strlen($output['comments']) >= 5000){
$deb = strlen($output['comments']) - 5000;
$commentaire = substr($output['comments'], $deb, strlen($output['comments']));
}
$contact->setCommentaires($commentaire);
$civilite = $this->getDoctrine()->getRepository('App:Civilite')->findOneBy(['ancienId' => $output['civilite']]);
$contact->setCivilite($civilite);
$genre = $this->getDoctrine()->getRepository('App:Genre')->findOneBy(['libelle' => $output['lib_type']]);
$contact->setGenre($genre);
if($output['created'] != "0000-00-00" && $output['created'] != null){
$creationCont = new \DateTime($output['created']);
$contact->setCreation($creationCont);
}
if($output['date_conclusion'] != "0000-00-00" && $output['date_conclusion'] != null){
$dateConc = new \DateTime($output['date_conclusion']);
$contact->setDateConclusion($dateConc);
}
$contact->setObjet($output['objet']);
// verif si contact pas deja existant dans la base
$verifContact = $this->getDoctrine()->getRepository('App:Contact')->findOneBy(['ancienId' => $output['id']]);
if(!$verifContact){
$em->persist($contact);
$em->flush();
$contact = $this->getDoctrine()->getRepository('App:Contact')->findOneBy(['ancienId' => $contact->getAncienId()]);
} else {
$contact = $verifContact;
}
}
// passer les ids des supports en tableau
$supportsIDList = explode(",", $mediaIdsSelect);
foreach ($supportsIDList as $key => $supportId){
if($supportId != ""){
// créer objet support
$support = new Support();
// importer le secteur du support dans la base escalnet
$url = 'extranet.escalconsulting.com/information/getSecteurSupport.php?id='.$supportId;
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_HEADER, false);
$output = curl_exec($c);
curl_close($c);
$output = json_decode($output);
$output = (array)$output;
//verif si support avec secteur
$secteur = null;
if(count($output) != 0) {
$secteur = new Secteur();
$secteur->setAncienId($output['id']);
$secteur->setLibelle($output['lib']);
// verif si secteur pas deja existant dans la base
$verifSecteur = $this->getDoctrine()->getRepository('App:Secteur')->findOneBy(['ancienId' => $output['id']]);
if(!$verifSecteur){
$em->persist($secteur);
$em->flush();
$secteur = $this->getDoctrine()->getRepository('App:Secteur')->findOneBy(['ancienId' => $output['id']]);
} else {
$secteur = $verifSecteur;
}
if($secteur != null){
$support->addSecteur($secteur);
}
}
// récupérer les langues du support
$url = 'extranet.escalconsulting.com/information/getLanguesSupport.php?id='.$supportId;
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_HEADER, false);
$output = curl_exec($c);
curl_close($c);
$output = json_decode($output);
$output = (array)$output;
//verif si support avec langues
foreach ($output as $key => $value) {
$value = (array)$value;
$langue = $this->getDoctrine()->getRepository('App:Langues')->find($value['id']);
if($langue != null) {
$support->addLangue($langue);
}
}
// récupérer les pays du support
$url = 'extranet.escalconsulting.com/information/getPaysSupport.php?id='.$supportId;
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_HEADER, false);
$output = curl_exec($c);
curl_close($c);
$output = json_decode($output);
$output = (array)$output;
//verif si support avec pays
foreach ($output as $key => $value) {
$value = (array)$value;
$pays = $this->getDoctrine()->getRepository('App:Pays')->find($value['id']);
if($pays != null) {
$support->addPay($pays);
}
}
// importer coordonnees du support dans la base escalnet
$url = 'extranet.escalconsulting.com/information/getSupportCoordonnees.php?id='.$supportId;
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_HEADER, false);
$output = curl_exec($c);
curl_close($c);
$output = json_decode($output);
$output = (array)$output;
$coordSupport = null;
//verif si support avec coordonnees
if(count($output) != 0) {
$coordSupport = new Coordonnees();
$coordSupport->setAncienId($output['id']);
$coordSupport->setRue($output['adresse1']);
$coordSupport->setComplements($output['adresse2']);
$coordSupport->setBoitePostale($output['bpostal']);
$coordSupport->setCodePostal($output['cpostal']);
$coordSupport->setVille($output['ville']);
$coordSupport->setPremierTel($output['tel']);
$coordSupport->setDeuxiemeTel($output['tel_gsm']);
$coordSupport->setEmail($output['email']);
$coordSupport->setPremierURL($output['web1']);
$coordSupport->setDeuxiemeURL($output['web2']);
$coordSupport->setReseauxSociaux($output['social']);
if($output['ID_pays']){
$pays = $this->getDoctrine()->getRepository('App\Entity\Pays')->find($output['ID_pays']);
$coordSupport->setPays($pays);
}
// verif si coordonnees pas deja existante dans la base
$verifCoordSup = $this->getDoctrine()->getRepository('App:Coordonnees')->findOneBy(['ancienId' => $output['id']]);
if(!$verifCoordSup){
$em->persist($coordSupport);
$em->flush();
$coordSupport = $this->getDoctrine()->getRepository('App:Coordonnees')->findOneBy(['ancienId' => $output['id']]);
} else {
$coordSupport = $verifCoordSup;
}
}
// importer le support dans la base escalnet
$url = 'extranet.escalconsulting.com/information/getSupportInformations.php?id='.$supportId;
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_HEADER, false);
$output = curl_exec($c);
curl_close($c);
$output = json_decode($output);
$output = (array)$output;
//verif si support récupéré
if(count($output) != 0) {
$support->setAncienId($output['id']);
$support->setNom($output['lib_support']);
$support->setTelStandard($output['tel_standard']);
$support->setTelPublicite($output['tel_publicite']);
$support->setAudience($output['diffusion']);
$support->setOJD($output['ojd']);
$support->setPositionnement($output['positionmt']);
$support->setCible($output['cible']);
$commentaire = $output['contenu'];
if(strlen($output['contenu']) >= 5000){
$deb = strlen($output['contenu']) - 5000;
$commentaire = substr($output['contenu'], $deb, strlen($output['contenu']));
}
$support->setCommentaires($commentaire);
if($output['created'] != "0000-00-00" && $output['created'] != null){
$creationSup = new \DateTime($output['created']);
$support->setCreation($creationSup);
}
$support->setPrecisions($output['txt_zonediff']);
$support->setDisponibilite($output['dispo_reserve']);
$support->setExempDispo($output['exemp_dispo']);
$support->setEquivPub($output['equiv_pub']);
$support->setMediametrie($output['mediametrie']);
$support->setDateBouclage($output['date_bouclage']);
$support->setDateParution($output['parution']);
if($output['ID_etat_sup'] != null){
$etatSup = $this->getDoctrine()->getRepository('App:Etat')->find($output['ID_etat_sup']);
$support->setEtat($etatSup);
}
if($output['ID_supp_period'] != null){
$periodSUpp = $this->getDoctrine()->getRepository('App:Periodicite')->find($output['ID_supp_period']);
$support->setPeriodicite($periodSUpp);
}
if($output['lib_supp_genre'] != ''){
$typeMediaSUpp = $this->getDoctrine()->getRepository('App:TypeMedia')->findOneBy(['libelle' => $output['lib_supp_genre']]);
$support->setTypeMedia($typeMediaSUpp);
}
if($output['ID_type_presse'] != ''){
$famille = $this->getDoctrine()->getRepository('App:Famille')->find($output['ID_type_presse']);
$support->setFamille($famille);
}
if($output['ID_zonediff'] != ''){
$zonediffSUp = $this->getDoctrine()->getRepository('App:ZoneDiffusion')->find($output['ID_zonediff']);
$support->setZoneDiffusion($zonediffSUp);
}
$support->setCoordonnees($coordSupport);
if($output['ID_casier'] != ''){
$casierSupp = $this->getDoctrine()->getRepository('App:Casier')->find($output['ID_casier']);
$support->setCasier($casierSupp);
}
if($output['ID_type_ojd'] != ''){
$typeOjdSup = $this->getDoctrine()->getRepository('App:TypeOJD')->find($output['ID_type_ojd']);
$support->setTypeOJD($typeOjdSup);
}
// verif si support pas deja existant dans la base
$verifSupport = $this->getDoctrine()->getRepository('App:Support')->findOneBy(['ancienId' => $output['id']]);
if(!$verifSupport){
$em->persist($support);
$em->flush();
$support = $this->getDoctrine()->getRepository('App:Support')->findOneBy(['ancienId' => $output['id']]);
} else {
$support = $verifSupport;
}
$listeIDsupports = $listeIDsupports.$support->getId().',';
}
$contactSupport = new ContactSupport();
$contactSupport->setContact($contact);
$contactSupport->setSupport($support);
if($support->getAncienId() != null){
// importer support/contact asso
$url = 'extranet.escalconsulting.com/information/getContactSupport.php?idContact='.$contactIDSelect.'&idSupport='.$output['id'];
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_HEADER, false);
$output = curl_exec($c);
curl_close($c);
$output = json_decode($output);
$output = (array)$output;
//verif si asso récupérée
if(count($output) != 0) {
$contactSupport->setPremierTel($output['tel_suppasso']);
$contactSupport->setDeuxiemeTel($output['fax_suppasso']);
$contactSupport->setEmail($output['email_suppasso']);
$contactSupport->setParticipe($output['participetjs_suppasso']);
if($output['datedepart_suppasso'] != "0000-00-00" && $output['datedepart_suppasso'] != null){
$dateDepart = new \DateTime($output['datedepart_suppasso']);
$contactSupport->setDateDepart($dateDepart);
}
$commentaire = $output['commentaire'];
if(strlen($output['commentaire']) >= 5000){
$deb = strlen($output['commentaire']) - 5000;
$commentaire = substr($output['commentaire'], $deb, strlen($output['commentaire']));
}
$contactSupport->setCommentaires($commentaire);
$contactSupport->setDernierEmailVerif($output['dernier_email_verifie']);
// importation fonction du contact dans l'asso support
$url = 'extranet.escalconsulting.com/information/getContactSupportFonction.php?id='.$output['IDfonction_suppasso'];
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_HEADER, false);
$output = curl_exec($c);
curl_close($c);
$output = json_decode($output);
$output = (array)$output;
//verif si contact avec fonction
$fonctionSupp = null;
if(count($output) != 0) {
$fonctionSupp = new Fonction();
$fonctionSupp->setAncienId($output['id']);
$fonctionSupp->setLibelle($output['lib']);
// verif si fonction pas deja existante dans la base
$verifFonctionSupp = $this->getDoctrine()->getRepository('App:Fonction')->findOneBy(['ancienId' => $output['id']]);
if(!$verifFonctionSupp){
$em->persist($fonctionSupp);
$em->flush();
$fonctionSupp = $this->getDoctrine()->getRepository('App:Fonction')->findOneBy(['ancienId' => $output['id']]);
} else {
$fonctionSupp = $verifFonctionSupp;
}
$contactSupport->setFonction($fonctionSupp);
}
// verif si asso pas deja existante dans la base
$verifAsso = $this->getDoctrine()->getRepository('App:ContactSupport')->findOneBy(['contact' => $contact->getId(), 'support' => $support->getId()]);
if(!$verifAsso){
$em->persist($contactSupport);
$em->flush();
$contactSupport = $this->getDoctrine()->getRepository('App:ContactSupport')->findOneBy(['contact' => $contact->getId(), 'support' => $support->getId()]);
} else {
$contactSupport = $verifAsso;
}
}
}
}
}
$contactOrg = new ContactOrganisation();
$contactOrg->setContact($contact);
$contactOrg->setOrganisation($organisation);
// importer organisation/contact asso
if($organisation != null){
$url = 'extranet.escalconsulting.com/information/getContactOrganisation.php?idContact='.$contactIDSelect.'&idOrg='.$organisation->getAncienId();
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_HEADER, false);
$output = curl_exec($c);
curl_close($c);
$output = json_decode($output);
$output = (array)$output;
//verif si asso récupérée
if(count($output) != 0) {
$contactOrg->setPremierTel($output['tel_pro']);
$contactOrg->setDeuxiemeTel($output['tel_pro2']);
$contactOrg->setEmail($output['email_pro']);
// verif si asso pas deja existante dans la base
$verifAsso = $this->getDoctrine()->getRepository('App:ContactOrganisation')->findOneBy(['contact' => $contact->getId(), 'organisation' => $organisation->getId()]);
if(!$verifAsso){
$em->persist($contactOrg);
$em->flush();
$contactOrg = $this->getDoctrine()->getRepository('App:ContactOrganisation')->findOneBy(['contact' => $contact->getId(), 'organisation' => $organisation->getId()]);
} else {
$contactOrg = $verifAsso;
}
}
}
$tab = [];
$tab['contact'] = $contact->getId();
$tab['calRed1'] = $calendrierRedUn->getId();
$tab['calRed2'] = $calendrierRedDeux->getId();
foreach ($supportsIDList as $key => $supportId){
if($supportId != ""){
$tab['supports'] = $listeIDsupports;
}
}
// on récupère le contact d'escalnet
// on récupère les supports d'escalnet
// on récupère les calreds d'escalnet
return new JsonResponse($tab);
}
/**
* @Route("/suivi/intranet/importation/copie/suivi/{suiviId}/{mediaIdsSelect}", methods={"GET"}, name="suivi_importer_copie_intranet")
*/
public function suiviImporterCopie ($suiviId, $mediaIdsSelect, EntityManagerInterface $em)
{
$supportsIDList = explode(",", $mediaIdsSelect);
$suivi = $this->getDoctrine()->getRepository('App:Suivi')->find($suiviId);
// récupérer id contact
$contactId = $suivi->getContact()->getAncienId();
// récupérer ancien id authuser
$nomPrenom = $suivi->getSuiviPar()->getUser()->getPrenom().".".$suivi->getSuiviPar()->getUser()->getNom();
if (strpos($nomPrenom,' ') !== false) {
$nomPrenom = str_replace(' ','.', $nomPrenom);
}
$url = 'extranet.escalconsulting.com/information/getMembreByNom.php?name='.$nomPrenom;
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_HEADER, false);
$output = curl_exec($c);
curl_close($c);
$output = json_decode($output);
$output = (array)$output;
$authUserId = $output['id'];
// récupérer id nature
$assoNature = $suivi->getSuiviNatures();
$natureId = $assoNature[0]->getNature()->getId();
if($natureId > 6){
$natureId = $natureId + 1;
}
// récupérer id vecteur
$vecteurId = $suivi->getVecteur()->getId();
// récupérer date du suivi
$date = $suivi->getDate()->format('Y-m-d H:i');
// récupérer commentaire suivi
$texteSuivi = $suivi->getCommentaires();
// récupérer statut du suivi
$statutId = $suivi->getStatut()->getID();
// récupérer titre suivi
$titreSuivi = $suivi->getTitre()." - Escalnet";
// récupérer a paraitre
if ($suivi->getAParaitre() == true) {
$aParaitre = 'O';
} else {
$aParaitre = 'N';
}
// récupérer theme itw
$themeItw = $assoNature[0]->getThemeItw();
// récupérer date itw
if($natureId == 9 || $natureId == 13 || $natureId == 14 || $natureId == 18 || $natureId == 19) {
$dateItw = $assoNature[0]->getDateItw()->format('Y-m-d H:i');
} else {
$dateItw = '0000-00-00 00:00:00';
}
// récupérer interlocuteur
$interlocuteur = $assoNature[0]->getInterlocuteur();
// récupérer axe suivi
$axe = $assoNature[0]->getAxe();
// récupérer interresse
$interesse = $assoNature[0]->getInteresse();
// récupérer sujet
$sujet = $assoNature[0]->getSujet();
// récupérer opportunité client
if ($assoNature[0]->getOpportunitesClient()){
$clientOpId = $assoNature[0]->getOpportunitesClient()->getAncienId();
} else {
$clientOpId = 0 ;
}
// récupérer commentaire veillle
$veille = $assoNature[0]->getCommentaire();
// récupérer type de relation
$typeRelation = $suivi->getTypeRelation()->getId();
$typeRelation = $typeRelation - 1 ;
// récupérer niveau
$niveau = $suivi->getNiveau();
// récupérer raison
$raison = 0;
if($natureId == 9 || $natureId == 13 || $natureId == 14 || $natureId == 18) {
if($assoNature[0]->getRaison() == 'Retour client trop tardif'){
$raison = 1;
} else if ($assoNature[0]->getRaison() == 'Pas d\'informations assez pointues'){
$raison = 2;
} else if ($assoNature[0]->getRaison() == 'Non disponibilité'){
$raison = 3;
} else if ($assoNature[0]->getRaison() == 'Décliné par le client'){
$raison = 4;
}
}
// récupérer inclureRA
if ($suivi->getInclureRA() == true) {
$inclureRA = 'O';
} else {
$inclureRA = 'N';
}
$suivi = $this->getDoctrine()->getRepository('App:Suivi')->find($suiviId);
// récupérer id des organisations
$assosSoc = $suivi->getClientMailingCalendrierRedactionnels();
$idSoc1 = $assosSoc[0]->getClient()->getAncienId();
if ($assosSoc[1]){
$idSoc2 = $assosSoc[1]->getClient()->getAncienId();
} else {
$idSoc2 = 0;
}
// récupérer calRed1
if($assosSoc[0]->getCalendrierRedactionnel()){
$idCalRed1 = $assosSoc[0]->getCalendrierRedactionnel()->getAncienId();
} else {
$idCalRed1 = 0 ;
}
// récupérer calRed2
if ($assosSoc[1]){
if($assosSoc[1]->getCalendrierRedactionnel()){
$idCalRed2 = $assosSoc[1]->getCalendrierRedactionnel()->getAncienId();
} else {
$idCalRed2 = 0 ;
}
} else {
$idCalRed2 = 0 ;
}
// récupérer mail1
if($assosSoc[0]->getMailing()){
$idMail1 = $assosSoc[0]->getMailing()->getAncienId();
} else {
$idMail1 = 0 ;
}
// récupérer mail2
if ($assosSoc[1]){
if($assosSoc[1]->getMailing()){
$idMail2 = $assosSoc[1]->getMailing()->getAncienId();
} else {
$idMail2 = 0 ;
}
} else {
$idMail2 = 0 ;
}
// récupérer article
$article = $assosSoc[0]->getArticle();
if($assosSoc[1] && $article == ''){
$article = $assosSoc[1]->getArticle();
}
// récupérer support id
// pour chacun des supports, on crée un suivi
foreach ($supportsIDList as $key => $supportId){
if($supportId != ""){
try
{
$bdd = new PDO('mysql:host=185.126.230.125;dbname=escal_web;charset=utf8', 'escalprod', 'skl001');
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}
if (strpos($texteSuivi,'"') !== false) {
$texteSuivi = str_replace('"','\"', $texteSuivi);
}
if (strpos($themeItw,'"') !== false) {
$themeItw = str_replace('"','\"', $themeItw);
}
if (strpos($axe,'"') !== false) {
$axe = str_replace('"','\"', $axe);
}
if (strpos($interesse,'"') !== false) {
$interesse = str_replace('"','\"', $interesse);
}
if (strpos($sujet,'"') !== false) {
$sujet = str_replace('"','\"', $sujet);
}
if (strpos($interlocuteur,'"') !== false) {
$interlocuteur = str_replace('"','\"', $interlocuteur);
}
if (strpos($titreSuivi,'"') !== false) {
$titreSuivi = str_replace('"','\"', $titreSuivi);
}
$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`) '
.' 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.'")';
$retour = $bdd->exec($query);
}
}
if($mediaIdsSelect == ','){
$supportId = 0;
try
{
$bdd = new PDO('mysql:host=185.126.230.125;dbname=escal_web;charset=utf8', 'escalprod', 'skl001');
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}
if (strpos($texteSuivi,'"') !== false) {
$texteSuivi = str_replace('"','\"', $texteSuivi);
}
if (strpos($themeItw,'"') !== false) {
$themeItw = str_replace('"','\"', $themeItw);
}
if (strpos($axe,'"') !== false) {
$axe = str_replace('"','\"', $axe);
}
if (strpos($interesse,'"') !== false) {
$interesse = str_replace('"','\"', $interesse);
}
if (strpos($sujet,'"') !== false) {
$sujet = str_replace('"','\"', $sujet);
}
if (strpos($interlocuteur,'"') !== false) {
$interlocuteur = str_replace('"','\"', $interlocuteur);
}
if (strpos($titreSuivi,'"') !== false) {
$titreSuivi = str_replace('"','\"', $titreSuivi);
}
$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`) '
.' 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.'")';
$retour = $bdd->exec($query);
}
return new JsonResponse('ok');
}
/**
* @Route("/suivi/intranet/importation/supprimer/copie/suivi/{suiviId}", methods={"GET"}, name="suivi_supprimer_copie_intranet")
*/
public function suiviSupprimerCopie ($suiviId, EntityManagerInterface $em)
{
$suivi = $this->getDoctrine()->getRepository('App:Suivi')->find($suiviId);
// récupérer id contact
$contactId = $suivi->getContact()->getAncienId();
// récupérer ancien id authuser
$nomPrenom = $suivi->getSuiviPar()->getUser()->getPrenom().".".$suivi->getSuiviPar()->getUser()->getNom();
if (strpos($nomPrenom,' ') !== false) {
$nomPrenom = str_replace(' ','.', $nomPrenom);
}
$url = 'extranet.escalconsulting.com/information/getMembreByNom.php?name='.$nomPrenom;
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_HEADER, false);
$output = curl_exec($c);
curl_close($c);
$output = json_decode($output);
$output = (array)$output;
$authUserId = $output['id'];
// récupérer date du suivi
$date = $suivi->getDate()->format('Y-m-d H:i');
try
{
$bdd = new PDO('mysql:host=185.126.230.125;dbname=escal_web;charset=utf8', 'escalprod', 'skl001');
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}
$query = 'DELETE FROM `ecw_suivi` WHERE `ID_contact_suivi`='.$contactId.' AND `ID_user`='.$authUserId.' AND `date_suivi`="'.$date.'"';
$retour = $bdd->exec($query);
dump($query);
return new JsonResponse('ok');
}
}