This commit is contained in:
2025-12-19 12:46:17 +00:00
parent 022468fb9a
commit 7dadb2b56a
26 changed files with 339 additions and 2715 deletions

View File

@@ -126,6 +126,8 @@
$this->titre = "Intersanté - Accueil";
$pourcentage = round((100*$limite_adherent['consommation'])/$limite_adherent['plafond']);
// var_dump($garantieadherents);
?>
<input type="text" id="nomForm" name="nomForm" class="sr-only" value="frmaccueil">
@@ -157,7 +159,7 @@
</div>
<!-- Message d'information -->
<div class="alert alert-info mt-3" style="margin-bottom:15px;">
<div class="alert alert-info mt-3" style="margin-bottom:10px;">
<small>
<i class="fas fa-info-circle me-2"></i>
<?= _("En cas de réclamation ou tout autre sujet lié à votre police d'assurance, cliquez ici")." " ?>
@@ -172,25 +174,6 @@
<div class="row">
<!-- Taux de couverture -->
<h1 class="fw-bold w100 text-center text-dark" style="margin-top:-10px;"><?= _("Année")." : ".$_SESSION['exercieReference_C']?></h1>
<div class="col-xl-3 col-6 mb-4">
<div class="card shadow h-100 border border-success">
<div class="card-body p-3">
<div class="d-flex align-items-center">
<div class="flex-grow-1">
<div class="h4 text-success text-uppercase mb-1" >
<?= _("Couverture")?>
</div>
<div class="h4 mb-0" style="font-weight:bold">
<?=$this->nettoyer(100-$adherent['ticketModerateurAdherent'])?>&nbsp;%
</div>
</div>
<div class="ml-2">
<i class="fas fa-percentage fa-2x text-gray-100 text-success"></i>
</div>
</div>
</div>
</div>
</div>
<!-- Plafond annuel -->
<div class="col-xl-3 col-6 mb-4">
@@ -300,22 +283,10 @@
<table class="table table-striped table-bordered table-hover table-condensed table-responsive" style="font-size:9pt; white-space:nowrap;">
<thead class="table-dark">
<tr>
<th rowspan="2" width="5%" style="text-align:center"> <?= _("Exercice") ?> </th>
<th rowspan="2" width="20%" style="text-align:center"> <?= _("Garantie") ?> </th>
<th rowspan="2" style='border-right:1px solid #ddd !important; text-align:center' width="5%"> <?= _("Taux") ?> </th>
<th colspan="4" style='border-right:1px solid #ddd !important;' class="bg-success text-center"> <?= _("Consommations") ?> </th>
<th colspan="4" style='border-right:1px solid #ddd !important;' class="bg-secondary text-center"> <?= _("Prestations") ?> </th>
</tr>
<tr>
<th style='border-right:1px solid #ddd !important;' width="10%" class="bg-success text-center"> <?= _("Plafond") ?> </th>
<th style='border-right:1px solid #ddd !important;' width="10%" class="bg-success text-center"> <?= _("Périodicité") ?> </th>
<th style='border-right:1px solid #ddd !important;' width="10%" class="bg-success text-center"> <?= _("Dépenses") ?> </th>
<th style='border-right:1px solid #ddd !important;' width="10%" class="bg-success text-center"> <?= _("Solde") ?> </th>
<th style='border-right:1px solid #ddd !important;' width="10%" class="bg-secondary text-center"> <?= _("Nb Transaction") ?> </th>
<th style='border-right:1px solid #ddd !important;' width="10%" class="bg-secondary text-center"> <?= _("Périodicité") ?> </th>
<th style='border-right:1px solid #ddd !important;' width="10%" class="bg-secondary text-center"> <?= _("Nbre Prestation") ?> </th>
<th style='border-right:1px solid #ddd !important;' width="10%" class="bg-success text-center"> <?= _("Exercice") ?> </th>
<th style='border-right:1px solid #ddd !important;' width="10%" class="bg-success text-center"> <?= _("Garantie") ?> </th>
<th style='border-right:1px solid #ddd !important;' width="10%" class="bg-success text-center"> <?= _("Limites") ?> </th>
<th style='border-right:1px solid #ddd !important;' width="10%" class="bg-secondary text-center"> <?= _("Consommations") ?> </th>
<th style='border-right:1px solid #ddd !important;' width="10%" class="bg-secondary text-center"> <?= _("Solde") ?> </th>
</tr>
</thead>
@@ -324,27 +295,25 @@
<?php foreach ($garantieadherents as $v):
$champApplication = $this->nettoyer($v['champApplication']);
$pourcentConsoFamille = $this->nettoyer($v['pourcentConsoFamille']);
$transactionFamille = $this->nettoyer($v['transactionFamille']);
$soldeTransactionFamille = $this->nettoyer($v['soldeTransactionFamille']);
$idAdherent = $this->nettoyer($v['idAdherent']);
$codeGarantie = $this->nettoyer($v['codeGarantie']);
$exercieReference = $this->nettoyer($v['exercieReference']);
$plafondFamille = format_N($this->nettoyer($v['plafondFamille']));
$nbreTransactionFamille = $this->nettoyer($v['nbreTransactionFamille']);
$plafondFamille = format_N($this->nettoyer($v['plafondFamille']));
?>
<?php if($pourcentConsoFamille>='50' && $pourcentConsoFamille<'80'): ?>
<tr class="color-1" valign="top">
<?php elseif($pourcentConsoFamille>='80' && $pourcentConsoFamille <'100'): ?>
<tr class="color-2" valign="top">
<?php elseif($pourcentConsoFamille >='100' || $transactionFamille=="1"): ?>
<?php elseif($pourcentConsoFamille >='100'): ?>
<tr class="color-3"valign="top">
<?php else: ?>
<tr valign="top">
<?php endif; ?>
<td align='center'> <?= $this->nettoyer($v['exercieReference'])?> </td>
<td align='center'>
<?php if($pourcentConsoFamille >='95' || $transactionFamille=="1"): ?>
<a title="<?= _("Plafond ou nombre de transaction atteint pour cette garantie.")?>" href="javascript:alert('Plafond ou nombre de transaction atteint pour cette garantie!');">
<?php if($pourcentConsoFamille >='95'): ?>
<a title="<?= _("Plafond atteint pour cette garantie.")?>" href="javascript:alert('Plafond atteint pour cette garantie!');">
<span style="color:blue; background-color:#eeeeee; border:1px solid #000; border-radius:3px;">
<?= $this->nettoyer($v['garantie'])?>
</span>
@@ -353,17 +322,9 @@
<?= $this->nettoyer($v['garantie'])?>
<?php endif; ?>
</td>
<td align='center'><?= $this->nettoyer($v['tauxPlafond']).'%'; ?></td>
<td align='center' ><?= $plafondFamille ?></td>
<td align='center'><?= $v['periodicitePlafondFamille'] ?></td>
<td align='center'><?= format_N($this->nettoyer($v['consommationFamille'])) ?></td>
<td align='center' ><?= format_N($this->nettoyer($v['soldeGarantieFamille'])) ?></td>
<td align='center'><?= $this->nettoyer($v['nbreTransactionFamille']) ?></td>
<td align='center'><?= $v['periodiciteFamille'] ?></td>
<td align='center'><?= $this->nettoyer($v['comptePrestationFamille']) ?></td>
<td align='center'><?= $this->nettoyer($v['soldeTransactionFamille']) ?></td>
</tr>
<?php endforeach; ?>
</tbody>
@@ -374,17 +335,12 @@
<?php foreach ($garantieadherents as $v):
$champApplication = $this->nettoyer($v['champApplication']);
$pourcentConsoFamille = $this->nettoyer($v['pourcentConsoFamille']);
$transactionFamille = $this->nettoyer($v['transactionFamille']);
$soldeTransactionFamille = $this->nettoyer($v['soldeTransactionFamille']);
$idAdherent = $this->nettoyer($v['idAdherent']);
$codeGarantie = $this->nettoyer($v['codeGarantie']);
$exercieReference = $this->nettoyer($v['exercieReference']);
$plafondFamille = format_N($this->nettoyer($v['plafondFamille']));
$nbreTransactionFamille = $this->nettoyer($v['nbreTransactionFamille']);
$garantie = $this->nettoyer($v['garantie']);
$exercice = $this->nettoyer($v['exercieReference']);
$taux = $this->nettoyer($v['tauxPlafond']).'%';
?>
<div class="container mt-5">
<div class="card mb-3 shadow-sm">
@@ -395,14 +351,13 @@
<span class="badge me-2 color-1"><?= $garantie ?></span>
<?php elseif($pourcentConsoFamille>='80' && $pourcentConsoFamille <'100'): ?>
<span class="badge me-2 color-2"><?= $garantie ?></span>
<?php elseif($pourcentConsoFamille >='100' || $transactionFamille=="1"): ?>
<?php elseif($pourcentConsoFamille >='100'): ?>
<a title="<?= _("Plafond ou nombre de transaction atteint pour cette garantie.")?>" href="javascript:alert_limite('G');">
<span class="badge me-2 color-3"><?= $garantie ?></span>
</a>
<?php else: ?>
<span class="badge bg-success me-2" ><?= $garantie ?></span>
<?php endif; ?>
<strong style="font-size:1.8rem !important;"><?= $taux ?></strong>
</div>
<small class="text-muted exercice"><?= $exercice ?></small>
</div>
@@ -416,13 +371,6 @@
</div>
</div>
<div class="col-6">
<div class="d-flex justify-content-between align-items-center">
<span class="text-muted small"><?= _("Période") ?></span>
<span class="fw-bold text-success"><?= $v['periodicitePlafondFamille'] ?></span>
</div>
</div>
<div class="col-6">
<div class="d-flex justify-content-between align-items-center">
<span class="text-muted small"><?= _("Dépenses") ?></span>
@@ -449,38 +397,6 @@
<i class="bi bi-chevron-down me-2"></i><?= _("Plus de détails...") ?>
</button>
</h2>
<div id="collapse<?= $codeGarantie ?>" class="accordion-collapse collapse"
aria-labelledby="heading<?= $codeGarantie ?>" data-bs-parent="#accordionGarantie<?= $codeGarantie ?>">
<div class="accordion-body">
<!-- Contenu détaillé -->
<div class="row">
<div class="col-6 mb-1">
<div class="d-flex justify-content-between">
<span class="text-muted small"><?= _("Transaction") ?></span>
<span><?= $this->nettoyer($v['nbreTransactionFamille']) ?></span>
</div>
</div>
<div class="col-6 mb-1">
<div class="d-flex justify-content-between">
<span class="text-muted small"><?= _("Période") ?></span>
<span><?= $v['periodiciteFamille'] ?></span>
</div>
</div>
<div class="col-6 mb-1">
<div class="d-flex justify-content-between">
<span class="text-muted small"><?= _("Prestation") ?></span>
<span><?= $this->nettoyer($v['comptePrestationFamille']) ?></span>
</div>
</div>
<div class="col-6 mb-1">
<div class="d-flex justify-content-between">
<span class="text-muted small"><?= _("Solde") ?></span>
<span><?= $this->nettoyer($v['soldeTransactionFamille']) ?></span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
@@ -493,343 +409,6 @@
<hr style="border:none; border-top: 3px double #333; color:#333; overflow: visible; text-align:center; height:5px;">
<!-- Section des actes médicaux plafonnés -->
<section class="accordion-section">
<h2 class="accordion-header">
<i class="fas fa-tachometer-alt text-danger"></i>
<span class="accordion-title"><?= _("Barème des actes plafonnés")?></span>
<i class="accordion-icon bi bi-chevron-down"></i>
</h2>
<div class="accordion-content">
<div class="tab-container">
<?php if (empty($actes)): ?>
<div class="alert alert-info text-center">
<small>
<i class="bi bi-info-circle me-2"></i>
<?= _("Aucun acte plafonné pour la famille!") ?>
</small>
</div>
<?php else: ?>
<!-- Tableau desktop (affiché sur les écrans moyens et grands) -->
<div class="d-none d-md-block">
<div class="legend-container">
<table class="legend-table">
<tbody>
<tr>
<td class="text-cell"><?= _('Légende').':'?></td>
<td class="text-cell"><?= _('Consommation').' >= 50%'?></td>
<td class="spacer-cell"></td>
<td class="color-cell color-1"></td>
<td class="spacer-cell"></td>
<td class="text-cell"><?= _('Consommation').' >= 80%'?></td>
<td class="spacer-cell"></td>
<td class="color-cell color-2"></td>
<td class="spacer-cell"></td>
<td class="text-cell"><?= _('Consommation').' = 100% / '._('Transaction').' = 100%'?></td>
<td class="spacer-cell"></td>
<td class="color-cell color-3"></td>
</tr>
</tbody>
</table>
</div>
<table class="table table-striped table-bordered table-hover table-condensed table-responsive" style="font-size:8pt; white-space: nowrap;" >
<thead class="table-dark">
<tr>
<th rowspan="2" style='text-align:center' > <?= _("Actes "); ?> </th>
<th rowspan="2" style='text-align:center'> <?= _("Taux") ?> </th>
<th rowspan="2" style='border-right:1px solid #ddd !important; text-align:center' width="8%"> <?= _("Autorisé à"); ?> </th>
<th colspan="8" style='border-right:1px solid #ddd !important;' class="bg-success text-center"> <?= _("Pour toute la famille") ?> </th>
<th colspan="8" style='border-right:1px solid #ddd !important;' class="bg-secondary text-center"> <?= _("Pour chaque personne") ?> </th>
</tr>
<tr>
<th style='border-right:1px solid #ddd !important;' class="bg-success text-center"> <?= _("Plafond") ?> </th>
<th style='border-right:1px solid #ddd !important;' class="bg-success text-center"> <?= _("Période") ?> </th>
<th style='border-right:1px solid #ddd !important;' class="bg-success text-center"> <?= _("Dépenses") ?> </th>
<th style='border-right:1px solid #ddd !important;' class="bg-success text-center"> <?= _("Solde") ?> </th>
<th style='border-right:1px solid #ddd !important;' class="bg-success text-center"> <?= _("Transaction") ?> </th>
<th style='border-right:1px solid #ddd !important;' class="bg-success text-center"> <?= _("Période") ?> </th>
<th style='border-right:1px solid #ddd !important;' class="bg-success text-center"> <?= _("Prestation") ?> </th>
<th style='border-right:1px solid #ddd !important;' class="bg-success text-center"> <?= _("Solde") ?> </th>
<th style='border-right:1px solid #ddd !important;' class="bg-secondary text-center"> <?= _("Plafond") ?> </th>
<th style='border-right:1px solid #ddd !important;' class="bg-secondary text-center"> <?= _("Période") ?> </th>
<th style='border-right:1px solid #ddd !important;' class="bg-secondary text-center"> <?= _("Dépenses") ?> </th>
<th style='border-right:1px solid #ddd !important;' class="bg-secondary text-center"> <?= _("Solde") ?> </th>
<th style='border-right:1px solid #ddd !important;' class="bg-secondary text-center"> <?= _("Transaction") ?> </th>
<th style='border-right:1px solid #ddd !important;' class="bg-secondary text-center"> <?= _("Période") ?> </th>
<th style='border-right:1px solid #ddd !important;' class="bg-secondary text-center"> <?= _("Prestation") ?> </th>
<th style='border-right:1px solid #ddd !important;' class="bg-secondary text-center"> <?= _("Solde") ?> </th>
</tr>
</thead>
<tbody style="overflow:auto;">
<?php foreach ($actes as $v):
$libelle = $this->nettoyer($v['libelle']);
$garantie = $this->nettoyer($v['garantie']);
$codeGarantie = $this->nettoyer($v['codeGarantie']);
$codePeriodicite = $this->nettoyer($v['codePeriodicite']);
$periodicitePlafondFamille = $this->nettoyer($v['periodicitePlafondFamille']);
$periodiciteFamille = $this->nettoyer($v['periodiciteFamille']);
$periodicitePlafond = $this->nettoyer($v['periodicitePlafond']);
$periodicite = $this->nettoyer($v['periodicite']);
$codeLienParente = $this->nettoyer($v['codeLienParente']);
$lienParente = $this->nettoyer($v['lienparente']);
if (est_anglophone())
{
$libelle = $this->nettoyer($v['libelleEng']);
$garantie = $this->nettoyer($v['garantieEng']);
$lienParente = $this->nettoyer($v['lienparenteEng']);
$periodicitePlafondFamille = $this->nettoyer($v['periodicitePlafondFamilleEng']);
$periodiciteFamille = $this->nettoyer($v['periodiciteFamilleEng']);
$periodicitePlafond = $this->nettoyer($v['periodicitePlafondEng']);
$periodicite = $this->nettoyer($v['periodiciteEng']);
}
$pourcentConsoFamille = $this->nettoyer($v['pourcentConsoFamille']);
$pourcentConso = $this->nettoyer($v['pourcentConso']);
$transactionFamille = $this->nettoyer($v['transactionFamille']);
$transactionBeneficiaire = $this->nettoyer($v['transactionBeneficiaire']);
$idBeneficiaire = $this->nettoyer($v['idBeneficiaire']);
$codeActe = $this->nettoyer($v['codeActe']);
$exercieReference = $this->nettoyer($v['exercieReference']);
$taux = $this->nettoyer($v['tauxPlafond']);
$plafondFamille = format_N($this->nettoyer($v['plafondFamille']));
$plafond = format_N($this->nettoyer($v['forfaitPlafond']));
?>
<?php if($pourcentConso>='50' && $pourcentConso<'80'): ?>
<tr class="color-1" valign="top">
<?php elseif($pourcentConso>='80' && $pourcentConso <'100'): ?>
<tr class="color-2" valign="top">
<?php elseif($pourcentConso >='100' || $transactionBeneficiaire=="1"): ?>
<tr class="color-3" valign="top">
<?php else: ?>
<tr valign="top">
<?php endif; ?>
<td ><?= $libelle ?></td>
<td align='center'><?= $taux ?></td>
<td align='center'><?= $lienParente ?></td>
<td align='center'><?= $plafondFamille ?></td>
<td align='center'><?= $periodicitePlafondFamille ?></td>
<td align='center'><?= format_N($this->nettoyer($v['consommationFamille'])) ?></td>
<td align='center'><?= format_N($this->nettoyer($v['soldeActeFamille'])) ?></td>
<td align='center'><?= format_N($this->nettoyer($v['nbreTransactionFamille'])) ?></td>
<td align='center'><?= $periodiciteFamille ?></td>
<td align='center'><?= format_N($this->nettoyer($v['comptePrestationFamille'])) ?></td>
<td align='center'><?= format_N($this->nettoyer($v['soldeTransactionFamille'])) ?></td>
<td align='center'><?= $plafond ?></td>
<td align='center'><?= $periodicitePlafond ?></td>
<td align='center'><?= format_N($this->nettoyer($v['consommation'])) ?></td>
<td align='center'><?= format_N($this->nettoyer($v['soldeActe'])) ?></td>
<td align='center'><?= format_N($this->nettoyer($v['nbreTransaction'])) ?></td>
<td align='center'><?= $periodiciteFamille ?></td>
<td align='center'><?= format_N($this->nettoyer($v['comptePrestation'])) ?></td>
<td align='center'><?= format_N($this->nettoyer($v['soldeTransaction'])) ?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
<!-- Affichage mobile (cartes) -->
<div class="d-md-none">
<?php foreach ($actes as $v):
$libelle = substr($this->nettoyer($v['libelle']),0,25);
$garantie = $this->nettoyer($v['garantie']);
$codeGarantie = $this->nettoyer($v['codeGarantie']);
$codePeriodicite = $this->nettoyer($v['codePeriodicite']);
$periodicitePlafondFamille = $this->nettoyer($v['periodicitePlafondFamille']);
$periodiciteFamille = $this->nettoyer($v['periodiciteFamille']);
$periodicitePlafond = $this->nettoyer($v['periodicitePlafond']);
$periodicite = $this->nettoyer($v['periodicite']);
$codeLienParente = $this->nettoyer($v['codeLienParente']);
$lienParente = $this->nettoyer($v['lienparente']);
if (est_anglophone())
{
$libelle = substr($this->nettoyer($v['libelleEng']),0,25);
$garantie = $this->nettoyer($v['garantieEng']);
$lienParente = $this->nettoyer($v['lienparenteEng']);
$periodicitePlafondFamille = $this->nettoyer($v['periodicitePlafondFamilleEng']);
$periodiciteFamille = $this->nettoyer($v['periodiciteFamilleEng']);
$periodicitePlafond = $this->nettoyer($v['periodicitePlafondEng']);
$periodicite = $this->nettoyer($v['periodiciteEng']);
}
$pourcentConsoFamille = $this->nettoyer($v['pourcentConsoFamille']);
$pourcentConso = $this->nettoyer($v['pourcentConso']);
$transactionFamille = $this->nettoyer($v['transactionFamille']);
$transactionBeneficiaire = $this->nettoyer($v['transactionBeneficiaire']);
$idBeneficiaire = $this->nettoyer($v['idBeneficiaire']);
$codeActe = $this->nettoyer($v['codeActe']);
$exercieReference = $this->nettoyer($v['exercieReference']);
$taux = $this->nettoyer($v['tauxPlafond']);
$plafondFamille = format_N($this->nettoyer($v['plafondFamille']));
$plafond = format_N($this->nettoyer($v['forfaitPlafond']));
?>
<div class="container mt-2">
<div class="card mb-1 shadow-sm">
<div class="card-header bg-light py-2">
<div class="align-same-line">
<div class="left-content">
<?php if($pourcentConsoFamille>='50' && $pourcentConsoFamille<'80'): ?>
<span class="badge me-2 color-1"><?= $libelle ?></span>
<?php elseif($pourcentConsoFamille>='80' && $pourcentConsoFamille <'100'): ?>
<span class="badge me-2 color-2"><?= $libelle ?></span>
<?php elseif($pourcentConsoFamille >='100' || $transactionFamille=="1"): ?>
<a title="<?= _("Plafond ou nombre de transaction atteint pour cet acte.")?>" href="javascript:alert_limite('A');">
<span class="badge me-2 color-3"><?= $libelle ?></span>
</a>
<?php else: ?>
<span class="badge bg-primary me-2" ><?= $libelle ?></span>
<?php endif; ?>
<strong style="font-size:1.8rem !important;"><?= $taux ?></strong>
</div>
<small class="text-muted exercice"><?= $lienParente ?></small>
</div>
</div>
</div>
<h3 class="text-center mb-1 bg-dark text-light"><?= _("Pour toute la famille")?></h3>
<div class="row mb-2">
<div class="col-6">
<div class="d-flex justify-content-between align-items-center">
<span class="text-muted small"><?= _("Plafond") ?></span>
<span class="fw-bold"><?= $plafondFamille ?></span>
</div>
</div>
<div class="col-6">
<div class="d-flex justify-content-between align-items-center">
<span class="text-muted small"><?= _("Période") ?></span>
<span class="fw-bold text-success"><?= $periodicitePlafondFamille ?></span>
</div>
</div>
<div class="col-6">
<div class="d-flex justify-content-between align-items-center">
<span class="text-muted small"><?= _("Dépenses") ?></span>
<span class="fw-bold"><?= format_N($this->nettoyer($v['consommationFamille'])) ?></span>
</div>
</div>
<div class="col-6">
<div class="d-flex justify-content-between align-items-center">
<span class="text-muted small"><?= _("Solde") ?></span>
<span class="fw-bold text-danger"><?= format_N($this->nettoyer($v['soldeActeFamille'])) ?></span>
</div>
</div>
</div>
<div class="row mb-2">
<div class="col-6 mb-1">
<div class="d-flex justify-content-between">
<span class="text-muted small"><?= _("Transaction") ?></span>
<span><?= format_N($this->nettoyer($v['nbreTransactionFamille'])) ?></span>
</div>
</div>
<div class="col-6 mb-1">
<div class="d-flex justify-content-between">
<span class="text-muted small"><?= _("Période") ?></span>
<span><?= $periodiciteFamille ?></span>
</div>
</div>
<div class="col-6 mb-1">
<div class="d-flex justify-content-between">
<span class="text-muted small"><?= _("Prestation") ?></span>
<span><?= format_N($this->nettoyer($v['comptePrestationFamille'])) ?></span>
</div>
</div>
<div class="col-6 mb-1">
<div class="d-flex justify-content-between">
<span class="text-muted small"><?= _("Solde") ?></span>
<span><?= format_N($this->nettoyer($v['soldeTransactionFamille'])) ?></span>
</div>
</div>
</div>
<h3 class="text-center mb-1 bg-dark text-light"><?= _("Pour chaque personne")?></h3>
<div class="row mb-2">
<div class="col-6 mb-1">
<div class="d-flex justify-content-between align-items-center">
<span class="text-muted small"><?= _("Plafond") ?></span>
<span class="fw-bold"><?= $plafond ?></span>
</div>
</div>
<div class="col-6 mb-1">
<div class="d-flex justify-content-between align-items-center">
<span class="text-muted small"><?= _("Période") ?></span>
<span class="fw-bold text-success"><?= $periodicitePlafond ?></span>
</div>
</div>
<div class="col-6 mb-1">
<div class="d-flex justify-content-between align-items-center">
<span class="text-muted small"><?= _("Dépenses") ?></span>
<span class="fw-bold"><?= format_N($this->nettoyer($v['consommation'])) ?></span>
</div>
</div>
<div class="col-6">
<div class="d-flex justify-content-between align-items-center">
<span class="text-muted small"><?= _("Solde") ?></span>
<span class="fw-bold text-danger"><?= format_N($this->nettoyer($v['soldeActe'])) ?></span>
</div>
</div>
</div>
<div class="row mb-2">
<div class="col-6 mb-1">
<div class="d-flex justify-content-between">
<span class="text-muted small"><?= _("Transaction") ?></span>
<span><?= $this->nettoyer($v['nbreTransaction']) ?></span>
</div>
</div>
<div class="col-6 mb-1">
<div class="d-flex justify-content-between">
<span class="text-muted small"><?= _("Période") ?></span>
<span><?= $v['periodicite'] ?></span>
</div>
</div>
<div class="col-6 mb-1">
<div class="d-flex justify-content-between">
<span class="text-muted small"><?= _("Prestation") ?></span>
<span><?= $this->nettoyer($v['comptePrestation']) ?></span>
</div>
</div>
<div class="col-6 mb-1">
<div class="d-flex justify-content-between">
<span class="text-muted small"><?= _("Solde") ?></span>
<span><?= $this->nettoyer($v['soldeTransaction']) ?></span>
</div>
</div>
</div>
</div>
<?php endforeach; ?>
</div>
<?php endif; ?>
</div>
</div>
</section>
<hr style="border:none; border-top: 3px double #333; color:#333; overflow: visible; text-align:center; height:5px;">
<!-- Section historique des prestations -->
<section class="accordion-section">
<h2 class="accordion-header">
@@ -936,6 +515,7 @@
if($faceRegistered == "1" && $lienPhoto>" ")
{
/*
$photo = $_SESSION['lienPhotoFace'] . $lienPhoto;
if(!file_exists($photo))
{
@@ -945,8 +525,21 @@
{
$photoAssureCrypte = decryptImage($photo);
}
*/
$photo = $_SESSION['dossierPhoto_C'].$_SESSION['dossierSociete'].'/Photos/'.$lienPhoto;
$photoAssureCrypte = $photo;
}
/*
var_dump
(
array(
"photoAssureCrypte" => $photoAssureCrypte,
)
);
*/
$prestationPossible = $this->nettoyer($beneficiaire['prestationPossibleEncaissement']);
$impaye = ($prestationPossible=="0") ? 1 : 0;
@@ -957,9 +550,9 @@
<?php if($faceRegistered == "1"): ?>
<div class="photo-zoom-container" style="display: inline-block;">
<img class="photoId rounded-circle photo-zoom"
src="data:image/jpg;base64,<?=$photoAssureCrypte?>"
src="<?=$photoAssureCrypte?>"
alt="<?= _("Photo Bénéficiaire") ?>"
>
>
</div>
<?php else: ?>
<div class="photo-zoom-container" style="display: inline-block;">

