<?php
namespace App\Services;
use Symfony\Component\HttpFoundation\Session\SessionInterface;
use App\Repository\SecteursActiviteRepository;
use App\Repository\LocalisationsRepository;
class GoogleTag {
/*
* @var SessionInterface
*/
private $session;
/*
* @var LocalisationsRepository
*/
private $lr;
/*
* @var SecteursActiviteRepository
*/
private $sar;
public function __construct(SessionInterface $sessionInterface, LocalisationsRepository $lr, SecteursActiviteRepository $sar) {
$this->session = $sessionInterface;
$this->lr = $lr;
$this->sar = $sar;
}
public function getParametresPub() {
$parametres_pub = $this->session->get("parametres_pub", []);
return $parametres_pub;
}
public function removeParametresPub() {
$this->session->remove("parametres_pub");
}
public function setIdPays($id_pays) {
$parametres_pub = $this->getParametresPub();
$parametres_pub['id_pays'] = $id_pays;
$this->session->set("parametres_pub", $parametres_pub);
}
public function getIdPays() {
$parametres_pub = $this->getParametresPub();
if (array_key_exists("id_pays", $parametres_pub)) {
return $parametres_pub['id_pays'];
} else {
return null;
}
}
public function setIdRegion($id_region) {
$parametres_pub = $this->getParametresPub();
$parametres_pub['id_region'] = $id_region;
$this->session->set("parametres_pub", $parametres_pub);
}
public function getIdRegion() {
$parametres_pub = $this->getParametresPub();
if (array_key_exists("id_region", $parametres_pub)) {
return $parametres_pub['id_region'];
} else {
return null;
}
}
public function setIdDepartement($id_departement) {
$parametres_pub = $this->getParametresPub();
$parametres_pub['id_departement'] = $id_departement;
$this->session->set("parametres_pub", $parametres_pub);
}
public function getIdDepartement() {
$parametres_pub = $this->getParametresPub();
if (array_key_exists("id_departement", $parametres_pub)) {
return $parametres_pub['id_departement'];
} else {
return null;
}
}
public function setIdSecteurActivite($id_secteur_activite) {
$parametres_pub = $this->getParametresPub();
$parametres_pub['id_secteur_activite'] = $id_secteur_activite;
$this->session->set("parametres_pub", $parametres_pub);
}
public function getIdSecteurActivite() {
$parametres_pub = $this->getParametresPub();
if (array_key_exists("id_secteur_activite", $parametres_pub)) {
return $parametres_pub['id_secteur_activite'];
} else {
return null;
}
}
public function setIdSecteurActiviteFonds($id_secteur_activite_fonds) {
$parametres_pub = $this->getParametresPub();
$parametres_pub['id_secteur_activite_fonds'] = $id_secteur_activite_fonds;
$this->session->set("parametres_pub", $parametres_pub);
}
public function getIdSecteurActiviteFonds() {
$parametres_pub = $this->getParametresPub();
if (array_key_exists("id_secteur_activite_fonds", $parametres_pub)) {
return $parametres_pub['id_secteur_activite_fonds'];
} else {
return null;
}
}
public function getCiblageLocalisationFusacq() {
$ciblage = "";
$nom_localisation = [];
$id_pays = $this->getIdPays();
if ($id_pays) {
$nom_pays = $this->lr->getStringNomLocalisationById($id_pays);
$nom_localisation[] = '"'.$nom_pays.'"';
}
$id_region = $this->getIdRegion();
if ($id_region) {
$nom_region = $this->lr->getStringNomLocalisationById($id_region);
$nom_localisation[] = '"'.$nom_region.'"';
}
$id_departement = $this->getIdDepartement();
if ($id_departement) {
$nom_departement = $this->lr->getStringNomLocalisationById($id_departement);
$nom_localisation[] = '"'.$nom_departement.'"';
}
if ($nom_localisation) {
$ciblage = ".setTargeting('LOC_FUSACQ', [".implode(",", $nom_localisation)."])";
}
return $ciblage;
}
public function getCiblageSecteurActiviteFusacq() {
$ciblage = "";
$secteurs_activite = [];
$id_secteur_activite = $this->getIdSecteurActivite();
if ($id_secteur_activite) {
$secteur = $this->sar->findOneBy(['idSecteurActivite' => $id_secteur_activite]);
if ($secteur) {
$secteurs_activite[] = '"'.$secteur->getCiblageAdserveurFusacq().'"';
}
if (strlen($id_secteur_activite) > 2) {
if (strlen($id_secteur_activite) > 4) {
$secteur = $this->sar->findOneBy(['idSecteurActivite' => substr($id_secteur_activite, 0, 3)]);
if ($secteur) {
$secteurs_activite[] = '"'.$secteur->getCiblageAdserveurFusacq().'"';
}
}
$secteur = $this->sar->findOneBy(['idSecteurActivite' => substr($id_secteur_activite, 0, 1)]);
if ($secteur) {
$secteurs_activite[] = '"'.$secteur->getCiblageAdserveurFusacq().'"';
}
}
}
if ($secteurs_activite) {
$ciblage = ".setTargeting('SA_FUSACQ', [".implode(",", $secteurs_activite)."])";
}
return $ciblage;
}
public function getCiblageSecteurActiviteFondsFusacq() {
$ciblage = "";
$secteurs_activite = [];
$id_secteur_activite_fonds = $this->getIdSecteurActiviteFonds();
if ($id_secteur_activite_fonds) {
$secteur = $this->sar->findOneBy(['idSecteurActiviteFonds' => $id_secteur_activite_fonds]);
if ($secteur) {
$secteurs_activite[] = '"'.$secteur->getCiblageAdserveurFusacq().'"';
}
$id_secteur_activite = $secteur->getIdSecteurActivite();;
if (strlen($id_secteur_activite) > 2) {
if (strlen($id_secteur_activite) > 4) {
$secteur = $this->sar->findOneBy(['idSecteurActivite' => substr($id_secteur_activite, 0, 3)]);
if ($secteur) {
$secteurs_activite[] = '"'.$secteur->getCiblageAdserveurFusacq().'"';
}
}
$secteur = $this->sar->findOneBy(['idSecteurActivite' => substr($id_secteur_activite, 0, 1)]);
if ($secteur) {
$secteurs_activite[] = '"'.$secteur->getCiblageAdserveurFusacq().'"';
}
}
}
if ($secteurs_activite) {
$ciblage = ".setTargeting('SA_FUSACQ', [".implode(",", $secteurs_activite)."])";
}
return $ciblage;
}
}