prestation/Controleur/ControleurConnexion.php
2025-12-05 10:42:46 +00:00

827 lines
41 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/Garantiesbaremepriseencharge.php';
require_once 'Controleur/ControleurMoritio.php';
require_once 'Modele/Societeusercentral.php';
class ControleurConnexion extends Controleur
{
private $utilisateur;
private $menu;
private $logconnexion;
private $garantie;
private $societeusercentral;
private $menuvue;
public function __construct()
{
$this->utilisateur = new Utilisateur();
$this->menu = new Menu();
$this->logconnexion = new Logconnexion();
$this->garantie = new Garantiesbaremepriseencharge();
$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['p_codeSociete'] = $codeSociete;
$_SESSION['p_lang'] = $langue;
$codeLangueSelectionnee = $langue;
$paramsabonnementsaas = $this->societeusercentral->getParamsAbonnementSaas($codeSociete);
$actif = $paramsabonnementsaas['actif'];
$delaiUsageSaas = $paramsabonnementsaas['delaiUsageSaas'];
$dateJour = date('Y-m-d');
if ($actif == "0")
{
if ($_SESSION['p_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['p_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();
// $this->logconnexion->ajouter($login, $heureConnexion, $ipConnexion, $idSaisie);
$idConnexion = $this->logconnexion->ajouter($login, $heureConnexion, $ipConnexion, $idSaisie);
// Vidage Tables temporaires
$_SESSION['p_idSaisie'] = $idSaisie;
$_SESSION['idSaisie'] = $idSaisie;
$_SESSION['idSaisieDecompte'] = "";
$this->utilisateur->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['p_lang']=="en_US")
{
$this->genererVue(array('msgErreur' => "Unauthorized IP address"), "index");
exit();
}
else
{
$this->genererVue(array('msgErreur' => "Adresse IP non autorisée!"), "index");
exit();
}
}
if ($this->utilisateur->connecter($login, $mdp)) {
$this->logconnexion->succesconnexion($idConnexion);
//On obtient le user à partir de son login
$utilisateur = $this->utilisateur->getUtilisateur($login);
// Début test Licence
$codeSociete = $utilisateur['codeSociete'];
$nomSociete = $utilisateur['nomSociete'];
$codeLangueUtilisateur = $utilisateur['codeLangue'];
$_COOKIE['lang'] = $codeLangueSelectionnee;
setcookie('lang', $codeLangueSelectionnee, time()+365*24*3600, '/');
setcookie('codeUtilisateur', $login, time()+365*24*3600, '/');
setcookie('codeSociete',$codeSociete, time()+365*24*3600, '/');
// ajout du 29/10/2024 => cookie user lié à codeSociete
$codeSociete = $_SESSION['p_codeSociete'];
setcookie("login[$codeSociete]", $login, time()+365*24*3600, '/');
if ($codeLangueSelectionnee != $codeLangueUtilisateur)
{
$this->utilisateur->changerlangueutilisateurconnexion($login, $codeLangueSelectionnee);
}
$licensed = getLicensed($codeSociete, $nomSociete);
if(!$licensed )
{
if ($_SESSION['p_lang']=="en_US")
{
$this->genererVue(array('msgErreur' => 'LICENSE PROBLEM, PLEASE CONTACT EBENE SOLUTIONS INFORMATIQUES AT lkane@ebene.info!'), "index");
}
else
{
$this->genererVue(array('msgErreur' => 'PROBLEME DE LECENCE, VEUILLEZ CONTACTER EBENE SOLUTIONS INFORMATIQUES AU lkane@ebene.info!'), "index");
}
exit();
}
// Fin test Licence
if($utilisateur['prestataireActif']<>1)
{
if ($_SESSION['p_lang']=="en_US")
{
$this->genererVue(array('msgErreur' => 'Provider disabled!'), "index");
}
else
{
$this->genererVue(array('msgErreur' => 'Prestataire désactivé!'), "index");
}
exit();
}
if($utilisateur['actif']<>1)
{
if ($_SESSION['p_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['p_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['p_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
// Variables de session Utilisateur
$this->requete->getSession()->setAttribut("p_dateLimiteUsage", $dateLimiteUsage);
$this->requete->getSession()->setAttribut("p_idUtilisateur", $utilisateur['idUtilisateur']);
$this->requete->getSession()->setAttribut("p_idUtilisateur_C", $utilisateur['idUtilisateur']);
$this->requete->getSession()->setAttribut("p_login", $utilisateur['login']);
$this->requete->getSession()->setAttribut("p_login_C", $utilisateur['login']);
$this->requete->getSession()->setAttribut("p_codeSociete", $utilisateur['codeSociete']);
$this->requete->getSession()->setAttribut("p_codeSociete_C", $utilisateur['codeSociete']);
$this->requete->getSession()->setAttribut("p_codeUtilisateur", $utilisateur['codeUtilisateur']);
$this->requete->getSession()->setAttribut("p_codeUtilisateur_C", $utilisateur['codeUtilisateur']);
$this->requete->getSession()->setAttribut("p_nomUtilisateur_C", $utilisateur['nomUtilisateur']);
$this->requete->getSession()->setAttribut("p_prenomsUtilisateur_C", $utilisateur['prenomsUtilisateur']);
$this->requete->getSession()->setAttribut("p_utilisateur_C", $utilisateur['utilisateur']);
$this->requete->getSession()->setAttribut("p_userInitials_C", $utilisateur['initiales']);
$this->requete->getSession()->setAttribut("p_telephoneUtilisateur_C", $utilisateur['telephoneUtilisateur']);
$this->requete->getSession()->setAttribut("p_emailUtilisateur_C", $utilisateur['emailUtilisateur']);
$this->requete->getSession()->setAttribut("p_codeProfil", $utilisateur['codeProfil']);
$this->requete->getSession()->setAttribut("p_codeProfil_C", $utilisateur['codeProfil']);
$this->requete->getSession()->setAttribut("p_codeTypeFacture_C", "");
$this->requete->getSession()->setAttribut("p_codePrestataire_C", $utilisateur['codePrestataire']);
$this->requete->getSession()->setAttribut("p_codeMedecin_C", "");
$this->requete->getSession()->setAttribut("p_medecinConsultation_C", "");
$this->requete->getSession()->setAttribut("p_codeTypeBon_C", "");
$this->requete->getSession()->setAttribut("p_profil_C", $utilisateur['profil']);
$this->requete->getSession()->setAttribut("p_prestataire_C", $utilisateur['prestataire']);
$this->requete->getSession()->setAttribut("p_codeReseauPrestataire_C", $utilisateur['codeReseauPrestataire']);
$this->requete->getSession()->setAttribut("p_codeTypePrestataire_C", $utilisateur['codeTypePrestataire']);
$this->requete->getSession()->setAttribut("p_codeTypeDecompte_C", $utilisateur['codeTypeDecompte']);
$this->requete->getSession()->setAttribut("p_pharmacieInterne_C", $utilisateur['pharmacieInterne']);
$this->requete->getSession()->setAttribut("p_optiqueInterne_C", $utilisateur['optiqueInterne']);
$this->requete->getSession()->setAttribut("p_typeprestataire_C", $utilisateur['typeprestataire']);
$this->requete->getSession()->setAttribut("p_reseausoinPrestataire_C", $utilisateur['reseausoinPrestataire']);
$this->requete->getSession()->setAttribut("p_tmStandard_C", $utilisateur['tmStandard']);
$this->requete->getSession()->setAttribut("p_codePaysPrestataire_C", $utilisateur['codePaysPrestataire']);
$this->requete->getSession()->setAttribut("p_paysPrestataire_C", $utilisateur['paysPrestataire']);
$this->requete->getSession()->setAttribut("p_conventionne_C", $utilisateur['conventionne']);
$this->requete->getSession()->setAttribut("p_estconventionne_C", $utilisateur['estconventionne']);
$this->requete->getSession()->setAttribut("p_adresseGeoPrestataire_C", $utilisateur['adresseGeoPrestataire']);
$this->requete->getSession()->setAttribut("p_adressePostPrestataire_C", $utilisateur['adressePostPrestataire']);
$this->requete->getSession()->setAttribut("p_telephoneFixePrestataire_C", $utilisateur['telephoneFixePrestataire']);
$this->requete->getSession()->setAttribut("p_telephonePortablePrestataire_C", $utilisateur['telephonePortablePrestataire']);
$this->requete->getSession()->setAttribut("p_faxPrestatairePrestataire_C", $utilisateur['faxPrestatairePrestataire']);
$this->requete->getSession()->setAttribut("p_emailPrestataire_C", $utilisateur['emailPrestataire']);
$this->requete->getSession()->setAttribut("p_emailGestionPrestataire_C", $utilisateur['emailGestionPrestataire']);
$this->requete->getSession()->setAttribut("p_nomResponsablePrestataire_C", $utilisateur['nomResponsablePrestataire']);
$this->requete->getSession()->setAttribut("p_contactResponsablePrestataire_C", $utilisateur['contactResponsablePrestataire']);
$this->requete->getSession()->setAttribut("p_emailResponsablePrestataire_C", $utilisateur['emailResponsablePrestataire']);
$this->requete->getSession()->setAttribut("p_nomInterlocuteurPrestataire_C", $utilisateur['nomInterlocuteurPrestataire']);
$this->requete->getSession()->setAttribut("p_contactInterlocuteurPrestataire_C", $utilisateur['contactInterlocuteurPrestataire']);
$this->requete->getSession()->setAttribut("p_emailInterlocuteurPrestataire_C", $utilisateur['emailInterlocuteurPrestataire']);
$this->requete->getSession()->setAttribut("p_villeSignature_C", $utilisateur['villeSignature']);
$this->requete->getSession()->setAttribut("p_nomSociete_C", $utilisateur['nomSociete']);
$this->requete->getSession()->setAttribut("p_nomSociete", $utilisateur['nomSociete']);
$this->requete->getSession()->setAttribut("p_nomProduitSante", $utilisateur['nomProduitSante']);
$this->requete->getSession()->setAttribut("p_largeurPhoto", $utilisateur['largeurPhoto']);
$this->requete->getSession()->setAttribut("p_longueurPhoto", $utilisateur['longueurPhoto']);
$this->requete->getSession()->setAttribut("p_villeSociete", $utilisateur['ville']);
$this->requete->getSession()->setAttribut("p_numCompteSociete_C", $utilisateur['numCompteSociete']);
$this->requete->getSession()->setAttribut("p_adresseGeoSociete_C", $utilisateur['adresseGeoSociete']);
$this->requete->getSession()->setAttribut("p_adressePostSociete_C", $utilisateur['adressePostSociete']);
$this->requete->getSession()->setAttribut("p_villeSociete_C", $utilisateur['villeSociete']);
$this->requete->getSession()->setAttribut("p_telephoneSociete_C", $utilisateur['telephoneSociete']);
$this->requete->getSession()->setAttribut("p_emailSociete_C", $utilisateur['emailSociete']);
$this->requete->getSession()->setAttribut("p_portableSociete_C", $utilisateur['portableSociete']);
$this->requete->getSession()->setAttribut("p_nomResponsableSociete_C", $utilisateur['nomResponsableSociete']);
$this->requete->getSession()->setAttribut("p_codePaysSociete_C", $utilisateur['codePaysSociete']);
$this->requete->getSession()->setAttribut("p_medecinConseil_C", $utilisateur['medecinConseil']);
$this->requete->getSession()->setAttribut("p_telephoneMedecinConseil_C", $utilisateur['telephoneMedecinConseil']);
$this->requete->getSession()->setAttribut("p_sigleSociete_C", $utilisateur['sigleSociete']);
$this->requete->getSession()->setAttribut("p_emailMedecinConseil_C", $utilisateur['emailMedecinConseil']);
$this->requete->getSession()->setAttribut("p_emailGestionBon_C", $utilisateur['emailGestionBon']);
$this->requete->getSession()->setAttribut("p_emailCcomptabilite_C", $utilisateur['emailCcomptabilite']);
$this->requete->getSession()->setAttribut("p_emailDerogation_C", $utilisateur['emailDerogation']);
$this->requete->getSession()->setAttribut("p_emailAccordPrealable_C", $utilisateur['emailAccordPrealable']);
$this->requete->getSession()->setAttribut("p_indicatifTelephone", $utilisateur['indicatifTelephone']);
$this->requete->getSession()->setAttribut("p_smsMedecinConseil_C", $utilisateur['smsMedecinConseil']);
$this->requete->getSession()->setAttribut("p_smsGestionBon_C", $utilisateur['smsGestionBon']);
$this->requete->getSession()->setAttribut("p_smsDerogation_C", $utilisateur['smsDerogation']);
$this->requete->getSession()->setAttribut("p_smsAccordPrealable_C", $utilisateur['smsAccordPrealable']);
$this->requete->getSession()->setAttribut("p_sms_standard_C", $utilisateur['sms_standard']);
$this->requete->getSession()->setAttribut("p_lienMail_C", $utilisateur['lienMail']);
$this->requete->getSession()->setAttribut("p_dossierPhoto_C", $utilisateur['dossierPhoto']);
$this->requete->getSession()->setAttribut("p_codeTarifMedicament_C", $utilisateur['codeTarifMedicament']);
$this->requete->getSession()->setAttribut("p_codeTarifOptique_C", $utilisateur['codeTarifOptique']);
$this->requete->getSession()->setAttribut("p_codeTarifActe_C", $utilisateur['codeTarifActe']);
$this->requete->getSession()->setAttribut("p_dUneSemaineAvant_C", $utilisateur['dUneSemaineAvant']);
$this->requete->getSession()->setAttribut("p_dUneSemaineAvantFr_C", $utilisateur['dUneSemaineAvantFr']);
$this->requete->getSession()->setAttribut("p_deuxSemainesAvant_C", $utilisateur['deuxSemainesAvant']);
$this->requete->getSession()->setAttribut("p_deuxSemainesAvantFr_C", $utilisateur['deuxSemainesAvantFr']);
$this->requete->getSession()->setAttribut("p_codeExercice_C", $utilisateur['codeExercice']);
$this->requete->getSession()->setAttribut("p_codeMois_C", $utilisateur['codeMois']);
$_SESSION['p_debutMoisDecompte'] = $_SESSION['p_codeExercice_C'].'-'.$_SESSION['p_codeMois_C'].'-01';
$this->requete->getSession()->setAttribut("p_debutExercice_C", $utilisateur['debutExercice']);
$this->requete->getSession()->setAttribut("p_debutExerciceFr_C", $utilisateur['debutExerciceFr']);
$this->requete->getSession()->setAttribut("p_debutMois_C", $utilisateur['debutMois']);
$this->requete->getSession()->setAttribut("p_debutMoisFr_C", $utilisateur['debutMoisFr']);
$this->requete->getSession()->setAttribut("p_debutRequete_C", $_SESSION['p_debutMois_C']);
$this->requete->getSession()->setAttribut("p_debutRequeteFr_C", $_SESSION['p_debutMoisFr_C']);
$this->requete->getSession()->setAttribut("p_finRequeteFr_C", date('d/m/Y'));
$this->requete->getSession()->setAttribut("p_hier_C", $utilisateur['hier']);
$this->requete->getSession()->setAttribut("p_hierFr_C", $utilisateur['hierFr']);
$this->requete->getSession()->setAttribut("p_prescriptionSiCritereBareme_C", $utilisateur['permettrePrescriptionSiCritereBareme']);
// On va déclarer les variable de session context
$this->requete->getSession()->setAttribut("p_idBeneficiaire_C", "");
$this->requete->getSession()->setAttribut("p_idBeneficiaire_sav", "");
$this->requete->getSession()->setAttribut("p_user_id_C", "0");
$this->requete->getSession()->setAttribut("p_finger_id_C", "0");
$this->requete->getSession()->setAttribut("p_idSubstitut_C", "0");
$this->requete->getSession()->setAttribut("p_user_id_substitut", "0");
$this->requete->getSession()->setAttribut("p_substitutnonassure_C", "");
$this->requete->getSession()->setAttribut("p_substitutenVigueur_C", "0");
$this->requete->getSession()->setAttribut("p_idClient_C", "");
$this->requete->getSession()->setAttribut("p_numeroClient_C", "");
$this->requete->getSession()->setAttribut("p_nomClient_C", "");
$this->requete->getSession()->setAttribut("p_adresseGeoClient_C", "");
$this->requete->getSession()->setAttribut("p_boitepostaleClient_C", "");
$this->requete->getSession()->setAttribut("p_telephoneBureauClient_C", "");
$this->requete->getSession()->setAttribut("p_telephonePortableClient_C", "");
$this->requete->getSession()->setAttribut("p_faxClient_C", "");
$this->requete->getSession()->setAttribut("p_emailClient_C", "");
$this->requete->getSession()->setAttribut("p_idPolice_C", "");
$this->requete->getSession()->setAttribut("p_numeroPolice_C", "");
$this->requete->getSession()->setAttribut("p_dateEffetPolice_C", "");
$this->requete->getSession()->setAttribut("p_dateFinPolice_C", "");
$this->requete->getSession()->setAttribut("p_dateEcheancePolice_C", "");
$this->requete->getSession()->setAttribut("p_codeEtatPolice_C", "");
$this->requete->getSession()->setAttribut("p_idCollege_C", "");
$this->requete->getSession()->setAttribut("p_codeProduit_C", "");
$this->requete->getSession()->setAttribut("p_idAdherent_C", "");
$this->requete->getSession()->setAttribut("p_numeroAdherent_C", "");
$this->requete->getSession()->setAttribut("p_numeroBeneficiaire_C", "");
$this->requete->getSession()->setAttribut("p_nomBeneficiaire_C", "");
$this->requete->getSession()->setAttribut("p_prenomsBeneficiaire_C", "");
$this->requete->getSession()->setAttribut("p_beneficiaire_C", "");
$this->requete->getSession()->setAttribut("p_codeLienParente_C", "");
$this->requete->getSession()->setAttribut("p_numeroPiece_C", "");
$this->requete->getSession()->setAttribut("p_sexe_C", "");
$this->requete->getSession()->setAttribut("p_codeGroupeSanguin_C", "");
$this->requete->getSession()->setAttribut("p_dateNaissance_C", "");
$this->requete->getSession()->setAttribut("p_telephonePortableBeneficiaire_C", "");
$this->requete->getSession()->setAttribut("p_dateEntreeBeneficiaire_C", "");
$this->requete->getSession()->setAttribut("p_dateSortieBeneficiaire_C", "");
$this->requete->getSession()->setAttribut("p_codeMotifSortie_C", "");
$this->requete->getSession()->setAttribut("p_codeEtatBeneficiaire_C", "");
$this->requete->getSession()->setAttribut("p_lienPhoto_C", "");
$this->requete->getSession()->setAttribut("p_dateEffetBeneficiaire_C", "");
$this->requete->getSession()->setAttribut("p_enVigueur_C", "");
$_SESSION['p_photoAssureCrypte'] = "";
$this->requete->getSession()->setAttribut("p_decede_C", "");
$this->requete->getSession()->setAttribut("p_dateDeces_C", "");
$this->requete->getSession()->setAttribut("p_fraisFuneraireDemande_C", "");
$this->requete->getSession()->setAttribut("p_fraisFuneraireDemande_C", "");
$this->requete->getSession()->setAttribut("p_nomAdherent_C", "");
$this->requete->getSession()->setAttribut("p_prenomsAdherent_C", "");
$this->requete->getSession()->setAttribut("p_adherent_C", "");
$this->requete->getSession()->setAttribut("p_adresseGeoAdherent_C", "");
$this->requete->getSession()->setAttribut("p_adressePostaleAdherent_C", "");
$this->requete->getSession()->setAttribut("p_paysAdherent_C", "");
$this->requete->getSession()->setAttribut("p_telephonePortableAdherent_C", "");
$this->requete->getSession()->setAttribut("p_telephonFixeAdherent_C", "");
$this->requete->getSession()->setAttribut("p_emailAdherent_C", "");
$this->requete->getSession()->setAttribut("p_produit_C", "");
$this->requete->getSession()->setAttribut("p_naturepiece_C", "");
$this->requete->getSession()->setAttribut("p_lienparente_C", "");
$this->requete->getSession()->setAttribut("p_motifsortie_C", "");
$this->requete->getSession()->setAttribut("p_etatbeneficiaire_C", "");
$this->requete->getSession()->setAttribut("p_libelleCollege_C", "");
$this->requete->getSession()->setAttribut("p_ageBeneficiaire_C", "");
$this->requete->getSession()->setAttribut("p_college_couvert_C", "0");
$this->requete->getSession()->setAttribut("p_derogation_en_cours_C", "0");
$this->requete->getSession()->setAttribut("p_tmDerogation_C", "0");
$this->requete->getSession()->setAttribut("p_codeGarantie_C", "CON");
$this->requete->getSession()->setAttribut("p_derogation_finger_en_cours_C", "0");
// $this->requete->getSession()->setAttribut("p_accesAjoutPh_C", "0");
$this->requete->getSession()->setAttribut("p_accesAjoutPh_C", $utilisateur['accesAjoutPh']);
$this->requete->getSession()->setAttribut("p_accesAjoutPhClient", "0");
$this->requete->getSession()->setAttribut("p_ajoutPrescription_C", "0");
$this->requete->getSession()->setAttribut("p_ajoutPrescriptionExam_C", "0");
$this->requete->getSession()->setAttribut("p_accesAjoutVerres_C", $utilisateur['accesAjoutVerres']);
$this->requete->getSession()->setAttribut("p_ajoutPrescriptionOptique_C", $utilisateur['ajoutPrescriptionOptique']);
$this->requete->getSession()->setAttribut("p_prescrireVerres_C", $utilisateur['prescrireVerres']);
$this->requete->getSession()->setAttribut("p_tm_C", "0");
$this->requete->getSession()->setAttribut("p_numeroFeuilleMaladie_C", "0");
$this->requete->getSession()->setAttribut("p_numeroPrescription_C", "0");
$this->requete->getSession()->setAttribut("p_numeroOptique_C", "0");
$this->requete->getSession()->setAttribut("p_numeroExamen_C", "0");
$this->requete->getSession()->setAttribut("p_numeroPrescriptionKine_C", "0");
$this->requete->getSession()->setAttribut("p_idFacture_C", "0");
$this->requete->getSession()->setAttribut("p_idFactureMonture", "0");
$this->requete->getSession()->setAttribut("p_numeroBonConsultation_C", "-1");
$this->requete->getSession()->setAttribut("p_numeroBonHospitalisation_C", "-1");
$this->requete->getSession()->setAttribut("p_hospitalisation_C", "0");
$this->requete->getSession()->setAttribut("p_miseEnObservation_C", "0");
$this->requete->getSession()->setAttribut("p_chirurgie_C", "0");
$this->requete->getSession()->setAttribut("p_numeroBonOptique_C", "-1");
$this->requete->getSession()->setAttribut("p_numeroBonOrdonnance_C", "-1");
$this->requete->getSession()->setAttribut("p_numeroBonExamen_C", "-1");
$this->requete->getSession()->setAttribut("p_numeroBonKine_C", "-1");
$this->requete->getSession()->setAttribut("p_numeroBonSeance_C", "-1");
$this->requete->getSession()->setAttribut("p_codeFamilleActePharmacie_C", "FA010");
$this->requete->getSession()->setAttribut("p_codeActePharmacie_C", "PH");
$this->requete->getSession()->setAttribut("p_codeFamilleActeOptique_C", "FA004");
$this->requete->getSession()->setAttribut("p_codeActeOptique_C", "OVMT");
$this->requete->getSession()->setAttribut("p_codeActeMonture_C", "OVMT");
// acte optique remboursement classique
$this->requete->getSession()->setAttribut("p_codeActeOptiqueCl_C", "RBCLOPT");
$this->requete->getSession()->setAttribut("p_codeActeMontureCl_C", "RBCLMON");
$this->requete->getSession()->setAttribut("p_nbActesVerres", "0");
$this->requete->getSession()->setAttribut("p_nbActesMonture", "0");
$this->requete->getSession()->setAttribut("idOptique", "0");
$this->requete->getSession()->setAttribut("p_adminBon", $utilisateur['adminBon']);
$this->requete->getSession()->setAttribut("p_adminDiv", $utilisateur['adminDiv']);
$this->requete->getSession()->setAttribut("p_ajoutConsommable", $utilisateur['ajoutConsommable']);
$this->requete->getSession()->setAttribut("p_nbTentative", "0");
$this->requete->getSession()->setAttribut("p_idDemandeSubstitution_C", "0");
$this->requete->getSession()->setAttribut("p_idMedicament_C", "0");
$this->requete->getSession()->setAttribut("p_nomPrescrit_C", "");
$this->requete->getSession()->setAttribut("p_prixTarif_C", "0");
$this->requete->getSession()->setAttribut("p_idSubstitut_C", "0");
$this->requete->getSession()->setAttribut("p_libelleSubstitut_C", "");
$this->requete->getSession()->setAttribut("p_prixSubstitut_C", "0");
$this->requete->getSession()->setAttribut("p_prixPublicSubstitut_C", "0");
$this->requete->getSession()->setAttribut("p_idPrestationactes_C", "0");
$this->requete->getSession()->setAttribut("p_nvellePosologie_C", "");
$this->requete->getSession()->setAttribut("p_okReferencement_C", "0");
$_SESSION['p_d1m_C'] = $_SESSION['p_debutMois_C'];
$_SESSION['p_d1_C'] = $_SESSION['p_dUneSemaineAvant_C'];
$_SESSION['p_2s_C'] = $_SESSION['p_deuxSemainesAvant_C'];
$_SESSION['etatFeuille'] = "2";
$_SESSION['p_dEntente_C'] = $_SESSION['p_debutMois_C'];
$_SESSION['p_d2_C'] = date('Y-m-d');
$_SESSION['p_dateFactureReellefr_C'] = date("d/m/Y");
$_SESSION['p_dateFactureReelle_C'] = date('Y-m-d');
$this->requete->getSession()->setAttribut("p_idReglement_C", "0");
$this->requete->getSession()->setAttribut("p_numeroDecompte_C", "-1");
$this->requete->getSession()->setAttribut("p_idDemandeDecompte_C", "0");
$this->requete->getSession()->setAttribut("p_numeroDemandeDecompte_C", "-1");
$this->requete->getSession()->setAttribut("p_lienPrestation_C", $utilisateur['lienPrestation']);
$_SESSION['p_lienServeur'] = $_SESSION['p_lienPrestation_C'];
$this->requete->getSession()->setAttribut("p_lienProduction_C", $utilisateur['lienProduction']);
$this->requete->getSession()->setAttribut("p_modeSaisieFacture", "0");
$this->requete->getSession()->setAttribut("p_exercieReference_C", $utilisateur['codeExercice']);
// $this->requete->getSession()->setAttribut("p_bdTests_C", $utilisateur['bdTests']);
$this->requete->getSession()->setAttribut("p_colorTests", $utilisateur['colorTests']);
$this->requete->getSession()->setAttribut("p_nbMessagesNonLus_C", "0");
$this->requete->getSession()->setAttribut("p_requete", "0");
$this->requete->getSession()->setAttribut("p_nbActesMonture", "0");
$this->requete->getSession()->setAttribut("p_ageMaxBeneficiaireAtteint_C", "0");
$this->requete->getSession()->setAttribut("p_faceRegistered_C", "0");
$this->requete->getSession()->setAttribut("p_activerOtpPrestations_C", "0");
/* FIN variable de session context */
$filename = 'Societes/'.$utilisateur['codeSociete'];
if (!file_exists($filename))
{
mkdir($filename, 0700);
}
$this->requete->getSession()->setAttribut("p_dossierSociete", $filename);
$this->requete->getSession()->setAttribut("p_dossierGed", $_SESSION['p_lienPrestation_C'].$_SESSION['p_dossierSociete'].'/Ged/');
$this->requete->getSession()->setAttribut("p_cheminGed", $_SESSION['p_dossierSociete'].'/Ged/');
$this->requete->getSession()->setAttribut("p_cheminGettext", $_SESSION['p_dossierSociete'].'/Gettext/');
$fichierBon_C = "";
$this->requete->getSession()->setAttribut("p_codeLangueSociete", $utilisateur['codeLangueSociete']);
$this->requete->getSession()->setAttribut("p_codeLanguePrestataire", $utilisateur['codeLanguePrestataire']);
$this->requete->getSession()->setAttribut("p_codeLangueAdherent", "fr_FR");
$codeLangue = $_SESSION['p_lang'];
if ($_SESSION['p_lang']=="en_US")
{
$_SESSION['p_libelleLang']="English";
}
else
{
$_SESSION['p_libelleLang']="Français";
}
$this->requete->getSession()->setAttribut("p_actesHarmonises", $utilisateur['actesHarmonises']);
$this->requete->getSession()->setAttribut("p_fusionConsOrd", $utilisateur['fusionConsOrd']);
$this->requete->getSession()->setAttribut("p_fournisseurSms", $utilisateur['fournisseurSms']);
$this->requete->getSession()->setAttribut("p_smsmParFacture", $utilisateur['smsmParFacture']);
$this->requete->getSession()->setAttribut("p_emailParFacture", $utilisateur['emailParFacture']);
$this->requete->getSession()->setAttribut("p_envoismsactif", $utilisateur['envoismsactif']);
$this->requete->getSession()->setAttribut("p_devise_C", $utilisateur['devise']);
$this->requete->getSession()->setAttribut("p_smsAssure", $utilisateur['smsAssure']);
$this->requete->getSession()->setAttribut("p_copieSmsPrestataireAssure", $utilisateur['copieSmsPrestataireAssure']);
$this->requete->getSession()->setAttribut("p_filtreMedecin", $utilisateur['filtreMedecin']);
$this->requete->getSession()->setAttribut("p_nbMedicamentMax", $utilisateur['nbMedicamentMax']);
$this->requete->getSession()->setAttribut("p_facturerConsommable", $utilisateur['facturerConsommable']);
$this->requete->getSession()->setAttribut("p_affectionObligatoire", $utilisateur['affectionObligatoire']);
$this->requete->getSession()->setAttribut("p_derogationFingerPrestataire", $utilisateur['derogationFingerPrestataire']);
$this->requete->getSession()->setAttribut("p_actVisible", $utilisateur['actVisible']);
$this->requete->getSession()->setAttribut("p_AffectionVisible", $utilisateur['AffectionVisible']);
$this->requete->getSession()->setAttribut("p_estMedecin", $utilisateur['estMedecin']);
$this->requete->getSession()->setAttribut("p_menu", $this->menu->getMenu($utilisateur['codeProfil']));
$this->requete->getSession()->setAttribut("p_anciennete", 0);
$this->requete->getSession()->setAttribut("p_delaiCarenceBeneficiaire", 0);
$this->requete->getSession()->setAttribut("p_okId", "-1");
$this->requete->getSession()->setAttribut("p_okId_face", "-1");
$this->requete->getSession()->setAttribut("p_numeroBeneficiaire_face", "");
$this->requete->getSession()->setAttribut("p_baseUrlFace", "");
$this->requete->getSession()->setAttribut("p_timeoutFace", "");
$this->requete->getSession()->setAttribut("p_codeModeBiometrie", $utilisateur['codeModeBiometrie']);
$this->requete->getSession()->setAttribut("p_codeModeBiometrieSociete", $utilisateur['codeModeBiometrieSociete']);
$this->requete->getSession()->setAttribut("p_codeActeConsultationGratuite", $utilisateur['codeActeConsultationGratuite']);
$codeModeBiometrie = $utilisateur['codeModeBiometrie'];
$_SESSION['p_fingerActif'] = '0';
$_SESSION['p_faceActif'] = '0';
if($_SESSION['p_codeModeBiometrieSociete']!='0')
{
if($codeModeBiometrie=='3')
{
$_SESSION['p_fingerActif'] = '1';
$_SESSION['p_faceActif'] = '1';
}
else
{
if($codeModeBiometrie=='1')
{
$_SESSION['p_fingerActif'] = '1';
$_SESSION['p_faceActif'] = '0';
}
else
{
$_SESSION['p_fingerActif'] = '0';
}
if($codeModeBiometrie=='2')
{
$_SESSION['p_faceActif'] = '1';
$_SESSION['p_fingerActif'] = '0';
}
else
{
$_SESSION['p_faceActif'] = '0';
}
}
}
$this->requete->getSession()->setAttribut("p_lienPhotoFace", $utilisateur['lienPhotoFace']);
$this->requete->getSession()->setAttribut("p_motPassPdf", $utilisateur['motPassPdf']);
$logo = $_SESSION['p_dossierPhoto_C'].$_SESSION['p_dossierSociete'].'/Logos/logo_societe.png';
$this->requete->getSession()->setAttribut("p_lienLogo", $logo);
$dossierLogo=dirname($_SESSION['p_lienPhotoFace'])."/Logos/logo_societe.png";
$this->requete->getSession()->setAttribut("p_dossierLogo", $dossierLogo);
$_SESSION['p_url_search'] = $_SESSION['p_baseUrlFace'];
$_SESSION['p_url_register'] = $_SESSION['p_baseUrlFace'];
$_SESSION['p_url_confirm'] = $_SESSION['p_baseUrlFace'];
$_SESSION['p_url_remove'] = $_SESSION['p_baseUrlFace'];
$_SESSION['p_idLogapiface'] = "0";
$codeProfil = $_SESSION['p_codeProfil_C'];
$_SESSION['p_dateEffetCouvert'] = "0";
$_SESSION['idEntetecontrat'] = "0";
// Avant de rediriger, on va remplir suivisaisies
$this->logconnexion->suivisaisies($login, $idSaisie, $codeLangue);
// suivisaisies centrale
$this->societeusercentral->suivisaisiesSaas($codeSociete, $login, $idSaisie, $codeLangue);
$_SESSION['p_vue'] = "INTER-SANTE";
$_SESSION['p_tm_F'] = "0"; // Famille d'actes
$_SESSION['p_tm_TP'] = "0"; // Type Prestation
$this->requete->getSession()->setAttribut("p_controlPlafondAdherent", $utilisateur['controlPlafondAdherent']);
$this->requete->getSession()->setAttribut("p_controlPlafondBeneficiaire", $utilisateur['controlPlafondBeneficiaire']);
$this->requete->getSession()->setAttribut("p_changerMotPassDefaut", $utilisateur['changerMotPassDefaut']);
$this->requete->getSession()->setAttribut("p_verifierLongueurPass", $utilisateur['verifierLongueurPass']);
$this->garantie->initbareme();
/*
$changerMotPassDefaut = ( ($_SESSION['p_changerMotPassDefaut']=="1") && ($this->utilisateur->verifiermotpassdefaut($codeSociete, $mdp)) );
$motCourt = ( ($_SESSION['p_verifierLongueurPass']=="1") && (strlen($mdp)<6) );
// if(strlen($mdp)<6 or ($changerMotPassDefaut===true))
*/
$longueurPassWord = $utilisateur['longueurPassWord'];
$_SESSION['dureeSession'] = intval($utilisateur['dureeSession']);
$_SESSION['p_codeModeGenerationPass'] = $utilisateur['codeModeGenerationPass'];
$changerMotPassDefaut = ( ($_SESSION['p_changerMotPassDefaut']=="1") && ($this->utilisateur->verifiermotpassdefaut($codeSociete, $mdp)) );
$motCourt = ( ($_SESSION['p_verifierLongueurPass']=="1") && (strlen($mdp)<$longueurPassWord) );
$changerMotPassDefaut = ( $changerMotPassDefaut or ($utilisateur['passUpdated']!="1") );
$agePass = $utilisateur['agePass'];
$dureeViePassWord = $utilisateur['dureeViePassWord'];
$passExpired = (($dureeViePassWord>"0") && ($agePass>$dureeViePassWord));
$_SESSION['p_passExpired'] = $passExpired;
$_SESSION['p_passAchanger'] = false;
$_SESSION['deconnexion'] = "0";
$_SESSION['derniere_action'] = time();
$_SESSION['p_prestationPossibleEncaissement'] = "0";
if(($motCourt===true) or ($changerMotPassDefaut===true) or ($passExpired===true))
{
$_SESSION['passAchanger'] = true;
$_SESSION['p_menu'] = array();
$this->rediriger("Changermotpass");
}
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['p_menu'] = array();
$this->rediriger("Confirmotp");
exit();
}
else
{
$this->utilisateur->set_otp_value($login, '');
// $this->rediriger("Recherche");
switch ($codeProfil)
{
case "PHA":
$this->rediriger("Pharmacien");
break;
case "OPT":
$this->rediriger("Opticien");
break;
case "LAB":
$this->rediriger("Laboratoire");
break;
case "SEA":
$this->rediriger("Kine");
break;
default:
$this->rediriger("Recherche");
}
}
}
}
else
{
if ($_SESSION['p_lang']=="en_US")
{
$this->genererVue(array('msgErreur' => 'Incorrect login or password'), "index");
}
else
{
$this->genererVue(array('msgErreur' => 'Login ou mot de passe incorrects'), "index");
}
}
}
else
{
if ($_SESSION['p_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("p_login");
$this->utilisateur->viderTablesTemporairesUser($login);
$this->societeusercentral->viderTablesTemporairesUser($login);
}
$langue = isset($_SESSION['p_lang']) ? $_SESSION['p_lang'] : "fr_FR";
$this->requete->getSession()->detruire();
$_SESSION['p_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();
}
}