View File

@@ -3,17 +3,17 @@
?>
<span class="login100-form-title" style="font-family: Play-Bold; color:#e5e5e5; margin-top: 5px; margin-bottom:10px;">
RADIANT : Subscriber Portal
RADIANT : Insured Portal
</span>
<div class="wrap-input100" >
<div class="wrap-input100">
<label for="langue">Language</label>
<select class="form-select" id="langue" name="langue" required autocomplete="off" onchange="javascript:changer_langue_connexion();">
<select class="form-select" id="langue" name="langue"
required autocomplete="off" onchange="javascript:changer_langue_connexion();">
<?php liste_options($langues, $_SESSION['lang'], true); ?>
</select>
</select>
</div>
<div class="sr-only">
<div class="wrap-input100 validate-input" data-validate="Enter Entity">
<label for="codeSociete">Entity</label>
@@ -21,16 +21,16 @@
</div>
</div>
<div id="div_login_portail">
<div id="div_login_portail" class="wrap-input100">
<div class="wrap-input100 validate-input" data-validate="Enter username">
<label for="login">Login</label>
<input class="input100" type="text" name="login" id="login" value="<?= $codeUtilisateur ?>" placeholder="Login" style="text-align:center;" required AUTOCOMPLETE="off">
<input class="input100" type="text" name="login" id="login" value="<?= $codeUtilisateur ?>" placeholder="Identifiant" style="text-align:center;" required AUTOCOMPLETE="off">
</div>
</div>
<div class="wrap-input100 validate-input" data-validate="Enter password">
<label for="mdp">Password</label>
<input class="input100" type="password" name="mdp" id="mdp" placeholder="Password" style="text-align:center;" required AUTOCOMPLETE="off">
<input class="input100" type="password" name="mdp" id="mdp" placeholder="Mot de passe" style="text-align:center;" required AUTOCOMPLETE="off">
</div>
<div class="container-login100-form-btn">

