V
This commit is contained in:
@@ -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'])?> %
|
||||
</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;">
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -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/">© 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/">© EBENE SOLUTIONS INFORMATIQUES</a>
|
||||
</div>
|
||||
|
||||
@@ -8,13 +8,12 @@
|
||||
)
|
||||
{
|
||||
$codeUtilisateur = $_COOKIE['codeUtilisateur'];
|
||||
// $codeSociete = $_COOKIE['codeSociete'];
|
||||
$codeSociete = "radiant";
|
||||
$codeSociete = $_COOKIE['codeSociete'];
|
||||
}
|
||||
else
|
||||
{
|
||||
$codeUtilisateur = "";
|
||||
$codeSociete = "radiant";
|
||||
$codeSociete = "";
|
||||
}
|
||||
|
||||
$societeExiste = true;
|
||||
|
||||
@@ -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'] : ""; ?>">
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
312
Vue/portail.php
312
Vue/portail.php
@@ -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>
|
||||
Reference in New Issue
Block a user