prestation/Controleur/ControleurRechercheparcarte.php
2026-02-16 01:30:50 +00:00

172 lines
4.6 KiB
PHP
Executable File

<?php
require_once 'Framework/Controleur.php';
require_once 'Modele/Beneficiaire.php';
require_once 'Modele/Menuvueutilisateur.php';
class ControleurRechercheparcarte extends Controleur {
private $menuvue;
private $beneficiaire;
public function __construct() {
$this->menuvue = new Menuvueutilisateur();
$this->menuvue->getMenuVue("Rechercheparcarte");
$this->beneficiaire = new Beneficiaire();
viderContexte();
$_SESSION['p_numeroBonOrdonnance_C'] = "-1";
$_SESSION['p_numeroBonExamen_C'] = "-1";
$_SESSION['p_numeroBonOptique_C'] = "-1";
$_SESSION['p_numeroBonKine_C'] = "-1";
$_SESSION['p_okId'] = "-1";
$_SESSION['p_okId_face'] = "-1";
$_SESSION["proforma"] = "0";
}
public function index()
{
$donneesCarte="";
if (!isset($msgErreur)){
$msgErreur="";
}
/*
var_dump(
array(
"msgErreur" => $msgErreur,
)
);
exit();
*/
$this->beneficiaire->getModeBiometrie();
$_SESSION['p_okId'] = "-1";
$_SESSION['p_okId_face'] = "-1";
$_SESSION['p_vueRetour'] = "Recherche";
$derniernumerobeneficiaires = 0;
$_SESSION['p_d1m_C'] = isset($_SESSION['p_d1m_C']) ? $_SESSION['p_d1m_C'] : $_SESSION['p_debutMois_C'] ;
$_SESSION['p_d2_C'] = isset($_SESSION['p_d2_C']) ? $_SESSION['p_d2_C'] : date('Y-m-d');
$_SESSION['etatFeuille'] = isset($_SESSION['etatFeuille']) ? $_SESSION['etatFeuille'] : '2';
$_SESSION['p_dEntente_C'] = isset($_SESSION['p_dEntente_C']) ? $_SESSION['p_dEntente_C'] : $_SESSION['p_debutMois_C'] ;
$_SESSION['etatEntente'] = isset($_SESSION['etatEntente']) ? $_SESSION['etatEntente'] : '2';
if(isset($_POST['donneesCarte']))
{
$versionTagCarteEncours = $this->beneficiaire->getVersionTagCarteEncours();
$donneesCarte = $_POST['donneesCarte']; // ex: "IS1|ebene|ESI6936000602|b18e7d5e-0ac2-11f1-a875-d05099ffadf8"|nfc => SVMx|ZWJlbmU=|RVNJNjkzNjAwMTcwMw==|b18e7d5e-0ac2-11f1-a875-d05099ffadf8|nfc
$parts = explode('|', $donneesCarte);
/*
var_dump(
array(
// "POST" => $_POST,
// "donneesCarte" => $donneesCarte,
"parts" => $parts,
)
);
exit();
*/
$versionTagCarte = base64_decode($parts[0]);
$codeEntite = base64_decode($parts[1]);
if (count($parts) !== 5 || $versionTagCarte !== $versionTagCarteEncours || $codeEntite != $_SESSION['p_codeSociete']) {
$msgErreur = 'Carte invalide / Invalid card';
}
else{
$numeroBeneficiaireCarte = base64_decode($parts[2]);
$tagUuid = $parts[3];
/*
var_dump(
array(
"versionTagCarteEncours" => $versionTagCarteEncours,
"versionTagCarte" => $versionTagCarte,
"codeEntite" => $codeEntite,
"numeroBeneficiaireCarte" => $numeroBeneficiaireCarte,
"tagUuid" => $tagUuid,
)
);
exit();
*/
if($codeEntite<=" " || $numeroBeneficiaireCarte<=" " || $tagUuid<=" ")
{
$msgErreur = 'Carte invalide / Invalid card';
}
else
{
$derniernumerobeneficiaires = $this->beneficiaire->getnumerobeneficiairesperdu($numeroBeneficiaireCarte);
/*
var_dump(
array(
"versionTagCarte" => $versionTagCarte,
"codeEntite" => $codeEntite,
"numeroBeneficiaireCarte" => $numeroBeneficiaireCarte,
"tagUuid" => $tagUuid,
)
);
exit();
*/
$beneficiaires = $this->beneficiaire->getBeneficiaireTag($versionTagCarte, $codeEntite, $numeroBeneficiaireCarte, $tagUuid);
$nbLignes = $beneficiaires->rowCount();
if($nbLignes==0)
{
$beneficiaires->closeCursor(); // Fermer le curseur
$msgErreur = "$numeroBeneficiaireCarte : Carte introuvable / Card not found";
/*
var_dump(
array(
"nbLignes" => $nbLignes,
"msgErreur" => $msgErreur,
)
);
exit();
*/
}
else
{
$beneficiaire = $beneficiaires->fetch(PDO::FETCH_ASSOC);
$beneficiaires->closeCursor(); // Fermer le curseur
/*
var_dump(
array(
"beneficiaire" => $beneficiaire,
"nbLignes" => $nbLignes,
)
);
exit();
*/
$_SESSION['p_idBeneficiaire_C'] = $beneficiaire['idBeneficiaire'];
$_SESSION['p_idBeneficiaire_sav'] = $_SESSION['p_idBeneficiaire_C'];
$this->rediriger("Fichebeneficiaire");
}
}
}
}
// var_dump($msgErreur);
// exit();
$this->genererVue(array('msgErreur' => $msgErreur));
}
}