View File

@@ -1,42 +1,44 @@
<div class="login-card">
<div class="login-header">
<h2>RADIANT : Portail Souscripteur</h2>
</div>
<?php
<div class="form-group">
<label for="langue" class="required">Langue</label>
<select class="form-select custom-input" id="langue" name="langue" required autocomplete="off" onchange="changer_langue_connexion();">
<?php liste_options($langues, $_SESSION['lang'], true); ?>
</select>
</div>
?>
<input class="sr-only" type="text" name="codeSociete" id="codeSociete" value="<?= $codeSociete ?>">
<span class="login100-form-title" style="font-family: Play-Bold; color:#e5e5e5; margin-top: 5px; margin-bottom:10px;">
RADIANT : Portail Assuré
</span>
<div class="form-group">
<label for="login" class="required">Identifiant</label>
<div class="input-icon">
<i class="zmdi zmdi-account"></i>
<input type="text" class="custom-input" name="login" id="login"
placeholder="Identifiant" required autocomplete="off">
</div>
</div>
<div class="wrap-input100">
<label for="langue">Langue</label>
<select class="form-select" id="langue" name="langue"
required autocomplete="off" onchange="javascript:changer_langue_connexion();">
<?php liste_options($langues, $_SESSION['lang'], true); ?>
</select>
</div>
<div class="form-group">
<label for="mdp" class="required">Mot de passe</label>
<div class="input-icon">
<i class="zmdi zmdi-lock"></i>
<input type="password" class="custom-input" name="mdp" id="mdp"
placeholder="Mot de passe" required autocomplete="off">
</div>
</div>
<button name="btn_connexion" id="btn_connexion" class="btn login-btn w-100 mt-3">
Connexion
</button>
<div class="login-footer">
Tous droits réservés
<a href="https://www.ebene.info/">&copy; EBENE SOLUTIONS INFORMATIQUES</a>
<div class="sr-only">
<div class="wrap-input100 validate-input" data-validate="Enter Entity">
<label for="codeSociete">Entité</label>
<input class="input100" type="text" name="codeSociete" id="codeSociete" value="<?= $codeSociete ?>" >
</div>
</div>
<div id="div_login_portail" class="wrap-input100">
<div class="wrap-input100 validate-input" data-validate="Enter username">
<label for="login">Identifiant</label>
<input class="input100" type="text" name="login" id="login" value="<?= $codeUtilisateur ?>" placeholder="Identifiant" style="text-align:center;" required AUTOCOMPLETE="off">
</div>
</div>
<div class="wrap-input100 validate-input" data-validate="Enter password">
<label for="mdp">Mot de passe</label>
<input class="input100" type="password" name="mdp" id="mdp" placeholder="Mot de passe" style="text-align:center;" required AUTOCOMPLETE="off">
</div>
<div class="container-login100-form-btn">
<button name="btn_connexion" id="btn_connexion" class="btn login-btn">
Connexion
</button>
</div>
<div class="footer">
Tous droits réservés <a href="https://www.ebene.info/">&copy; EBENE SOLUTIONS INFORMATIQUES</a>
</div>

