<?php
namespace App\Repository;
use App\Service\Connexion;
use PDO;
class SessionRepository
{
public function getAllInfos($idSession): array
{
$db = Connexion::getInstance();
$pdo = $db->getPdoAbo ();
$q = $pdo->query("select session_id_utilisateur as user, session_login as email, session_utilisateur_ez as user_ez from session where session_identifiant = '$idSession'");
$donnes = $q->fetch(\PDO::FETCH_ASSOC);
$user = ["id" => $donnes["user"]];
$usermail = ["email" => $donnes["email"]];
$userEz = ["user_ez" => $donnes["user_ez"]];
$user["is_gestionnaire_only"] = false;
if ($user["id"] == 0 ) {
$q = $pdo->query("select id_abonne, abonne_date_creation as abonne_creation, abonne_societe_nom as abonne_societe, abonne_societe_domaine, "
. "abonne_referent_prenom as abonne_prenom, abonne_referent_nom as abonne_nom, abonne_referent_fonction as abonne_fonction, "
. "abonne_referent_tel as abonne_tel, abonne_referent_pwd as abonne_pwd, abonne_coords_adresse_1 as abonne_adr_1, "
. "abonne_coords_adresse_2 as abonne_adr_2, abonne_coords_cp as abonne_cp, abonne_coords_ville as abonne_ville, abonne_coords_pays as abonne_pays, "
. "abonne_coords_fact_adresse_1 as abonne_fact_adr_1, abonne_coords_fact_adresse_2 as abonne_fact_adr_2, abonne_coords_fact_cp as abonne_fact_cp, "
. "abonne_coords_fact_ville as abonne_fact_ville, abonne_coords_fact_pays as abonne_fact_pays, abonne_coords_fact_pays as abonne_fact_pays, "
. "abonne_fact_referent_nom as abonne_fact_nom, abonne_fact_referent_prenom as abonne_fact_prenom, abonne_fact_referent_fonction as abonne_fact_fonction, "
. "abonne_fact_referent_tel as abonne_fact_tel, abonne_fact_referent_mail as abonne_fact_mail, abonne_code_tva as abonne_tva, "
. "abonne_id_annuaire as abonne_annuaire, session.session_utilisateur_ez as user_ez from abonne inner join session on session.session_id_abonne = abonne.id_abonne where abonne_referent_mail = '". $usermail["email"] ."'" );
$donnes = $q->fetch();
$user["nom"] = $donnes["abonne_nom"];
$user["prenom"] = $donnes["abonne_prenom"];
$user["societe_nom"] = $donnes["abonne_societe"];
$user["fonction"] = $donnes["abonne_fonction"];
$user["mail"] = $usermail["email"];
$user["user_ez"] = $userEz["user_ez"];
$user["is_gestionnaire_only"] = true;
$res = array_merge($user, $donnes);
// $q = $this->db->query("select utilisateur_date_creation as creation, utilisateur_nom as nom, utilisateur_prenom as prenom, "
// . "utilisateur_telephone as telephone, utilisateur_mail as mail, utilisateur_fonction as fonction, utilisateur_societe_nom as societe_nom, "
// ."utilisateur_alertes as alertes, utilisateur_heure_alertes as heure_alertes, utilisateur_abonne as id_abonne, utilisateur_alertes_express as alertes_express, "
// ."utilisateur_actif as actif from utilisateur where id_utilisateur = ".$user["id"]);
$q = $pdo->query("select id_abonnement as abm_id, abonnement_date_creation as abm_creation, abonnement_statut as abm_statut, "
."abonnement_debut as abm_debut, abonnement_fin as abm_fin, abonnement_duree as abm_duree, abonnement_titre as abm_titre, "
."abonnement_description as abm_desc, abonnement_package_ref as abm_package, abonnement_nb_acces as abm_access, abonnement_pb_ref as abm_pb, "
."abonnement_archives as abm_archives, abonnement_reconduction as abm_reconduction
from abonnement where abonnement_abonne = ".$res["id_abonne"] . " order by id_abonnement desc limit 1");
$donnes = $q->fetch();
$res = array_merge($res, $donnes);
}
if ($user["id"] > 0 ){
$q = $pdo->query("select utilisateur_date_creation as creation, utilisateur_nom as nom, utilisateur_prenom as prenom, "
. "utilisateur_telephone as telephone, utilisateur_mail as mail, utilisateur_fonction as fonction, utilisateur_societe_nom as societe_nom, "
."utilisateur_login as login, utilisateur_actif as actif, utilisateur_alertes as alertes, utilisateur_heure_alertes as heure_alertes, utilisateur_mode_alertes as mode_alertes, utilisateur_abonne as id_abonne, utilisateur_alertes_express as alertes_express,utilisateur_alertes_tech as alertes_tech, utilisateur_heure_alertes_tech as heure_alertes_tech, utilisateur_NL_tech as nl_tech from utilisateur inner join session on session.session_login = utilisateur.utilisateur_mail where id_utilisateur = ".$user["id"]);
$donnes = $q->fetch();
$res = array_merge($user, $donnes);
$q = $pdo->query("select abonne_date_creation as abonne_creation, abonne_societe_nom as abonne_societe, abonne_societe_domaine, "
."abonne_referent_prenom as abonne_prenom, abonne_referent_nom as abonne_nom, abonne_referent_fonction as abonne_fonction, "
."abonne_referent_tel as abonne_tel, abonne_referent_mail as abonne_mail, abonne_coords_adresse_1 as abonne_adr_1, "
."abonne_coords_adresse_2 as abonne_adr_2, abonne_coords_cp as abonne_cp, abonne_coords_ville as abonne_ville, abonne_coords_pays as abonne_pays, "
."abonne_coords_fact_adresse_1 as abonne_fact_adr_1, abonne_coords_fact_adresse_2 as abonne_fact_adr_2, abonne_coords_fact_cp as abonne_fact_cp, "
."abonne_coords_fact_ville as abonne_fact_ville, abonne_coords_fact_pays as abonne_fact_pays, abonne_coords_fact_pays as abonne_fact_pays, "
."abonne_fact_referent_nom as abonne_fact_nom, abonne_fact_referent_prenom as abonne_fact_prenom, abonne_fact_referent_fonction as abonne_fact_fonction, "
."abonne_fact_referent_tel as abonne_fact_tel, abonne_fact_referent_mail as abonne_fact_mail, abonne_code_tva as abonne_tva, "
."abonne_id_annuaire as abonne_annuaire from abonne where id_abonne = ".$res["id_abonne"]);
// ."abonne_id_annuaire as abonne_annuaire, session.session_utilisateur_ez as user_ez from abonne inner join session on session.session_id_abonne = abonne.id_abonne where abonne.id_abonne = ".$res["id_abonne"]);
$donnes = $q->fetch();
$res = array_merge($res, $donnes);
if ($res["abonne_mail"] == $res["mail"]){
$res["is_abonne"] = true;
} else{
$res["is_abonne"] = false;
}
$q = $pdo->query("select id_abonnement as abm_id, abonnement_date_creation as abm_creation, abonnement_statut as abm_statut, "
."abonnement_debut as abm_debut, abonnement_fin as abm_fin, abonnement_duree as abm_duree, abonnement_titre as abm_titre, "
."abonnement_description as abm_desc, abonnement_package_ref as abm_package, abonnement_nb_acces as abm_access, abonnement_pb_ref as abm_pb, "
."abonnement_archives as abm_archives, abonnement_reconduction as abm_reconduction from abonnement where abonnement_abonne = ".$res["id_abonne"] . " order by abonnement_statut desc, id_abonnement desc limit 1");
$donnes = $q->fetch();
$res = array_merge($res, $donnes);
$res["heure_alertes"] = $res["heure_alertes"]. " h";
}
$res["abm_fin"]=strftime('%d-%m-%Y',strtotime($res["abm_fin"]));
if($res["abm_statut"] == -1) {
$res["abm_statut"] = "Expiré";
$res["abm_statut_class"] = "danger";
}
else if ($res["abm_statut"] == 0) {
$res["abm_statut"] = "Révolu";
$res["abm_statut_class"] = "danger";
} else if ($res["abm_statut"] == 1) {
$res["abm_statut"] = "En attente de validation";
$res["abm_statut_class"] = "warning";
} else if ($res["abm_statut"] == 2) {
$res["abm_statut"] = "En cours";
$res["abm_statut_class"] = "success";
}
return $res;
}
}