Paramètre langue absent de la requête!"); } $codeLangue = base64_decode($_SESSION['codeLangue']); $tab_code_langue = ["fr_FR", "en_US"]; if(!in_array($codeLangue, $tab_code_langue)) { afficherMessage("Langue inconnue!"); } // Définition du titre selon la langue $title = ($codeLangue == 'en_US') ? "Contest a health record" : "Contester un dossier maladie"; // Vérification des paramètres requis $requiredParams = [ 'codeEntite' => [ 'en' => "Entity parameter missing from query!", 'fr' => "Paramètre entité absent de la requête!" ], 'idAdherent' => [ 'en' => "Family parameter missing from query!", 'fr' => "Paramètre famille absent de la requête!" ], 'dossier' => [ 'en' => "Folder parameter missing from query!", 'fr' => "Paramètre dossier absent de la requête!" ] ]; foreach ($requiredParams as $param => $messages) { if (!isset($_SESSION[$param])) { $message = $codeLangue == 'en_US' ? $messages['en'] : $messages['fr']; afficherMessage("$message"); } } if (!isset($_POST['motifContestation'])) { afficherMessage("Paramètre motif absent de la requête!"); } // Récupération des données $codeSociete = base64_decode($_SESSION['codeEntite']); $idAdherent = base64_decode($_SESSION['idAdherent']); $numeroFeuilleMaladie = base64_decode($_SESSION['dossier']); $motifContestation = $_POST['motifContestation']; $codeBdd = $codeSociete; require_once "Modelecontestation.php"; class Validercontestation extends Modelecontestation { public function existeligne($codeSociete) { $sql = 'select id FROM societeuser WHERE (codeSociete=? and actif="1")'; $resultat = $this->executerRequete($sql, array($codeSociete)); return ($resultat->rowCount() > 0); } public function existeligneconnexion($codeSociete) { $sql = 'select count(0) as nb FROM societeuser WHERE (codeSociete=?);'; $resultat = $this->executerRequete($sql, array($codeSociete))->fetch(PDO::FETCH_ASSOC); $nb = $resultat['nb']; return ($nb > 0); } public function getTauxPaypal() { $sql = 'SELECT tauxVariablePaypal, tauxFixeDevisePaypal FROM societeusersas LIMIT 1;'; $resultat = $this->executerRequete($sql); return $resultat->fetch(PDO::FETCH_ASSOC); } public function viderTablesTemporairesUser($login) { $sql = "call viderTablesTemporairesUser_saas(?)"; $this->executerRequete($sql, array($login)); } public function getResultatRequete($requete) { $sql = 'call sp_executer_requete(?)'; $resultat = $this->executerRequeteAdin($sql, array($requete)); return $resultat->fetchAll(PDO::FETCH_ASSOC); } public function getTablesbd() { $sql = 'call sp_get_tables_bdd()'; $resultat = $this->executerRequeteAdin($sql); $donnes = $resultat->fetchAll(PDO::FETCH_ASSOC); return $donnes; } public function describeTable($tableName) { $sql = 'call sp_describe_table(?)'; $resultat = $this->executerRequeteAdin($sql, array($tableName)); return $resultat->fetchAll(PDO::FETCH_ASSOC); } public function geUneBd($codeBdd) { $sql = 'CALL sp_une_bd_saas(?);'; $resultat = $this->executerRequete($sql, array($codeBdd)); return $resultat->fetch(PDO::FETCH_ASSOC); } public function feuilleMaladieExiste($codeSociete, $idAdherent, $numeroFeuilleMaladie) { $sql = 'select id FROM p_feuillemaladie where (codeSociete=? and idAdherent=? and numeroFeuilleMaladie=?);'; $resultat = $this->executerRequeteAdin($sql, array($codeSociete, $idAdherent, $numeroFeuilleMaladie)); return ($resultat->rowCount() > 0); } public function feuilleMaladieEncours($codeSociete, $idAdherent, $numeroFeuilleMaladie) { $sql = 'select id FROM p_feuillemaladie where (codeSociete=? and idAdherent=? and numeroFeuilleMaladie=? and date(dateSysteme)=curdate());'; $resultat = $this->executerRequeteAdin($sql, array($codeSociete, $idAdherent, $numeroFeuilleMaladie)); return ($resultat->rowCount() > 0); } public function feuilleContestee($codeSociete, $idAdherent, $numeroFeuilleMaladie) { $sql = 'select id FROM p_feuillemaladie where (codeSociete=? and idAdherent=? and numeroFeuilleMaladie=? and contestation="1");'; $resultat = $this->executerRequeteAdin($sql, array($codeSociete, $idAdherent, $numeroFeuilleMaladie)); return ($resultat->rowCount() > 0); } public function feuilleFacturee($codeSociete, $idAdherent, $numeroFeuilleMaladie) { $sql = 'select id FROM p_feuillemaladie where (codeSociete=? and idAdherent=? and numeroFeuilleMaladie=? and facture="1");'; $resultat = $this->executerRequeteAdin($sql, array($codeSociete, $idAdherent, $numeroFeuilleMaladie)); return ($resultat->rowCount() > 0); } public function contester($codeSociete, $idAdherent, $numeroFeuilleMaladie, $motifContestation) { $sql = 'call sp_a_contester_feuille(?, ?, ?, ?)'; $this->executerRequeteAdin($sql, array($codeSociete, $idAdherent, $numeroFeuilleMaladie, $motifContestation)); } } // Execution $validercontestation = new Validercontestation(); $_SESSION['codeBdd'] = $codeBdd; $bdd = $validercontestation->geUneBd($codeBdd); if(!$bdd) { $message = $codeLangue == 'en_US' ? "Entity not found!" : "Entité introuvable!"; afficherMessage("$message"); } $_SESSION['BdName'] = $bdd['BdName']; $_SESSION['BdLogin'] = $bdd['BdLogin']; $_SESSION['BdMdp'] = $bdd['BdMdp']; if($validercontestation->existeligne($codeSociete)) { $feuilleMaladieExiste = $validercontestation->feuilleMaladieExiste($codeSociete, $idAdherent, $numeroFeuilleMaladie); if(!$feuilleMaladieExiste) { $message = $codeLangue == 'en_US' ? "Health file not found!" : "Dossier maladie introuvable!"; afficherMessage("$message"); } $feuilleMaladieEncours = $validercontestation->feuilleMaladieEncours($codeSociete, $idAdherent, $numeroFeuilleMaladie); if(!$feuilleMaladieEncours) { $message = $codeLangue == 'en_US' ? "Deadline for appeal has passed!" : "Delai de contestation dépassé!"; afficherMessage("$message"); } $feuilleDejaContestee = $validercontestation->feuilleContestee($codeSociete, $idAdherent, $numeroFeuilleMaladie); if($feuilleDejaContestee) { $message = $codeLangue == 'en_US' ? "File already contested!" : "Dossier déjà contesté!"; afficherMessage("$message"); } $feuilleDejaFacturee = $validercontestation->feuilleFacturee($codeSociete, $idAdherent, $numeroFeuilleMaladie); if($feuilleDejaFacturee) { $message = $codeLangue == 'en_US' ? "File already invoiced!" : "Dossier déjà facturé!"; afficherMessage("$message"); } $validercontestation->contester($codeSociete, $idAdherent, $numeroFeuilleMaladie, $motifContestation); $message = $codeLangue == 'en_US' ? "Medical record successfully contested!" : "Dossier médical contesté avec succès!"; afficherMessage("$message", false); } ?>