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(); } }