View File

@@ -8,13 +8,12 @@
)
{
$codeUtilisateur = $_COOKIE['codeUtilisateur'];
// $codeSociete = $_COOKIE['codeSociete'];
$codeSociete = "radiant";
$codeSociete = $_COOKIE['codeSociete'];
}
else
{
$codeUtilisateur = "";
$codeSociete = "radiant";
$codeSociete = "";
}
$societeExiste = true;

View File

@@ -109,3 +109,4 @@
<input class="sr-only" type="text" id="lienPrestation_C" name="lienPrestation_C" value="<?= $_SESSION['lienPrestation_C'] ?>" >
<input class="sr-only" type="text" id="lienProduction_C" name="lienProduction_C" value="<?= $_SESSION['lienProduction_C'] ?>" >
<input class="sr-only" type="text" id="lienAssure_C" name="lienAssure_C" value="<?= $_SESSION['lienAssure_C'] ?>" >
<input class="sr-only" type="text" id="codeLangue" name="codeLangue" value="<?= isset($_SESSION['lang']) ? $_SESSION['lang'] : ""; ?>">

View File

@@ -28,7 +28,7 @@
<script src="Bootstrap/js/jquery-ui.js"></script>
<script src="Bootstrap/js/bootstrap.min.js"></script>
<script src="Js/datepicker-fr.js"></script>
<script src="Js/fonctions.js?ver=connexion_2025.12.10.01"></script>
<script src="Js/fonctions.js?ver=connexion_2025.09.25.04"></script>
<script src="Bootstrap/js/timer.jquery.js"></script>
<script src="Bootstrap/js/jquery.timer.js"></script>
<script src="Bootstrap/js/ajaxmask.js"></script>

