931 lines
38 KiB
PHP
Executable File
931 lines
38 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 $menuvue;
|
|
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);
|
|
|
|
/*
|
|
var_dump
|
|
(
|
|
array('paramsabonnementsaas' => $paramsabonnementsaas)
|
|
);
|
|
exit();
|
|
*/
|
|
|
|
$actif = $paramsabonnementsaas['actif'];
|
|
$delaiUsageSaas = $paramsabonnementsaas['delaiUsageSaas'];
|
|
$dateJour = date('Y-m-d');
|
|
|
|
if ($login=="admsaas")
|
|
{
|
|
$actif = '1';
|
|
$delaiUsageSaas = $dateJour;
|
|
}
|
|
|
|
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
|
|
$this->utilisateur->viderTablesTemporairesUser($login);
|
|
$this->societeusercentral->viderTablesTemporairesUser($login);
|
|
|
|
// Ajout du 29/10/2024 => se connecter à partir d'un IP autorisé
|
|
$alowedIp = $this->utilisateur->alowed_ip($login, $ipConnexion);
|
|
if($alowedIp=="0")
|
|
{
|
|
if ($_SESSION['lang']=="en_US")
|
|
{
|
|
$this->genererVue(array('msgErreur' => "Unauthorized IP address"), "index");
|
|
exit();
|
|
}
|
|
else
|
|
{
|
|
$this->genererVue(array('msgErreur' => "Adresse IP non autorisée!"), "index");
|
|
exit();
|
|
}
|
|
}
|
|
|
|
$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' => 'LICENSE PROBLEM, PLEASE CONTACT EBENE SOLUTIONS INFORMATIQUES AT lkane@ebene.info!'), "index");
|
|
exit();
|
|
}
|
|
else
|
|
{
|
|
$this->genererVue(array('msgErreur' => 'PROBLEME DE LECENCE, 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();
|
|
}
|
|
|
|
// Gestion limite usage
|
|
$dateLimiteUsage = $utilisateur['dateLimiteUsage'];
|
|
$dateLimiteUsage_0 = getMoritio_0();
|
|
$dateLimiteUsage_2 = getMoritio_2();
|
|
|
|
/*
|
|
var_dump
|
|
(
|
|
array
|
|
(
|
|
"dateLimiteUsage" => $dateLimiteUsage,
|
|
"dateLimiteUsage_0" => $dateLimiteUsage_0,
|
|
"dateLimiteUsage_2" => $dateLimiteUsage_2,
|
|
)
|
|
);
|
|
exit();
|
|
*/
|
|
|
|
if($dateLimiteUsage<$dateLimiteUsage_0)
|
|
{
|
|
if ($_SESSION['lang']=="en_US")
|
|
{
|
|
$this->genererVue(array('msgErreur' => 'EXPIRY 1, PLEASE CONTACT EBENE SOLUTIONS INFORMATIQUES AT lkane@ebene.info!'), "index");
|
|
}
|
|
else
|
|
{
|
|
$this->genererVue(array('msgErreur' => 'EXPIRATION 1, 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' => 'EXPIRY 2, PLEASE CONTACT EBENE SOLUTIONS INFORMATIQUES AT lkane@ebene.info!'), "index");
|
|
}
|
|
else
|
|
{
|
|
$this->genererVue(array('msgErreur' => 'EXPIRATION 2, VEUILLEZ CONTACTER EBENE SOLUTIONS INFORMATIQUES AU lkane@ebene.info!'), "index");
|
|
}
|
|
exit();
|
|
}
|
|
// FIN Gestion limite usage
|
|
|
|
|
|
viderContexte();
|
|
|
|
// Variables de session Utilisateur
|
|
|
|
$this->requete->getSession()->setAttribut("dateLimiteUsage", $dateLimiteUsage);
|
|
$this->requete->getSession()->setAttribut("idUtilisateur", $utilisateur['idUtilisateur']);
|
|
$this->requete->getSession()->setAttribut("login", $utilisateur['login']);
|
|
$this->requete->getSession()->setAttribut("nomUtilisateur", $utilisateur['nom']);
|
|
$this->requete->getSession()->setAttribut("prenomsUtilisateur", $utilisateur['prenoms']);
|
|
$this->requete->getSession()->setAttribut("codeTypeUtilisateur", $utilisateur['codeTypeUtilisateur']);
|
|
$this->requete->getSession()->setAttribut("utilisateur_C", $utilisateur['prenoms']." ".$utilisateur['nom']);
|
|
$this->requete->getSession()->setAttribut("userInitials_C", $utilisateur['initiales']);
|
|
$this->requete->getSession()->setAttribut("typeUtilisateur", $utilisateur['typeUtilisateur']);
|
|
$this->requete->getSession()->setAttribut("telephoneUtilisateur", $utilisateur['telephone']);
|
|
$this->requete->getSession()->setAttribut("emailUtilisateur", $utilisateur['email']);
|
|
$this->requete->getSession()->setAttribut("codeProfil", $utilisateur['codeProfil']);
|
|
$this->requete->getSession()->setAttribut("codeProfilSysteme", $utilisateur['codeProfilSysteme']);
|
|
$this->requete->getSession()->setAttribut("profil", $utilisateur['profil']);
|
|
$this->requete->getSession()->setAttribut("gestionDroit", $utilisateur['gestionDroit']);
|
|
$this->requete->getSession()->setAttribut("codePrestataireUtilisateur", $utilisateur['codePrestataire']);
|
|
$this->requete->getSession()->setAttribut("codeTypePrestataireUtilisateur", $utilisateur['codeTypePrestataire']);
|
|
$this->requete->getSession()->setAttribut("prestataireUtilisateur", $utilisateur['prestataire']);
|
|
$this->requete->getSession()->setAttribut("telephonePrestataire", $utilisateur['telephonePrestataire']);
|
|
$this->requete->getSession()->setAttribut("faxPrestataire", $utilisateur['faxPrestataire']);
|
|
$this->requete->getSession()->setAttribut("emailPrestataire", $utilisateur['emailPrestataire']);
|
|
|
|
$this->requete->getSession()->setAttribut("adminProd", $utilisateur['adminProd']);
|
|
$this->requete->getSession()->setAttribut("adminSin", $utilisateur['adminSin']);
|
|
$this->requete->getSession()->setAttribut("adminBon", $utilisateur['adminBon']);
|
|
$this->requete->getSession()->setAttribut("adminDiv", $utilisateur['adminDiv']);
|
|
$this->requete->getSession()->setAttribut("superUser", $utilisateur['superUser']);
|
|
|
|
$this->requete->getSession()->setAttribut("codeExercice_C", $utilisateur['codeExercice']);
|
|
$this->requete->getSession()->setAttribut("codeMois_C", $utilisateur['codeMois']);
|
|
|
|
$_SESSION['codePeriodeMax'] = $_SESSION['codeExercice_C'].$_SESSION['codeMois_C'];
|
|
|
|
$_SESSION['codeExercice1_C'] = $_SESSION['codeExercice_C'];
|
|
$_SESSION['codeExercice2_C'] = $_SESSION['codeExercice_C'];
|
|
$_SESSION['codeMois1_C'] = $_SESSION['codeMois_C'];
|
|
$_SESSION['codeMois2_C'] = $_SESSION['codeMois_C'];
|
|
|
|
$_SESSION['idAvenantFacturation'] = "0";
|
|
|
|
$this->requete->getSession()->setAttribut("dUneSemaineAvant_C", $utilisateur['dUneSemaineAvant']);
|
|
$this->requete->getSession()->setAttribut("dUneSemaineAvantFr_C", $utilisateur['dUneSemaineAvantFr']);
|
|
|
|
$this->requete->getSession()->setAttribut("debutExercice_C", $utilisateur['debutExercice']);
|
|
$this->requete->getSession()->setAttribut("debutExerciceFr_C", $utilisateur['debutExerciceFr']);
|
|
|
|
$this->requete->getSession()->setAttribut("debutArchivage", $utilisateur['debutArchivage']);
|
|
$this->requete->getSession()->setAttribut("debutArchivageFr", $utilisateur['debutArchivageFr']);
|
|
|
|
$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'));
|
|
$this->requete->getSession()->setAttribut("dateAnalyse_C", date('Y-m-d'));
|
|
$this->requete->getSession()->setAttribut("dateAnalyseFr_C", date('d/m/Y'));
|
|
|
|
$this->requete->getSession()->setAttribut("debutGc", $utilisateur['debutExercice']);
|
|
$this->requete->getSession()->setAttribut("debutGcFr", $utilisateur['debutExerciceFr']);
|
|
$this->requete->getSession()->setAttribut("finGcFr", date('d/m/Y'));
|
|
|
|
$this->requete->getSession()->setAttribut("hier_C", $utilisateur['hier']);
|
|
$this->requete->getSession()->setAttribut("hierFr_C", $utilisateur['hierFr']);
|
|
|
|
$this->requete->getSession()->setAttribut("modeDevis", "0");
|
|
|
|
//On crée les variables de session propre au user
|
|
$this->requete->getSession()->setAttribut("codeSociete", $utilisateur['codeSociete']);
|
|
$this->requete->getSession()->setAttribut("adresseGeoSociete", $utilisateur['adresseGeoSociete']);
|
|
$this->requete->getSession()->setAttribut("adressePostSociete", $utilisateur['adressePostSociete']);
|
|
$this->requete->getSession()->setAttribut("telephoneSociete", $utilisateur['telephoneSociete']);
|
|
$this->requete->getSession()->setAttribut("faxSociete", $utilisateur['faxSociete']);
|
|
|
|
|
|
//On crée les variables de session propre à la société du user
|
|
$this->requete->getSession()->setAttribut("codePaysSociete", $utilisateur['codePaysSociete']);
|
|
$this->requete->getSession()->setAttribut("typeSociete", $utilisateur['typeSociete']);
|
|
$this->requete->getSession()->setAttribut("nomSociete", $utilisateur['nomSociete']);
|
|
$_SESSION['nomSociete_C'] = $_SESSION['nomSociete'];
|
|
$this->requete->getSession()->setAttribut("nomProduitSante", $utilisateur['nomProduitSante']);
|
|
|
|
$this->requete->getSession()->setAttribut("largeurPhoto", $utilisateur['largeurPhoto']);
|
|
$this->requete->getSession()->setAttribut("longueurPhoto", $utilisateur['longueurPhoto']);
|
|
|
|
// $this->requete->getSession()->setAttribut("villeSociete", $utilisateur['ville']);
|
|
// $this->requete->getSession()->setAttribut("villeSociete", $this->societeuser->get_ville_societe($utilisateur['codeSociete']));
|
|
$this->requete->getSession()->setAttribut("villeSociete", $utilisateur['villeSociete']);
|
|
|
|
$this->requete->getSession()->setAttribut("nbUser", $utilisateur['nbUser']);
|
|
$this->requete->getSession()->setAttribut("racineNoAdherent", $utilisateur['racineNoAdherent']);
|
|
$this->requete->getSession()->setAttribut("tauxInteret", $utilisateur['tauxInteret']);
|
|
|
|
$this->requete->getSession()->setAttribut("tauxRistourne", $utilisateur['tauxRistourne']);
|
|
|
|
$this->requete->getSession()->setAttribut("primeBaseFamille", $utilisateur['primeBaseFamille']);
|
|
$this->requete->getSession()->setAttribut("primeBaseBeneficiaire", $utilisateur['primeBaseBeneficiaire']);
|
|
|
|
$this->requete->getSession()->setAttribut("medecinConseil", $utilisateur['medecinConseil']);
|
|
$this->requete->getSession()->setAttribut("emailMedecinConseil", $utilisateur['emailMedecinConseil']);
|
|
$this->requete->getSession()->setAttribut("telephoneMedecinConseil", $utilisateur['telephoneMedecinConseil']);
|
|
|
|
$this->requete->getSession()->setAttribut("indicatifTelephone", $utilisateur['indicatifTelephone']);
|
|
|
|
$this->requete->getSession()->setAttribut("emailAdministrateurSysteme", $utilisateur['emailAdministrateurSysteme']);
|
|
$this->requete->getSession()->setAttribut("telephoneAdministrateurSysteme", $utilisateur['telephoneAdministrateurSysteme']);
|
|
|
|
$this->requete->getSession()->setAttribut("codeInitiateurTache", $utilisateur['codeTypeUtilisateur']);
|
|
if($utilisateur['codeTypeUtilisateur']=='PR')
|
|
{
|
|
$this->requete->getSession()->setAttribut("codeInitiateurTache", $_SESSION['codePrestataireUtilisateur']);
|
|
}
|
|
|
|
$this->requete->getSession()->setAttribut("timezone_identifier", $utilisateur['timezone_identifier']);
|
|
date_default_timezone_set($_SESSION['timezone_identifier']);
|
|
|
|
|
|
// On va déclarer les variable de session context
|
|
$this->requete->getSession()->setAttribut("idClient_C", "");
|
|
$this->requete->getSession()->setAttribut("numeroClient_C", "");
|
|
$this->requete->getSession()->setAttribut("nomClient_C", "");
|
|
$this->requete->getSession()->setAttribut("codeLangueClient", $utilisateur['codeLangueSociete']);
|
|
$this->requete->getSession()->setAttribut("actesHarmonises", $utilisateur['actesHarmonises']);
|
|
$this->requete->getSession()->setAttribut("fusionConsOrd", $utilisateur['fusionConsOrd']);
|
|
|
|
$this->requete->getSession()->setAttribut("idClient_d_C", "");
|
|
$this->requete->getSession()->setAttribut("numeroClient_d_C", "");
|
|
$this->requete->getSession()->setAttribut("nomClient_d_C", "");
|
|
|
|
$this->requete->getSession()->setAttribut("idPolice_C", "");
|
|
$this->requete->getSession()->setAttribut("numeroPolice_C", "");
|
|
$this->requete->getSession()->setAttribut("codeGcAssureur_C", "");
|
|
$this->requete->getSession()->setAttribut("codeTypeContrat", "");
|
|
$this->requete->getSession()->setAttribut("policeGroupe", "1");
|
|
$this->requete->getSession()->setAttribut("codeEtape_C", "1");
|
|
$this->requete->getSession()->setAttribut("tauxTaxe_C", "0");
|
|
$this->requete->getSession()->setAttribut("tauxTaxeAccessoire_C", "0");
|
|
$this->requete->getSession()->setAttribut("tauxCommission_C", "0");
|
|
$this->requete->getSession()->setAttribut("deduireComm_C", "0");
|
|
$this->requete->getSession()->setAttribut("codeTypeAvenant_C", "");
|
|
$this->requete->getSession()->setAttribut("codeTypeAvenantCpt_C", "");
|
|
|
|
$this->requete->getSession()->setAttribut("idPolice_d_C", "");
|
|
$this->requete->getSession()->setAttribut("numeroPolice_d_C", "");
|
|
$this->requete->getSession()->setAttribut("codeEtape_d_C", "1");
|
|
$this->requete->getSession()->setAttribut("tauxTaxe_d_C", "0");
|
|
$this->requete->getSession()->setAttribut("tauxTaxeAccessoire_d_C", "0");
|
|
$this->requete->getSession()->setAttribut("tauxCommission_d_C", "0");
|
|
$this->requete->getSession()->setAttribut("deduireComm_d_C", "0");
|
|
|
|
$this->requete->getSession()->setAttribut("codeEtatPolice_C", "");
|
|
|
|
$this->requete->getSession()->setAttribut("ndAdh_C", "0");
|
|
$this->requete->getSession()->setAttribut("ndDep_C", "0");
|
|
$this->requete->getSession()->setAttribut("ndActif_C", "0");
|
|
|
|
$this->requete->getSession()->setAttribut("nbCollege_C", "0");
|
|
|
|
$this->requete->getSession()->setAttribut("dateEffet_C", "");
|
|
$this->requete->getSession()->setAttribut("dateFin_C", "");
|
|
$this->requete->getSession()->setAttribut("dateEcheance_C", "");
|
|
$this->requete->getSession()->setAttribut("DateRenouvellement_C", "");
|
|
|
|
$this->requete->getSession()->setAttribut("dateEffetPolice_C", "");
|
|
$this->requete->getSession()->setAttribut("dateFinPolice_C", "");
|
|
$this->requete->getSession()->setAttribut("dateEcheancePolice_C", "");
|
|
$this->requete->getSession()->setAttribut("dateEffetInitialPolice_C", "");
|
|
|
|
$this->requete->getSession()->setAttribut("Patient_C", "");
|
|
|
|
|
|
$this->requete->getSession()->setAttribut("dernierIdAvenant", "0");
|
|
$this->requete->getSession()->setAttribut("dernierDateAvenant", null);
|
|
$this->requete->getSession()->setAttribut("dernierIdCollege", "0");
|
|
|
|
$this->requete->getSession()->setAttribut("dateEffet_d_C", "");
|
|
$this->requete->getSession()->setAttribut("dateFin_d_C", "");
|
|
$this->requete->getSession()->setAttribut("dateEcheance_d_C", "");
|
|
|
|
// $this->requete->getSession()->setAttribut("idQuittance_C", "");
|
|
$this->requete->getSession()->setAttribut("idEmission_C", "0");
|
|
$this->requete->getSession()->setAttribut("numeroEmission_C", "0");
|
|
|
|
$this->requete->getSession()->setAttribut("idAdherent_C", "");
|
|
$this->requete->getSession()->setAttribut("numeroAdherent_C", "");
|
|
$this->requete->getSession()->setAttribut("codeEtatAdherent_C", "");
|
|
$this->requete->getSession()->setAttribut("codeEtatBeneficiaire_C", "");
|
|
|
|
|
|
$this->requete->getSession()->setAttribut("nomAdherent_C", "");
|
|
$this->requete->getSession()->setAttribut("codeProduit_C", "");
|
|
$this->requete->getSession()->setAttribut("idCollege_C", "0");
|
|
$this->requete->getSession()->setAttribut("idClientAjax", "");
|
|
$this->requete->getSession()->setAttribut("idPoliceAjax", "");
|
|
|
|
$this->requete->getSession()->setAttribut("codeProduit_d_C", "");
|
|
$this->requete->getSession()->setAttribut("idCollege_d_C", "0");
|
|
$this->requete->getSession()->setAttribut("idClient_d_Ajax", "");
|
|
$this->requete->getSession()->setAttribut("idPolice_d_Ajax", "");
|
|
|
|
$this->requete->getSession()->setAttribut("idBeneficiaire_C", "");
|
|
$this->requete->getSession()->setAttribut("numeroBeneficiaire_C", "");
|
|
$this->requete->getSession()->setAttribut("nomBeneficiaire_C", "");
|
|
$this->requete->getSession()->setAttribut("lienPhoto_C", "");
|
|
$this->requete->getSession()->setAttribut("dossierPhoto_C", $utilisateur['dossierPhoto']);
|
|
$this->requete->getSession()->setAttribut("codeLienParente_C", "");
|
|
|
|
$_SESSION['photoAssureCrypte'] = "";
|
|
|
|
$this->requete->getSession()->setAttribut("idSubstitut_C", "0");
|
|
$this->requete->getSession()->setAttribut("substitutnonassure_C", "");
|
|
$this->requete->getSession()->setAttribut("substitutenVigueur_C", "0");
|
|
|
|
$this->requete->getSession()->setAttribut("fraisCarteImp", $utilisateur['fraisCarteImp']);
|
|
$this->requete->getSession()->setAttribut("numeroOptionTarif", "1");
|
|
|
|
$this->requete->getSession()->setAttribut("exercieReference_C", $utilisateur['codeExercice']);
|
|
|
|
// $this->requete->getSession()->setAttribut("bdTests_C", $utilisateur['bdTests']);
|
|
$this->requete->getSession()->setAttribut("colorTests", $utilisateur['colorTests']);
|
|
|
|
$this->requete->getSession()->setAttribut("faceRegistered_C", "0");
|
|
|
|
$_SESSION['codeLocalite'] = "";
|
|
$_SESSION['idEntetecontrat'] = "0";
|
|
$_SESSION['idEntetecontratPolice'] = "0";
|
|
|
|
// $idSaisie = uniqid();
|
|
$this->requete->getSession()->setAttribut("idSaisie", $idSaisie);
|
|
|
|
$_SESSION['p_idSaisie'] = $idSaisie;
|
|
$_SESSION['idSaisie'] = $idSaisie;
|
|
|
|
$_SESSION['d1_C'] = $_SESSION['dUneSemaineAvant_C'];
|
|
$_SESSION['d2_C'] = date('Y-m-d');
|
|
|
|
|
|
$filename = 'Societes/'.$utilisateur['codeSociete'];
|
|
if (!file_exists($filename))
|
|
{
|
|
mkdir($filename, 0700);
|
|
}
|
|
|
|
$this->requete->getSession()->setAttribut("dossierSociete", $filename);
|
|
|
|
$fichierBon_C = "";
|
|
$_SESSION['codePrestataire_C'] = "";
|
|
|
|
$_SESSION['controlerPlafondAdherent'] = "0";
|
|
$_SESSION['controlerPlafondBeneficiaire'] = "0";
|
|
|
|
$_SESSION['decompte_factures_chargees_C'] = "0";
|
|
$_SESSION['idDossierClassique'] = "0";
|
|
$_SESSION['idDossierClassiquePolice'] = "0";
|
|
|
|
$this->requete->getSession()->setAttribut("devise_C", $utilisateur['devise']);
|
|
$this->requete->getSession()->setAttribut("codeLangueSociete", $utilisateur['codeLangueSociete']);
|
|
$this->requete->getSession()->setAttribut("codeLanguePrestataire", "fr_FR");
|
|
$this->requete->getSession()->setAttribut("codeLangueAdherent", "fr_FR");
|
|
|
|
// $this->requete->getSession()->setAttribut("lang", $utilisateur['codeLangue']);
|
|
$this->requete->getSession()->setAttribut("codeProduitBase", $utilisateur['codeProduitBase']);
|
|
|
|
$this->requete->getSession()->setAttribut("barMenu", "0");
|
|
|
|
|
|
$_SESSION['lang'] = (isset($_SESSION['lang'])) ? $_SESSION['lang'] : 'fr_FR';
|
|
|
|
$codeLangue = $_SESSION['lang'];
|
|
|
|
if ($_SESSION['lang']=="en_US")
|
|
{
|
|
$_SESSION['libelleLang']="English";
|
|
}
|
|
else
|
|
{
|
|
$_SESSION['libelleLang']="Français";
|
|
}
|
|
|
|
$_SESSION['PROJECT_DIR'] = "";
|
|
$_SESSION['GETTEXT_DIR'] = "";
|
|
|
|
$this->requete->getSession()->setAttribut("fournisseurSms", $utilisateur['fournisseurSms']);
|
|
$this->requete->getSession()->setAttribut("envoismsactif", $utilisateur['envoismsactif']);
|
|
$this->requete->getSession()->setAttribut("smsAssure", $utilisateur['smsAssure']);
|
|
$this->requete->getSession()->setAttribut("copieSmsPrestataireAssure", $utilisateur['copieSmsPrestataireAssure']);
|
|
|
|
$this->requete->getSession()->setAttribut("actVisible", $utilisateur['actVisible']);
|
|
$this->requete->getSession()->setAttribut("AffectionVisible", $utilisateur['AffectionVisible']);
|
|
$this->requete->getSession()->setAttribut("estMedecin", $utilisateur['estMedecin']);
|
|
|
|
$this->requete->getSession()->setAttribut("codePointVente", $utilisateur['codePointVente']);
|
|
$this->requete->getSession()->setAttribut("filtrePointVente", $utilisateur['filtrePointVente']);
|
|
|
|
// $menu_kane=$this->menu->getMenu($utilisateur['codeProfil']);
|
|
|
|
// $this->requete->getSession()->setAttribut("menu", $this->menu->getMenu($utilisateur['codeProfil']));
|
|
// $this->requete->getSession()->setAttribut("menu", $menu_kane);
|
|
// $_SESSION['menu'] = $menu_kane;
|
|
$_SESSION['menu'] = $this->menu->getMenu($utilisateur['codeProfil']);
|
|
|
|
// var_dump($menu_kane);
|
|
// $this->genererVue(array('msgErreur' => "Après getMenu"), "index");
|
|
// exit();
|
|
|
|
|
|
/* Session prestations */
|
|
|
|
$this->requete->getSession()->setAttribut("idReglement_C", "0");
|
|
$this->requete->getSession()->setAttribut("numeroDemandeDecompte_C", "0");
|
|
|
|
$this->requete->getSession()->setAttribut("idPaiementDecompte_C", "0");
|
|
$this->requete->getSession()->setAttribut("numeroReglement_C", "0");
|
|
|
|
$this->requete->getSession()->setAttribut("enVigueur_C", "");
|
|
$this->requete->getSession()->setAttribut("decede_C", "");
|
|
$this->requete->getSession()->setAttribut("dateDeces_C", "");
|
|
$this->requete->getSession()->setAttribut("fraisFuneraireDemande_C", "");
|
|
|
|
$this->requete->getSession()->setAttribut("codePrestataire_C", "");
|
|
$this->requete->getSession()->setAttribut("codePrestataireLivraison_C", "");
|
|
$this->requete->getSession()->setAttribut("codePrestataire_Dec", "");
|
|
|
|
$this->requete->getSession()->setAttribut("codePrestataire_CSO", "");
|
|
$this->requete->getSession()->setAttribut("codePrestataire_PHA", "");
|
|
$this->requete->getSession()->setAttribut("codePrestataire_OPT", "");
|
|
$this->requete->getSession()->setAttribut("codePrestataire_SEA", "");
|
|
$this->requete->getSession()->setAttribut("codePrestataire_LAB", "");
|
|
|
|
$this->requete->getSession()->setAttribut("codeTypeBon_C", "");
|
|
$this->requete->getSession()->setAttribut("idgenerartionbon_C", "0");
|
|
$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("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");
|
|
|
|
$this->requete->getSession()->setAttribut("codeTarifMedicament_C", "ST");
|
|
$this->requete->getSession()->setAttribut("codeTarifOptique_C", "ST");
|
|
$this->requete->getSession()->setAttribut("codeTarifActe_C", "");
|
|
$this->requete->getSession()->setAttribut("idActe_C", "0");
|
|
$this->requete->getSession()->setAttribut("codeFamilleActe_C", "");
|
|
|
|
$this->requete->getSession()->setAttribut("idEntetestat_C", "0");
|
|
|
|
|
|
$this->requete->getSession()->setAttribut("lienPrestation_C", $utilisateur['lienPrestation']);
|
|
$this->requete->getSession()->setAttribut("lienProduction_C", $utilisateur['lienProduction']);
|
|
$_SESSION['lienServeur'] = $_SESSION['lienProduction_C'];
|
|
|
|
$this->requete->getSession()->setAttribut("lienGc_C", $utilisateur['lienGc']);
|
|
|
|
$this->requete->getSession()->setAttribut("dossierGed", $_SESSION['lienProduction_C'].'/'.$_SESSION['dossierSociete'].'/Ged/');
|
|
$this->requete->getSession()->setAttribut("cheminGed", $_SESSION['dossierSociete'].'/Ged/');
|
|
$this->requete->getSession()->setAttribut("cheminTarifs", $_SESSION['dossierSociete'].'/Tarifs/');
|
|
$this->requete->getSession()->setAttribut("cheminGettext", $_SESSION['dossierSociete'].'/Gettext/');
|
|
|
|
$this->requete->getSession()->setAttribut("nbMessagesNonLus_C", "0");
|
|
|
|
$this->utilisateur->getContextePolice();
|
|
|
|
// récupération de composanteprime
|
|
$this->utilisateur->set_composanteprime();
|
|
|
|
// récupération de affichagedynamique
|
|
$this->utilisateur->set_affichagedynamique();
|
|
|
|
$this->logconnexion->suivisaisies($login, $idSaisie, $codeLangue);
|
|
|
|
// suivisaisies centrale
|
|
$this->societeusercentral->suivisaisiesSaas($codeSociete, $login, $idSaisie, $codeLangue);
|
|
|
|
$_SESSION['codeUtilisateur'] = $_SESSION['login'];
|
|
|
|
$this->requete->getSession()->setAttribut("codeModeBiometrie", $utilisateur['codeModeBiometrie']);
|
|
|
|
$codeModeBiometrie = $utilisateur['codeModeBiometrie'];
|
|
if($codeModeBiometrie=='1' or $codeModeBiometrie=='3'){
|
|
$_SESSION['fingerActif'] = '1';
|
|
}
|
|
else{
|
|
$_SESSION['fingerActif'] = '0';
|
|
}
|
|
|
|
if($codeModeBiometrie=='2' or $codeModeBiometrie=='3'){
|
|
$_SESSION['faceActif'] = '1';
|
|
}
|
|
else{
|
|
$_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);
|
|
|
|
|
|
$this->requete->getSession()->setAttribut("okId", "-1");
|
|
$this->requete->getSession()->setAttribut("okId_face", "-1");
|
|
|
|
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 29/10/2024 => cookie user lié à codeSociete
|
|
$codeSociete = $_SESSION['codeSociete'];
|
|
setcookie("login[$codeSociete]", $_SESSION['codeUtilisateur'], time()+365*24*3600, '/');
|
|
|
|
$_SESSION['vue'] = "INTER-SANTE";
|
|
|
|
$this->requete->getSession()->setAttribut("controlPlafondAdherent", $utilisateur['controlPlafondAdherent']);
|
|
$this->requete->getSession()->setAttribut("controlPlafondBeneficiaire", $utilisateur['controlPlafondBeneficiaire']);
|
|
$this->requete->getSession()->setAttribut("prestationParLienParente", $utilisateur['prestationParLienParente']);
|
|
|
|
$this->requete->getSession()->setAttribut("changerMotPassDefaut", $utilisateur['changerMotPassDefaut']);
|
|
$this->requete->getSession()->setAttribut("verifierLongueurPass", $utilisateur['verifierLongueurPass']);
|
|
|
|
$longueurPassWord = $utilisateur['longueurPassWord'];
|
|
$_SESSION['dureeSession'] = $utilisateur['dureeSession'];
|
|
|
|
$_SESSION['codeModeGenerationPass'] = $utilisateur['codeModeGenerationPass'];
|
|
|
|
$changerMotPassDefaut = ( ($_SESSION['changerMotPassDefaut']=="1") && ($this->utilisateur->verifiermotpassdefaut($codeSociete, $mdp)) );
|
|
$motCourt = ( ($_SESSION['verifierLongueurPass']=="1") && (strlen($mdp)<$longueurPassWord) );
|
|
$changerMotPassDefaut = ( $changerMotPassDefaut or ($utilisateur['passUpdated']!="1") );
|
|
|
|
$agePass = $utilisateur['agePass'];
|
|
$dureeViePassWord = $utilisateur['dureeViePassWord'];
|
|
|
|
$passExpired = (($dureeViePassWord>"0") && ($agePass>$dureeViePassWord));
|
|
$_SESSION['passExpired'] = $passExpired;
|
|
|
|
$_SESSION['passAchanger'] = false;
|
|
|
|
$_SESSION['deconnexion'] = "0";
|
|
$_SESSION['derniere_action'] = time();
|
|
|
|
|
|
|
|
// Ajout du 05/02/2025 => KANE pour payer l'abonnement en cas de compte désactivé
|
|
if ($login=="admsaas")
|
|
{
|
|
$this->rediriger("Abonnement");
|
|
exit();
|
|
}
|
|
|
|
if(($motCourt===true) or ($changerMotPassDefaut===true) or ($passExpired===true))
|
|
{
|
|
$_SESSION['passAchanger'] = true;
|
|
$_SESSION['menu'] = array();
|
|
$this->rediriger("Changermotpass");
|
|
}
|
|
else
|
|
{
|
|
if($utilisateur['codeProfil']=="MEC") /* Médecin conseil */
|
|
{
|
|
if($this->requete->existeParametre("numeroDemande"))
|
|
{
|
|
$numeroDemande = $this->requete->getParametre("numeroDemande");
|
|
|
|
$demandespec = $this->demandepec->getDemandePecMedecinId($numeroDemande);
|
|
$codeReponsePec = $demandespec['codeReponsePec'];
|
|
|
|
if($codeReponsePec=='0')
|
|
{
|
|
$idBeneficiaire = $demandespec['idBeneficiaire'];
|
|
$codeFamille = $demandespec['codeFamille'];
|
|
|
|
$this->beneficiaire->getContexteBeneficiaireId($idBeneficiaire);
|
|
|
|
if($codeFamille=='EE')
|
|
{
|
|
$this->rediriger("Repondrepecexamen", $numeroDemande);
|
|
}
|
|
else
|
|
{
|
|
$this->rediriger("Repondrepechospit", $numeroDemande);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$this->rediriger("Accueilmedecin");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$this->rediriger("Accueilmedecin");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if($utilisateur['codeProfil']=="SUPADM")
|
|
{
|
|
$this->rediriger("Listecentregestion");
|
|
}else
|
|
{
|
|
// maj KANE du 07/02/2025 => utilisation de OTP
|
|
$activerOtp = $utilisateur['activerOtp'];
|
|
if($activerOtp=="1")
|
|
{
|
|
$otpValue = mt_rand(100000, 999999);
|
|
$this->utilisateur->set_otp_value($login, $otpValue);
|
|
$this->utilisateur->envoyer_otp($login, $otpValue);
|
|
$_SESSION['menu'] = array();
|
|
$this->rediriger("Confirmotp");
|
|
exit();
|
|
}
|
|
else
|
|
{
|
|
$this->utilisateur->set_otp_value($login, '');
|
|
$this->rediriger("Recherche");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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
|
|
{
|
|
echo "paramètres manquants";
|
|
exit();
|
|
|
|
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();
|
|
}
|
|
}
|