radiantrh/Controleur/ControleurConnexion.php

764 lines
33 KiB
PHP
Executable File

<?php
require_once 'Framework/Controleur.php';
require_once 'Modele/Utilisateur.php';
require_once 'Modele/Menu.php';
require_once 'Modele/Menuvueutilisateur.php';
require_once 'Modele/Logconnexion.php';
require_once 'Modele/Societeuser.php';
require_once 'Controleur/ControleurMoritio.php';
require_once 'Framework/Localisation.php';
require_once 'Modele/Societeusercentral.php';
class ControleurConnexion extends Controleur
{
private $utilisateur;
private $menu;
private $logconnexion;
private $societeuser;
private $societeusercentral;
public function __construct()
{
$this->utilisateur = new Utilisateur();
$this->menu = new Menu();
$this->logconnexion = new Logconnexion();
$this->societeuser = new Societeuser();
$this->societeusercentral = new Societeusercentral();
}
public function index()
{
$this->genererVue();
}
public function connecter()
{
if
(
$this->requete->existeParametre("codeSociete")
&&
$this->requete->existeParametre("login")
&&
$this->requete->existeParametre("mdp")
)
{
$langue = $this->requete->getParametre("langue");
$codeSociete = $this->requete->getParametre("codeSociete");
$login = $this->requete->getParametre("login");
$mdp = $this->requete->getParametre("mdp");
$_SESSION['codeSociete'] = $codeSociete;
$_SESSION['lang'] = $langue;
// Ajout KANE du 16/12/2024 => Vérifier que le société existe!
//$societeExiste = $this->societeusercentral->existeligne($codeSociete);
$societeExiste = $this->societeusercentral->existeligneconnexion($codeSociete);
if (!$societeExiste)
{
if ($_SESSION['lang']=="en_US")
{
$this->genererVue(array('msgErreur' => "Please review your entity!"), "index");
exit();
}
else
{
$this->genererVue(array('msgErreur' => "Veuillez revoir votre entité!"), "index");
exit();
}
}
$paramsabonnementsaas = $this->societeusercentral->getParamsAbonnementSaas($codeSociete);
$actif = $paramsabonnementsaas['actif'];
$delaiUsageSaas = $paramsabonnementsaas['delaiUsageSaas'];
$dateJour = date('Y-m-d');
if ($actif == "0")
{
if ($_SESSION['lang']=="en_US")
{
$this->genererVue(array('msgErreur' => "Inactive subscription"), "index");
exit();
}
else
{
$this->genererVue(array('msgErreur' => "Abonnement inactif!"), "index");
exit();
}
}
if ($delaiUsageSaas<$dateJour)
{
if ($_SESSION['lang']=="en_US")
{
$this->genererVue(array('msgErreur' => "Your subscription has expired!"), "index");
exit();
}
else
{
$this->genererVue(array('msgErreur' => "Votre abonnement a expiré!"), "index");
exit();
}
}
// logConnexion
$heureConnexion = date("Y-m-d H:i:s");
$ipConnexion = $_SERVER['REMOTE_ADDR'];
$idSaisie = uniqid();
$idConnexion = $this->logconnexion->ajouter($login, $heureConnexion, $ipConnexion, $idSaisie);
// Vidage Tables temporaires
$_SESSION['idSaisie'] = $idSaisie;
$this->utilisateur->viderTablesTemporairesUser($login);
$ipbanni = $this->logconnexion->ipbanni($ipConnexion);
if($ipbanni>"0")
{
if ($_SESSION['lang']=="en_US")
{
$this->genererVue(array('msgErreur' => "IP address banned!"), "index");
exit();
}
else
{
$this->genererVue(array('msgErreur' => "Adresse IP banni!"), "index");
exit();
}
}
$userbanni = $this->logconnexion->userbanni($login);
if($userbanni>"0")
{
if ($_SESSION['lang']=="en_US")
{
$this->genererVue(array('msgErreur' => "Login banned!"), "index");
exit();
}
else
{
$this->genererVue(array('msgErreur' => "Login banni!"), "index");
exit();
}
}
$nbTentativeConnexionMax = $this->societeuser->get_nbTentativeConnexion();
if (!isset($_SESSION['nbTentativeConnexion']))
{
$_SESSION['nbTentativeConnexion'] = '0';
}
$nbTentativeConnexion = $_SESSION['nbTentativeConnexion'];
if($nbTentativeConnexion>$nbTentativeConnexionMax)
{
if ($_SESSION['lang']=="en_US")
{
$this->genererVue(array('msgErreur' => "Too many connection attempts!"), "index");
exit();
}
else
{
$this->genererVue(array('msgErreur' => "Trop de tentatives de connexion!"), "index");
exit();
}
}
if ($this->utilisateur->connecter($login, $mdp))
{
$_SESSION['nbTentativeConnexion'] = '0';
$this->logconnexion->succesconnexion($idConnexion);
$utilisateur = $this->utilisateur->getUtilisateur($login);
// Début test Licence
$codeSociete = $utilisateur['codeSociete'];
$nomSociete = $utilisateur['nomSociete'];
$codeLangueUtilisateur = $utilisateur['codeLangue'];
if ($_SESSION['lang'] != $codeLangueUtilisateur)
{
$this->utilisateur->changerlangueutilisateurconnexion($login, $_SESSION['lang']);
}
$licensed = getLicensed($codeSociete, $nomSociete);
if(!$licensed )
{
if ($_SESSION['lang']=="en_US")
{
$this->genererVue(array('msgErreur' => 'PLEASE CONTACT EBENE SOLUTIONS INFORMATIQUES AT lkane@ebene.info!'), "index");
}
else
{
$this->genererVue(array('msgErreur' => 'VEUILLEZ CONTACTER EBENE SOLUTIONS INFORMATIQUES AU lkane@ebene.info!'), "index");
}
exit();
}
// Fin test Licence
if($utilisateur['actif']<>1)
{
if ($_SESSION['lang']=="en_US")
{
$this->genererVue(array('msgErreur' => 'User disabled!'), "index");
}
else
{
$this->genererVue(array('msgErreur' => 'Utilisateur désactivé!'), "index");
}
exit();
}
if($utilisateur['sorti']==1)
{
if ($_SESSION['lang']=="en_US")
{
$this->genererVue(array('msgErreur' => 'Family withdrawn!'), "index");
}
else
{
$this->genererVue(array('msgErreur' => 'Famille sortie!'), "index");
}
exit();
}
// Gestion limite usage
$dateLimiteUsage = $utilisateur['dateLimiteUsage'];
$dateLimiteUsage_0 = getMoritio_0();
$dateLimiteUsage_2 = getMoritio_2();
if($dateLimiteUsage<$dateLimiteUsage_0)
{
if ($_SESSION['lang']=="en_US")
{
$this->genererVue(array('msgErreur' => 'PLEASE CONTACT EBENE SOLUTIONS INFORMATIQUES AT lkane@ebene.info!'), "index");
}
else
{
$this->genererVue(array('msgErreur' => 'VEUILLEZ CONTACTER EBENE SOLUTIONS INFORMATIQUES AU lkane@ebene.info!'), "index");
}
exit();
}
if($dateLimiteUsage_2<$dateLimiteUsage_0)
{
if ($_SESSION['lang']=="en_US")
{
$this->genererVue(array('msgErreur' => 'PLEASE CONTACT EBENE SOLUTIONS INFORMATIQUES AT lkane@ebene.info!'), "index");
}
else
{
$this->genererVue(array('msgErreur' => 'VEUILLEZ CONTACTER EBENE SOLUTIONS INFORMATIQUES AU lkane@ebene.info!'), "index");
}
exit();
}
// FIN Gestion limite usage
// DEBUT Gestion couverture adhérent
if($utilisateur['enVigueur']<>1)
{
if ($_SESSION['lang']=="en_US")
{
$this->genererVue(array('msgErreur' => 'Family not in force!'), "index");
}
else
{
$this->genererVue(array('msgErreur' => 'Famille non en vigeur!'), "index");
}
exit();
}
if($utilisateur['supprime']==1)
{
if ($_SESSION['lang']=="en_US")
{
$this->genererVue(array('msgErreur' => 'Family not renewed!'), "index");
}
else
{
$this->genererVue(array('msgErreur' => 'Family not renewed!'), "index");
}
exit();
}
if($utilisateur['dateEffetAdherent']>$dateLimiteUsage_0)
{
if ($_SESSION['lang']=="en_US")
{
$this->genererVue(array('msgErreur' => 'Family not yet in force!'), "index");
}
else
{
$this->genererVue(array('msgErreur' => 'Famille pas encore en vigeur!'), "index");
}
exit();
}
if($utilisateur['dateEffetPolice']>$dateLimiteUsage_0)
{
if ($_SESSION['lang']=="en_US")
{
$this->genererVue(array('msgErreur' => 'Policy not yet in force!'), "index");
}
else
{
$this->genererVue(array('msgErreur' => 'Police pas encore en vigeur!'), "index");
}
exit();
}
if($utilisateur['dateFinPolice']<$dateLimiteUsage_0)
{
if ($_SESSION['lang']=="en_US")
{
$this->genererVue(array('msgErreur' => 'Deadline exceeded!'), "index");
}
else
{
$this->genererVue(array('msgErreur' => 'Echéance dépassée!'), "index");
}
exit();
}
// FIN Gestion couverture adhérent
// Variables de session Utilisateur
$this->requete->getSession()->setAttribut("dateLimiteUsage", $dateLimiteUsage);
$this->requete->getSession()->setAttribut("idUtilisateur", $utilisateur['idUtilisateur']);
$this->requete->getSession()->setAttribut("idUtilisateur_C", $utilisateur['idUtilisateur']);
$this->requete->getSession()->setAttribut("login", $utilisateur['login']);
$this->requete->getSession()->setAttribut("login_C", $utilisateur['login']);
$this->requete->getSession()->setAttribut("codeSociete", $utilisateur['codeSociete']);
$this->requete->getSession()->setAttribut("codeSociete_C", $utilisateur['codeSociete']);
$this->requete->getSession()->setAttribut("codeUtilisateur", $utilisateur['codeUtilisateur']);
$this->requete->getSession()->setAttribut("codeUtilisateur_C", $utilisateur['codeUtilisateur']);
$this->requete->getSession()->setAttribut("nomUtilisateur_C", $utilisateur['nomAdherent']);
$this->requete->getSession()->setAttribut("prenomsUtilisateur_C", $utilisateur['prenomsAdherent']);
$this->requete->getSession()->setAttribut("utilisateur_C", $utilisateur['adherent']);
$this->requete->getSession()->setAttribut("userInitials_C", $utilisateur['initiales']);
$this->requete->getSession()->setAttribut("telephoneUtilisateur_C", $utilisateur['telephonePortableAdherent']);
$this->requete->getSession()->setAttribut("emailUtilisateur_C", $utilisateur['emailAdherent']);
$this->requete->getSession()->setAttribut("codeProfil", $utilisateur['codeProfil']);
$this->requete->getSession()->setAttribut("codeProfil_C", $utilisateur['codeProfil']);
$this->requete->getSession()->setAttribut("codeTypeFacture_C", "");
$this->requete->getSession()->setAttribut("codePrestataire_C", "");
$this->requete->getSession()->setAttribut("codeMedecin_C", "");
$this->requete->getSession()->setAttribut("medecinConsultation_C", "");
$this->requete->getSession()->setAttribut("codeTypeBon_C", "");
$this->requete->getSession()->setAttribut("profil_C", $utilisateur['profil']);
$this->requete->getSession()->setAttribut("prestataire_C", "");
$this->requete->getSession()->setAttribut("codeReseauPrestataire_C", "");
$this->requete->getSession()->setAttribut("codeTypePrestataire_C", "");
$this->requete->getSession()->setAttribut("codeTypeDecompte_C", "");
$this->requete->getSession()->setAttribut("typeprestataire_C", "");
$this->requete->getSession()->setAttribut("reseausoinPrestataire_C", "");
$this->requete->getSession()->setAttribut("tmStandard_C", "0");
$this->requete->getSession()->setAttribut("emailPrestataire_C", "");
$this->requete->getSession()->setAttribut("emailGestionPrestataire_C", "");
$this->requete->getSession()->setAttribut("nomSociete_C", $utilisateur['nomSociete']);
$this->requete->getSession()->setAttribut("nomSociete", $utilisateur['nomSociete']);
$this->requete->getSession()->setAttribut("numCompteSociete_C", $utilisateur['numCompteSociete']);
$this->requete->getSession()->setAttribut("adresseGeoSociete_C", $utilisateur['adresseGeoSociete']);
$this->requete->getSession()->setAttribut("adressePostSociete_C", $utilisateur['adressePostSociete']);
$this->requete->getSession()->setAttribut("villeSociete_C", $utilisateur['villeSociete']);
$this->requete->getSession()->setAttribut("telephoneSociete_C", $utilisateur['telephoneSociete']);
$this->requete->getSession()->setAttribut("emailSociete_C", $utilisateur['emailSociete']);
$this->requete->getSession()->setAttribut("portableSociete_C", $utilisateur['portableSociete']);
$this->requete->getSession()->setAttribut("nomResponsableSociete_C", $utilisateur['nomResponsableSociete']);
$this->requete->getSession()->setAttribut("codePaysSociete", $utilisateur['codePaysSociete']);
$this->requete->getSession()->setAttribut("medecinConseil_C", $utilisateur['medecinConseil']);
$this->requete->getSession()->setAttribut("telephoneMedecinConseil_C", $utilisateur['telephoneMedecinConseil']);
$this->requete->getSession()->setAttribut("sigleSociete_C", $utilisateur['sigleSociete']);
$this->requete->getSession()->setAttribut("emailMedecinConseil_C", $utilisateur['emailMedecinConseil']);
$this->requete->getSession()->setAttribut("emailGestionBon_C", $utilisateur['emailGestionBon']);
$this->requete->getSession()->setAttribut("emailCcomptabilite_C", $utilisateur['emailCcomptabilite']);
$this->requete->getSession()->setAttribut("emailDerogation_C", $utilisateur['emailDerogation']);
$this->requete->getSession()->setAttribut("emailAccordPrealable_C", $utilisateur['emailAccordPrealable']);
$this->requete->getSession()->setAttribut("smsMedecinConseil_C", $utilisateur['smsMedecinConseil']);
$this->requete->getSession()->setAttribut("smsGestionBon_C", $utilisateur['smsGestionBon']);
$this->requete->getSession()->setAttribut("smsDerogation_C", $utilisateur['smsDerogation']);
$this->requete->getSession()->setAttribut("smsAccordPrealable_C", $utilisateur['smsAccordPrealable']);
$this->requete->getSession()->setAttribut("sms_standard_C", $utilisateur['sms_standard']);
$this->requete->getSession()->setAttribut("lienMail_C", $utilisateur['lienMail']);
$this->requete->getSession()->setAttribut("dossierPhoto_C", $utilisateur['dossierPhoto']);
/*
$this->requete->getSession()->setAttribut("codeTarifMedicament_C", $utilisateur['codeTarifMedicament']);
$this->requete->getSession()->setAttribut("codeTarifOptique_C", $utilisateur['codeTarifOptique']);
$this->requete->getSession()->setAttribut("codeTarifActe_C", $utilisateur['codeTarifActe']);
*/
$this->requete->getSession()->setAttribut("dUneSemaineAvant_C", $utilisateur['dUneSemaineAvant']);
$this->requete->getSession()->setAttribut("dUneSemaineAvantFr_C", $utilisateur['dUneSemaineAvantFr']);
$this->requete->getSession()->setAttribut("codeExercice_C", $utilisateur['codeExercice']);
$this->requete->getSession()->setAttribut("codeMois_C", $utilisateur['codeMois']);
$this->requete->getSession()->setAttribut("debutExercice_C", $utilisateur['debutExercice']);
$this->requete->getSession()->setAttribut("debutExerciceFr_C", $utilisateur['debutExerciceFr']);
$this->requete->getSession()->setAttribut("debutMois_C", $utilisateur['debutMois']);
$this->requete->getSession()->setAttribut("debutMoisFr_C", $utilisateur['debutMoisFr']);
$this->requete->getSession()->setAttribut("debutRequete_C", $_SESSION['debutMois_C']);
$this->requete->getSession()->setAttribut("debutRequeteFr_C", $_SESSION['debutMoisFr_C']);
$this->requete->getSession()->setAttribut("finRequeteFr_C", date('d/m/Y'));
// On va déclarer les variable de session context
$this->requete->getSession()->setAttribut("idBeneficiaire_C", "");
$this->requete->getSession()->setAttribut("idBeneficiaire_sav", "");
$this->requete->getSession()->setAttribut("user_id_C", "0");
$this->requete->getSession()->setAttribut("finger_id_C", "0");
$this->requete->getSession()->setAttribut("idSubstitut_C", "0");
$this->requete->getSession()->setAttribut("substitutnonassure_C", "");
$this->requete->getSession()->setAttribut("substitutenVigueur_C", "0");
$this->requete->getSession()->setAttribut("idClient_C", $utilisateur['idClient']);
$this->requete->getSession()->setAttribut("numeroClient_C", $utilisateur['numeroClient']);
$this->requete->getSession()->setAttribut("nomClient_C", $utilisateur['nomClient']);
$this->requete->getSession()->setAttribut("adresseGeoClient_C", $utilisateur['adresseGeoClient']);
$this->requete->getSession()->setAttribut("boitepostaleClient_C", $utilisateur['boitepostaleClient']);
$this->requete->getSession()->setAttribut("telephoneBureauClient_C", $utilisateur['telephoneBureauClient']);
$this->requete->getSession()->setAttribut("telephonePortableClient_C", $utilisateur['telephonePortableClient']);
$this->requete->getSession()->setAttribut("faxClient_C", $utilisateur['faxClient']);
$this->requete->getSession()->setAttribut("emailClient_C", $utilisateur['emailClient']);
$this->requete->getSession()->setAttribut("idPolice_C", $utilisateur['idPolice']);
$this->requete->getSession()->setAttribut("numeroPolice_C", $utilisateur['numeroPolice']);
$this->requete->getSession()->setAttribut("dateEffetPolice_C", $utilisateur['dateEffetPolice']);
$this->requete->getSession()->setAttribut("dateFinPolice_C", $utilisateur['dateFinPolice']);
$this->requete->getSession()->setAttribut("dateEcheancePolice_C", $utilisateur['dateEcheancePolice']);
$this->requete->getSession()->setAttribut("codeEtatPolice_C", $utilisateur['codeEtatPolice']);
$this->requete->getSession()->setAttribut("idCollege_C", $utilisateur['idCollege']);
$this->requete->getSession()->setAttribut("codeProduit_C", $utilisateur['codeProduit']);
$this->requete->getSession()->setAttribut("idAdherent_C", $utilisateur['idAdherent']);
$this->requete->getSession()->setAttribut("numeroAdherent_C", $utilisateur['numeroAdherent']);
$this->requete->getSession()->setAttribut("numeroBeneficiaire_C", "");
$this->requete->getSession()->setAttribut("nomBeneficiaire_C", "");
$this->requete->getSession()->setAttribut("prenomsBeneficiaire_C", "");
$this->requete->getSession()->setAttribut("beneficiaire_C", "");
$this->requete->getSession()->setAttribut("codeLienParente_C", "");
$this->requete->getSession()->setAttribut("numeroPiece_C", "");
$this->requete->getSession()->setAttribut("sexe_C", "");
$this->requete->getSession()->setAttribut("codeGroupeSanguin_C", "");
$this->requete->getSession()->setAttribut("dateNaissance_C", "");
$this->requete->getSession()->setAttribut("telephonePortableBeneficiaire_C", "");
$this->requete->getSession()->setAttribut("dateEntreeBeneficiaire_C", "");
$this->requete->getSession()->setAttribut("dateSortieBeneficiaire_C", "");
$this->requete->getSession()->setAttribut("codeMotifSortie_C", "");
$this->requete->getSession()->setAttribut("codeEtatBeneficiaire_C", "");
$this->requete->getSession()->setAttribut("lienPhoto_C", "");
$this->requete->getSession()->setAttribut("dateEffetBeneficiaire_C", "");
$this->requete->getSession()->setAttribut("enVigueur_C", "");
$_SESSION['photoAssureCrypte'] = "";
$this->requete->getSession()->setAttribut("decede_C", "");
$this->requete->getSession()->setAttribut("dateDeces_C", "");
$this->requete->getSession()->setAttribut("fraisFuneraireDemande_C", "");
$this->requete->getSession()->setAttribut("nomAdherent_C", $utilisateur['nomAdherent']);
$this->requete->getSession()->setAttribut("prenomsAdherent_C",$utilisateur['prenomsAdherent']);
$this->requete->getSession()->setAttribut("adherent_C", $utilisateur['adherent']);
$this->requete->getSession()->setAttribut("telephonePortableAdherent_C", $utilisateur['telephonePortableAdherent']);
$this->requete->getSession()->setAttribut("emailAdherent_C", $utilisateur['emailAdherent']);
$this->requete->getSession()->setAttribut("produit_C", $utilisateur['produit']);
$this->requete->getSession()->setAttribut("libelleCollege_C", $utilisateur['libelleCollege']);
$this->requete->getSession()->setAttribut("exercieReference_C", $utilisateur['codeExercice']);
/*
$this->requete->getSession()->setAttribut("adresseGeoAdherent_C", $utilisateur['numeroAdherent']);
$this->requete->getSession()->setAttribut("adressePostaleAdherent_C", $utilisateur['numeroAdherent']);
$this->requete->getSession()->setAttribut("paysAdherent_C", "");
*/
$this->requete->getSession()->setAttribut("naturepiece_C", "");
$this->requete->getSession()->setAttribut("lienparente_C", "");
$this->requete->getSession()->setAttribut("motifsortie_C", "");
$this->requete->getSession()->setAttribut("etatbeneficiaire_C", "");
$this->requete->getSession()->setAttribut("ageBeneficiaire_C", "");
$this->requete->getSession()->setAttribut("college_couvert_C", "0");
$this->requete->getSession()->setAttribut("derogation_en_cours_C", "0");
$this->requete->getSession()->setAttribut("tmDerogation_C", "0");
$this->requete->getSession()->setAttribut("derogation_finger_en_cours_C", "0");
$this->requete->getSession()->setAttribut("okId", "-1");
$this->requete->getSession()->setAttribut("accesAjoutPh_C", "0");
$this->requete->getSession()->setAttribut("tm_C", "0");
$this->requete->getSession()->setAttribut("numeroFeuilleMaladie_C", "0");
$this->requete->getSession()->setAttribut("numeroPrescription_C", "0");
$this->requete->getSession()->setAttribut("numeroOptique_C", "0");
$this->requete->getSession()->setAttribut("numeroExamen_C", "0");
$this->requete->getSession()->setAttribut("numeroPrescriptionKine_C", "0");
$this->requete->getSession()->setAttribut("idFacture_C", "0");
$this->requete->getSession()->setAttribut("numeroBonConsultation_C", "-1");
$this->requete->getSession()->setAttribut("numeroBonHospitalisation_C", "-1");
$this->requete->getSession()->setAttribut("hospitalisation_C", "0");
$this->requete->getSession()->setAttribut("chirurgie_C", "0");
$this->requete->getSession()->setAttribut("numeroBonOptique_C", "-1");
$this->requete->getSession()->setAttribut("numeroBonOrdonnance_C", "-1");
$this->requete->getSession()->setAttribut("numeroBonExamen_C", "-1");
$this->requete->getSession()->setAttribut("numeroBonKine_C", "-1");
$this->requete->getSession()->setAttribut("numeroBonSeance_C", "-1");
$this->requete->getSession()->setAttribut("codeFamilleActePharmacie_C", "000");
$this->requete->getSession()->setAttribut("codeActePharmacie_C", "00000");
$this->requete->getSession()->setAttribut("codeFamilleActeOptique_C", "999");
$this->requete->getSession()->setAttribut("codeActeOptique_C", "99999");
$this->requete->getSession()->setAttribut("codeActeMonture_C", "99990");
// acte optique remboursement classique
$this->requete->getSession()->setAttribut("codeActeOptiqueCl_C", "RBCLOPT");
$this->requete->getSession()->setAttribut("codeActeMontureCl_C", "RBCLMON");
$this->requete->getSession()->setAttribut("nbActesVerres", "0");
$this->requete->getSession()->setAttribut("nbActesMonture", "0");
$this->requete->getSession()->setAttribut("nbTentative", "0");
$_SESSION['d1_C'] = $_SESSION['dUneSemaineAvant_C'];
$_SESSION['d2_C'] = date('Y-m-d');
$_SESSION['dateFactureReellefr_C'] = date("d/m/Y");
$_SESSION['dateFactureReelle_C'] = date('Y-m-d');
$this->requete->getSession()->setAttribut("idReglement_C", "0");
$this->requete->getSession()->setAttribut("numeroDecompte_C", "-1");
$this->requete->getSession()->setAttribut("idDemandeDecompte_C", "0");
$this->requete->getSession()->setAttribut("numeroDemandeDecompte_C", "-1");
$this->requete->getSession()->setAttribut("lienPrestation_C", $utilisateur['lienPrestation']);
$this->requete->getSession()->setAttribut("lienProduction_C", $utilisateur['lienProduction']);
$this->requete->getSession()->setAttribut("lienAssure_C", $utilisateur['lienAssure']);
$this->requete->getSession()->setAttribut("modeSaisieFacture", "0");
$this->requete->getSession()->setAttribut("nbMessagesNonLus_C", "0");
$this->requete->getSession()->setAttribut("requete", "0");
$this->requete->getSession()->setAttribut("nbActesMonture", "0");
/* FIN variable de session context */
$filename = 'Societes/'.$utilisateur['codeSociete'];
if (!file_exists($filename))
{
mkdir($filename, 0700);
}
$this->requete->getSession()->setAttribut("dossierSociete", $filename);
// $this->requete->getSession()->setAttribut("dossierGed", $_SESSION['lienPrestation_C'].$_SESSION['dossierSociete'].'/Ged/');
$this->requete->getSession()->setAttribut("dossierGed", $_SESSION['lienAssure_C'].$_SESSION['dossierSociete'].'/Ged/');
$this->requete->getSession()->setAttribut("cheminGed", $_SESSION['dossierSociete'].'/Ged/');
$this->requete->getSession()->setAttribut("devise_C", $utilisateur['devise']);
$this->requete->getSession()->setAttribut("langSociete", $utilisateur['codeLangueSociete']);
$codeLangue = $_SESSION['lang'];
if ($_SESSION['lang']=="en_US")
{
$_SESSION['libelleLang']="English";
}
else
{
$_SESSION['libelleLang']="Français";
}
$this->requete->getSession()->setAttribut("menu", $this->menu->getMenu($utilisateur['codeProfil']));
$codeProfil = $_SESSION['codeProfil_C'];
$login = $_SESSION['login'];
$_SESSION['codeUtilisateur'] = $login;
// Avant de rediriger, on va remplir suivisaisies
$this->logconnexion->suivisaisies($login, $idSaisie, $codeLangue);
setcookie('lang', $codeLangue, time()+365*24*3600, '/');
setcookie('codeUtilisateur', $_SESSION['codeUtilisateur'], time()+365*24*3600, '/');
setcookie('codeSociete', $_SESSION['codeSociete'], time()+365*24*3600, '/');
// ajout du 22/03/2025 => cookie user lié à codeSociete
$codeSociete = $_SESSION['codeSociete'];
setcookie("login[$codeSociete]", $_SESSION['codeUtilisateur'], time()+365*24*3600, '/');
$_SESSION['vue'] = "INTER-SANTE";
$this->requete->getSession()->setAttribut("changerMotPassDefaut", $utilisateur['changerMotPassDefaut']);
$this->requete->getSession()->setAttribut("verifierLongueurPass", $utilisateur['verifierLongueurPass']);
$longueurPassWord = $utilisateur['longueurPassWord'];
$_SESSION['dureeSession'] = $utilisateur['dureeSession'];
$changerMotPassDefaut = ( ($_SESSION['changerMotPassDefaut']=="1") && ($this->utilisateur->verifiermotpassdefaut($codeSociete, $mdp)) );
$motCourt = ( ($_SESSION['verifierLongueurPass']=="1") && (strlen($mdp)<$longueurPassWord) );
// A enlever après
$_SESSION['motCourt'] = $motCourt;
$_SESSION['changerMotPassDefaut'] = $changerMotPassDefaut;
$agePass = $utilisateur['agePass'];
$dureeViePassWord = $utilisateur['dureeViePassWord'];
$passExpired = ( ($dureeViePassWord>"0") && ($agePass>$dureeViePassWord) );
$_SESSION['passExpired'] = $passExpired;
$_SESSION['passAchanger'] = false;
// $this->requete->getSession()->setAttribut("bdTests_C", $utilisateur['bdTests']);
$this->requete->getSession()->setAttribut("colorTests", $utilisateur['colorTests']);
$this->requete->getSession()->setAttribut("faceRegistered_C", "0");
// face 26/09/2025
$this->requete->getSession()->setAttribut("okId", "-1");
$this->requete->getSession()->setAttribut("okId_face", "-1");
$this->requete->getSession()->setAttribut("numeroBeneficiaire_face", "");
$this->requete->getSession()->setAttribut("largeurPhoto", $utilisateur['largeurPhoto']);
$this->requete->getSession()->setAttribut("longueurPhoto", $utilisateur['longueurPhoto']);
$this->requete->getSession()->setAttribut("assureAjoutPhoto", $utilisateur['assureAjoutPhoto']);
$_SESSION['fingerActif'] = '0';
$_SESSION['faceActif'] = '0';
$this->requete->getSession()->setAttribut("lienPhotoFace", $utilisateur['lienPhotoFace']);
$this->requete->getSession()->setAttribut("motPassPdf", $utilisateur['motPassPdf']);
$logo = $_SESSION['dossierPhoto_C'].$_SESSION['dossierSociete'].'/Logos/logo_societe.png';
$this->requete->getSession()->setAttribut("lienLogo", $logo);
$dossierLogo=dirname($_SESSION['lienPhotoFace'])."/Logos/logo_societe.png";
$this->requete->getSession()->setAttribut("dossierLogo", $dossierLogo);
$_SESSION['idLogapiface'] = "0";
// fin 26/09/2025
$_SESSION['deconnexion'] = "0";
$_SESSION['derniere_action'] = time();
if(($motCourt===true) or ($changerMotPassDefaut===true) or ($passExpired===true))
{
$_SESSION['passAchanger'] = true;
$_SESSION['menu'] = array();
$this->rediriger("Changermotpass");
}
else
{
$this->rediriger("Accueilassure");
}
}
else
{
if (isset($_SESSION['nbTentativeConnexion']))
{
$_SESSION['nbTentativeConnexion']++;
}
else
{
$_SESSION['nbTentativeConnexion'] = '1';
}
$nbTentativeConnexion = $_SESSION['nbTentativeConnexion'];
if($nbTentativeConnexion>$nbTentativeConnexionMax)
{
$this->logconnexion->bannirconnexion($login, $ipConnexion, $nbTentativeConnexion);
if ($_SESSION['lang']=="en_US")
{
$this->genererVue(array('msgErreur' => "Too many connection attempts!"), "index");
}
else
{
$this->genererVue(array('msgErreur' => "Trop de tentatives de connexion!"), "index");
}
}
else
{
if ($_SESSION['lang']=="en_US")
{
$this->genererVue(array('msgErreur' => "Incorrect login or password => $nbTentativeConnexion attempts (s)"), "index");
}
else
{
$this->genererVue(array('msgErreur' => "Login ou mot de passe incorrects => $nbTentativeConnexion tentative (s)"), "index");
}
}
}
}
else
{
if ($_SESSION['lang']=="en_US")
{
throw new Exception("Login or password not defined!");
}
else
{
throw new Exception("Login ou mot de passe non défini!");
}
}
}
public function deconnecter()
{
if($this->requete->getSession()->existeAttribut("login"))
{
$login = $this->requete->getSession()->getAttribut("login");
$this->utilisateur->viderTablesTemporairesUser($login);
$this->societeusercentral->viderTablesTemporairesUser($login);
}
$langue = $_SESSION['lang'];
$this->requete->getSession()->detruire();
$_SESSION['lang'] = $langue;
$this->rediriger("Connexion");
}
public function quitter()
{
$login = $this->requete->getSession()->getAttribut("login");
$this->utilisateur->viderTablesTemporairesUser($login);
$this->societeusercentral->viderTablesTemporairesUser($login);
$this->requete->getSession()->detruire();
}
}