View File

@@ -144,7 +144,7 @@
<li class="nav-item">
<a title="<?= _("Gestionnaire d'assurance santé");?>" style="margin-left:10px; margin-right:10px;" class="nav-link nav-icon" href="javascript:infos_entite();">
<img id="lienLogo" src="<?= $_SESSION['lienLogo'] ?>" alt="Profile" style="width:100px;max-height: 60px;" class="rounded-circle">
<img id="lienLogo" src="<?= $_SESSION['lienLogo'] ?>" alt="Logo" style="width:200px;max-height: 60px;" class="rounded-circle">
<span id="nomSociete" class="d-none d-lg-inline"> <?=$companyDisplayName?> </span>
@@ -298,14 +298,16 @@
<?php
/*
var_dump
(
array
var_dump
(
"radiantrh" => "radiant rh",
"dev02" => "dev02"
)
)
array
(
"dossierLogo" => $_SESSION['dossierLogo'],
"dossierAssure" => $_SESSION['dossierAssure'],
"lienLogo" => $_SESSION['lienLogo'],
)
);
*/
?>
@@ -522,7 +524,7 @@
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/toastr.css" integrity="sha512-3pIirOrwegjM6erE5gPSwkUzO+3cTjpnV9lexlNZqvupR64iZBnOOTiiLPb9M36zpMScbmUNIcHUqKD47M719g==" crossorigin="anonymous" referrerpolicy="no-referrer" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/toastr.min.js" integrity="sha512-VEd+nq25CkR676O+pLBnDW09R7VQX9Mdiij052gVCp5yVH3jGtH70Ho/UUv4mJDsEdTvqRCFZg0NKGiojGnUCw==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script src="Js/fonctions.js?ver=2025.10.24.01"></script>
<script src="Js/fonctions.js?ver=2025.12.11.00"></script>
<script src="Bootstrap/js/bootstrap.min.js"></script>
<script src="https://unpkg.com/vue@3/dist/vue.global.prod.js"></script>
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>

View File

@@ -394,86 +394,7 @@
}
}
.login-card {
max-width: 380px;
margin: auto;
padding: 35px 30px;
border-radius: 14px;
background: #ffffff;
box-shadow: 0 12px 35px rgba(0,0,0,0.10);
text-align: center;
}
.login-header h2 {
font-size: 24px;
color: #7D4FFE;
font-weight: 700;
margin-bottom: 25px;
}
.form-group {
text-align: left;
margin-bottom: 18px;
}
.custom-input {
width: 100%;
border: 2px solid #7D4FFE;
border-radius: 8px;
padding: 12px 36px 12px 12px;
font-size: 14px;
color: #7D4FFE;
background: transparent;
}
.custom-input:focus {
border-color: #5e36e0;
box-shadow: none;
}
.input-icon {
position: relative;
}
.input-icon i {
position: absolute;
right: 12px;
top: 50%;
transform: translateY(-50%);
font-size: 20px;
color: #7D4FFE;
}
.login-btn {
background: #7D4FFE;
color: #fff;
font-size: 18px;
font-weight: 700;
padding: 10px;
border-radius: 8px;
transition: .25s;
}
.login-btn:hover {
background: #fff;
color: #7D4FFE;
border: 2px solid #7D4FFE;
}
.login-footer {
margin-top: 18px;
font-size: 12px;
color: #7D4FFE;
}
@media (max-width: 768px) {
.login-card {
width: 90%;
padding: 25px 20px;
}
}
</style>
</head>
@@ -527,138 +448,107 @@
</div>
<script type="text/javascript">
// Slider Module - Sécurisé
(function() {
'use strict';
// Attendre que le DOM soit complètement chargé
function initSlider() {
// Vérifier si déjà initialisé
if (window.sliderInitialized) {
return;
}
// Rechercher les éléments
var slideImages = document.querySelectorAll('.slide-image');
var next = document.querySelector('.next');
var prev = document.querySelector('.prev');
var dots = document.querySelectorAll('.dot');
var container = document.querySelector('.slide-container');
// VÉRIFICATION CRITIQUE : Si aucun élément n'existe, on arrête
if (slideImages.length === 0) {
// Pas d'erreur en console pour ne pas polluer les logs
return;
}
// Marquer comme initialisé
window.sliderInitialized = true;
// Variables du slider
var counter = 0;
var deletInterval;
// Fonctions du slider
function slideNext(){
slideImages[counter].style.animation = 'next1 0.5s ease-in forwards';
if(counter >= slideImages.length-1){
counter = 0;
}
else{
counter++;
}
slideImages[counter].style.animation = 'next2 0.5s ease-in forwards';
indicators();
}
function slidePrev(){
slideImages[counter].style.animation = 'prev1 0.5s ease-in forwards';
if(counter == 0){
counter = slideImages.length-1;
}
else{
counter--;
}
slideImages[counter].style.animation = 'prev2 0.5s ease-in forwards';
indicators();
}
function autoSliding(){
clearInterval(deletInterval);
deletInterval = setInterval(function() {
slideNext();
}, 3000);
}
function indicators(){
for(var i = 0; i < dots.length; i++){
dots[i].className = dots[i].className.replace(' active', '');
}
if (dots[counter]) {
dots[counter].className += ' active';
}
}
// Initialisation
if (next) next.addEventListener('click', slideNext);
if (prev) prev.addEventListener('click', slidePrev);
// Event listeners pour les dots
for (var i = 0; i < dots.length; i++) {
dots[i].addEventListener('click', function() {
var imageId = parseInt(this.getAttribute('attr'));
if (!isNaN(imageId)) {
switchImage(imageId);
}
});
}
// Fonction switchImage
function switchImage(imageId){
if(imageId > counter){
slideImages[counter].style.animation = 'next1 0.5s ease-in forwards';
counter = imageId;
slideImages[counter].style.animation = 'next2 0.5s ease-in forwards';
}
else if(imageId == counter){
return;
}
else{
slideImages[counter].style.animation = 'prev1 0.5s ease-in forwards';
counter = imageId;
slideImages[counter].style.animation = 'prev2 0.5s ease-in forwards';
}
indicators();
}
// Démarrer
autoSliding();
indicators();
// Events mouseover/mouseout
if (container) {
container.addEventListener('mouseover', function(){
clearInterval(deletInterval);
});
container.addEventListener('mouseout', autoSliding);
}
}
// Démarrer au bon moment
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', initSlider);
} else {
// Déjà chargé, mais attendre un peu pour les contenus AJAX
setTimeout(initSlider, 100);
}
// Réexécuter après les chargements AJAX
$(document).ajaxComplete(function() {
setTimeout(initSlider, 50);
// Empeche inspecter dans le navigateur
if (document.addEventListener) {
document.addEventListener('contextmenu', function (e) {
e.preventDefault();
}, false);
} else {
document.attachEvent('oncontextmenu', function () {
window.event.returnValue = false;
});
})();
}
// Accéder aux images
let slideImages = document.querySelectorAll('.slide');
// Accéder aux boutons suivant et précédent
let next = document.querySelector('.next');
let prev = document.querySelector('.prev');
// Accéder aux indicateurs
let dots = document.querySelectorAll('.dot');
var counter = 0;
// Code pour le bouton suivant
next.addEventListener('click', slideNext);
function slideNext(){
slideImages[counter].style.animation = 'next1 0.5s ease-in forwards';
if(counter >= slideImages.length-1){
counter = 0;
}
else{
counter++;
}
slideImages[counter].style.animation = 'next2 0.5s ease-in forwards';
indicators();
}
// Code pour le bouton précédent
prev.addEventListener('click', slidePrev);
function slidePrev(){
slideImages[counter].style.animation = 'prev1 0.5s ease-in forwards';
if(counter == 0){
counter = slideImages.length-1;
}
else{
counter--;
}
slideImages[counter].style.animation = 'prev2 0.5s ease-in forwards';
indicators();
}
// Defilement automatique
function autoSliding(){
deletInterval = setInterval(timer, 3000);
function timer(){
slideNext();
indicators();
}
}
autoSliding();
// Arrêtez le defilement automatique lorsque la souris survole une image
const container = document.querySelector('.slide-container');
container.addEventListener('mouseover', function(){
clearInterval(deletInterval);
});
// Reprendre le defilement lorsque la souris ne survole plus une image
container.addEventListener('mouseout', autoSliding);
// Ajouter et supprimer une classe active des indicateurs
function indicators(){
for(i = 0; i < dots.length; i++){
dots[i].className = dots[i].className.replace(' active', '');
}
dots[counter].className += ' active';
}
// Ajouter un événement de clic à l'indicateur
function switchImage(currentImage){
currentImage.classList.add('active');
var imageId = currentImage.getAttribute('attr');
if(imageId > counter){
slideImages[counter].style.animation = 'next1 0.5s ease-in forwards';
counter = imageId;
slideImages[counter].style.animation = 'next2 0.5s ease-in forwards';
}
else if(imageId == counter){
return;
}
else{
slideImages[counter].style.animation = 'prev1 0.5s ease-in forwards';
counter = imageId;
slideImages[counter].style.animation = 'prev2 0.5s ease-in forwards';
}
indicators();
}
</script>
</body>
</html>