This commit is contained in:
2026-02-24 09:35:46 +00:00
parent 571f2add65
commit 192ca971bc
9 changed files with 344 additions and 492 deletions

View File

@@ -1,123 +1,37 @@
<input type="hidden" id="numeroClient_C" value="<?= $this->nettoyer($_SESSION['numeroClient_C']) ?>">
<input type="hidden" id="codeGcAssureur_C" value="<?= $this->nettoyer($_SESSION['codeGcAssureur_C']) ?>">
<button class="btn-context-toggle" id="showSideNav" title="<?= _("Afficher contexte") ?>">
<i class="fa-solid fa-angles-left"></i>
<i class="fa fa-cog fa-spin"></i>
<button class="btn-info-context" id="toggleContexte" title="<?= _("Infos Dossier") ?>">
<i class="bi bi-info-circle-fill"></i>
</button>
<div id="barre_laterale_d" class="context-panel">
<div class="context-panel-header">
<button class="btn-close-context" id="hideSideNav">
<i class="fa fa-cog fa-spin me-2"></i>
<i class="fa-solid fa-angles-right"></i>
<aside id="barre_laterale_d" class="contexte-sidebar shadow">
<div class="contexte-header d-flex justify-content-between align-items-center mb-4">
<h5 class="mb-0 fw-bold"><?= _("Contexte") ?></h5>
<button type="button" class="btn-close" id="closeContexte"></button>
</div>
<div class="context-card mb-3 p-3 bg-light rounded border-start border-primary border-4">
<p class="small text-muted mb-1 text-uppercase fw-bold"><?= _("Garant") ?></p>
<div class="d-flex align-items-center">
<i class="bi bi-shield-check me-2 text-primary"></i>
<span class="fw-semibold"><?= $this->nettoyer($_SESSION['nomGarant_C']) ?></span>
</div>
</div>
<div class="context-card mb-3 p-3 bg-light rounded border-start border-info border-4">
<p class="small text-muted mb-1 text-uppercase fw-bold"><?= _("Client") ?></p>
<div class="mb-2">
<span class="badge bg-info text-dark mb-1">ID: <?= $this->nettoyer($_SESSION['numeroClient_d_C']) ?></span>
<div class="fw-semibold text-truncate"><?= $this->nettoyer($_SESSION['nomClient_d_C']) ?></div>
</div>
<button class="btn btn-sm btn-outline-info w-100" onclick="javascript:afficher_client_d_id();">
<i class="bi bi-eye"></i> <?= _("Détails Client") ?>
</button>
</div>
<div class="context-panel-body">
<!-- Garant -->
<div class="context-card">
<div class="context-card-title">
<i class="fas fa-user-shield"></i> <?= _("Garant") ?>
<a href="javascript:afficher_garant('<?= $this->nettoyer($_SESSION['codeGcAssureur_C']) ?>');" class="float-end">#<?= $_SESSION['codeGcAssureur_C'] ?></a>
</div>
<button class="btn btn-outline-primary w-100" onclick="afficher_garant('<?= $_SESSION['codeGcAssureur_C'] ?>')">
<?= $_SESSION['nomGcAssureur_C'] ?? '' ?>
</button>
</div>
<!-- Souscripteur -->
<div class="context-card">
<div class="context-card-title">
<i class="fas fa-user-tie"></i> <?= _("Souscripteur") ?>
<a href="javascript:afficher_client_id();" class="float-end">#<?= $_SESSION['numeroClient_C'] ?></a>
</div>
<button class="btn btn-outline-primary w-100" onclick="afficher_client_id()">
<?= $_SESSION['nomClient_C'] ?>
</button>
</div>
<!-- Police -->
<div class="context-card">
<button class="btn btn-primary w-100" onclick="afficher_police_id()">
<i class="fa fa-file-text me-2"></i> <?= _("Police") ?> : <?= $_SESSION['numeroPolice_C'] ?>
<br><small><?= dateLang($_SESSION['dateEffet_C'], $_SESSION['lang']) ?> - <?= dateLang($_SESSION['dateEcheance_C'], $_SESSION['lang']) ?></small>
</button>
</div>
<!-- Stats -->
<div class="context-card text-center">
<span class="badge bg-info"><?= _("Fam.") ?> <?= format_N($_SESSION['ndAdh_C']) ?></span>
<span class="badge bg-secondary"><?= _("Dép.") ?> <?= format_N($_SESSION['ndDep_C']) ?></span>
<span class="badge bg-success"><?= _("Bén.") ?> <?= format_N($_SESSION['ndActif_C']) ?></span>
</div>
<!-- Famille / Adhérent -->
<div class="context-card">
<button class="btn btn-outline-secondary w-100" onclick="afficher_adherent_id()">
<i class="fa-solid fa-users me-2"></i> <?= _("Famille") ?> : <?= $_SESSION['numeroAdherent_C'] ?>
</button>
<div class="mt-1 text-muted small"><?= substr($_SESSION['adherent_C'] ?? '', 0, 25) ?></div>
</div>
<!-- Bénéficiaire -->
<div class="context-card">
<button class="btn btn-outline-secondary w-100" onclick="afficher_beneficiaire_id()">
<i class="fa-solid fa-user me-2"></i> <?= _("Bénéficiaire") ?> : <?= $_SESSION['numeroBeneficiaire_C'] ?>
</button>
<div class="mt-1 text-muted small"><?= substr($_SESSION['beneficiaire_C'] ?? '', 0, 25) ?></div>
<small class="d-block text-muted"><?= dateLang($_SESSION['dateEntreeBeneficiaire_C'], $_SESSION['lang']) ?> - <?= dateLang($_SESSION['dateEcheancePolice_C'], $_SESSION['lang']) ?></small>
</div>
<!-- Photo -->
<?php if ($_SESSION['faceRegistered_C'] == "1" && $_SESSION['idBeneficiaire_C'] > "0"): ?>
<div class="context-card text-center">
<img src="data:image/jpg;base64,<?= $imgData ?>" class="img-fluid rounded border" style="max-width: 150px;" data-bs-toggle="modal" data-bs-target="#pop_photo" alt="Photo">
</div>
<?php endif; ?>
<!-- Dernières polices -->
<div class="context-card">
<div class="context-card-title"><i class="bi bi-clock-history"></i> <?= _("Dernières polices") ?></div>
<div class="list-group list-group-flush">
<?php foreach ($_SESSION['contextPolice'] ?? [] as $contextPolice): ?>
<a href="javascript:selectionner_police(<?= $contextPolice['idPolice'] ?>,'<?= $contextPolice['numeroPolice'] ?>');afficher_police_id();"
class="list-group-item list-group-item-action p-2 small">
<?= htmlspecialchars($contextPolice['libellePolice']) ?>
</a>
<?php endforeach; ?>
</div>
</div>
<!-- Gestion messages -->
<button class="btn btn-success w-100 mt-2" onclick="gerer_messagerie()">
<i class="fa fa-comments me-2"></i> <?= _("Gérer Messages") ?>
<div class="context-card p-3 bg-light rounded border-start border-success border-4">
<p class="small text-muted mb-1 text-uppercase fw-bold"><?= _("Police / Contrat") ?></p>
<div class="fw-bold mb-2"># <?= $this->nettoyer($_SESSION['numeroPolice_d_C']) ?></div>
<button class="btn btn-sm btn-outline-success w-100" onclick="javascript:afficher_police_d_id_init();">
<i class="bi bi-file-earmark-text"></i> <?= _("Consulter") ?>
</button>
<!-- Mot de passe -->
<div class="context-card text-center">
<a href="javascript:change_password();" class="d-inline-block p-3 bg-light rounded-circle shadow-sm">
<img src="Bootstrap_new/images/pwd.png" alt="Changer mot de passe" style="width: 30px;">
</a>
<div class="mt-1 small"><?= _("Changer mot de passe") ?></div>
</div>
<!-- Mode cotation -->
<?php if ($_SESSION['modeDevis'] == "1"): ?>
<div class="alert alert-warning text-center fw-bold p-2 mt-2"><?= _("GESTION DES COTATIONS") ?></div>
<div class="context-card">
<button class="btn btn-outline-warning w-100" onclick="afficher_client_d_id()">
<i class="fa fa-user-times"></i> <?= _("Prospect") ?> : <?= $_SESSION['numeroClient_d_C'] ?>
</button>
<div class="mt-1 small"><?= substr($_SESSION['nomClient_d_C'] ?? '', 0, 25) ?></div>
</div>
<button class="btn btn-outline-warning w-100 mt-2" onclick="afficher_police_d_id_init()">
<i class="fa fa-file-text"></i> <?= $_SESSION['numeroPolice_d_C'] ?>
</button>
<?php endif; ?>
</div>
<div class="context-panel-footer">
<span class="small text-muted" id="nbMessagesNonLus"><?= _("0 message(s) non lu(s)") ?></span>
</div>
</div>
</aside>

View File

@@ -1,7 +1,12 @@
<?php
// Constantes pour la version des fichiers (cache busting)
define('CSS_VERSION', '2026.02.23.15');
define('JS_VERSION', '2026.02.23.15');
/**
* VERSIONING AUTOMATIQUE (CACHE BUSTING)
* Génère une version unique basée sur la minute actuelle (Ex: 202602241530)
* Permet de forcer la mise à jour des fichiers CSS/JS chez tous les utilisateurs.
*/
if (!defined('APP_VERSION')) {
define('APP_VERSION', date('Y.m.d.H.i'));
}
?>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
@@ -9,30 +14,25 @@ define('JS_VERSION', '2026.02.23.15');
<base href="<?= $racineWeb ?>">
<!-- Favicon -->
<link rel="icon" href="Bootstrap_new/images/favicon.ico">
<!-- Fonts modernes et légères -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:opsz@14..32&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap" rel="stylesheet">
<!-- Vendor CSS Files (Bootstrap Icons, FontAwesome, etc.) -->
<link href="Bootstrap/vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">
<link href="Bootstrap/vendor/bootstrap-icons/bootstrap-icons.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.0/css/all.min.css">
<link href="Bootstrap/vendor/remixicon/remixicon.css" rel="stylesheet">
<!-- Libraries CSS -->
<link href="Bootstrap_new/css/datatables.min.css" rel="stylesheet">
<link href="Bootstrap_new/css/select2.min.css" rel="stylesheet">
<link href="Bootstrap_new/select/css/bootstrap-select.min.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/sweetalert2@11.14.1/dist/sweetalert2.min.css" rel="stylesheet">
<link href="Bootstrap/vendor/quill/quill.snow.css" rel="stylesheet">
<!-- Custom CSS (avec versioning) -->
<link href="Bootstrap/css/style.css?ver=<?= CSS_VERSION ?>" rel="stylesheet">
<link href="Bootstrap_new/css/custom.css?ver=<?= CSS_VERSION ?>" rel="stylesheet">
<link href="Bootstrap_new/css/theme-modern.css?ver=<?= CSS_VERSION ?>" rel="stylesheet">
<link href="Bootstrap/css/style.css?ver=<?= APP_VERSION ?>" rel="stylesheet">
<link href="Bootstrap_new/css/custom.css?ver=<?= APP_VERSION ?>" rel="stylesheet">
<link href="Bootstrap_new/css/theme-modern.css?ver=<?= APP_VERSION ?>" rel="stylesheet">
<title><?= $_SESSION['vue'] ?? 'INTER SANTE' ?></title>
<title><?= $_SESSION['descriptionVue'] ?? 'INTER SANTE' ?></title>

View File

@@ -1,97 +1,45 @@
<?php
$style = "";
$test = "";
$colorTests = "";
$flag = (est_anglophone()) ? 'england.png' : 'france.png';
$alt = (est_anglophone()) ? 'English' : 'Français';
$lib = (est_anglophone()) ? 'En' : 'Fr';
if ($_SESSION['bdTests_C'] == "1") {
$colorTests = $_SESSION['colorTests'];
$style = "background-color: $colorTests;";
$test = "MODE TEST";
}
?>
<header id="header" class="header fixed-top d-flex align-items-center" style="<?= $style ?>">
<div class="d-flex align-items-center justify-content-between w-100">
<!-- Logo et toggle -->
<div class="d-flex align-items-center">
<i class="bi bi-list toggle-sidebar-btn me-3"></i>
<a href="#" class="logo d-flex align-items-center">
<img src="Bootstrap_new/images/new/favicon.png" alt="Logo Inter santé" height="40">
<span class="d-none d-lg-block fw-bold ms-2">INTER SANTE</span>
</a>
</div>
<!-- Actions et profil -->
<div class="d-flex align-items-center gap-3">
<!-- Mode test -->
<?php if ($_SESSION['bdTests_C'] == "1"): ?>
<span class="badge bg-warning text-dark px-3 py-2"><?= $test ?></span>
<?php endif; ?>
<!-- Notifications -->
<div class="dropdown">
<a class="position-relative" href="#" data-bs-toggle="dropdown" aria-expanded="false">
<i class="bi bi-bell fs-5"></i>
<span id="span_notification" class="position-absolute top-0 start-100 translate-middle badge rounded-pill bg-danger">0</span>
</a>
<ul class="dropdown-menu dropdown-menu-end p-2" style="min-width: 300px;">
<li class="text-center text-muted small p-3"><?= _("Aucune notification") ?></li>
</ul>
</div>
<!-- Logo société -->
<div class="d-flex align-items-center gap-2">
<img src="<?= $_SESSION['lienLogo'] ?>" alt="Logo" style="height: 40px;">
<span class="fw-semibold d-none d-lg-inline"><?= $companyDisplayName ?></span>
</div>
<!-- Langue -->
<div class="dropdown">
<a href="#" data-bs-toggle="dropdown" class="d-flex align-items-center gap-2">
<img src="Bootstrap_new/images/<?= $flag ?>" alt="<?= $alt ?>" width="24" class="rounded">
<span class="d-none d-md-inline"><?= $lib ?></span>
</a>
<ul class="dropdown-menu">
<li>
<a class="dropdown-item" href="javascript:changer_langue();">
<i class="fa fa-exchange me-2"></i> <?= _("Changer de langue") ?>
</a>
</li>
</ul>
</div>
<!-- Aide -->
<a href="Guideutilisation/" class="d-flex align-items-center" title="<?= _("Guide d'utilisation") ?>">
<i class="bi bi-question-circle-fill fs-5"></i>
</a>
<!-- Profil utilisateur -->
<div class="dropdown">
<a href="#" data-bs-toggle="dropdown" class="d-flex align-items-center gap-2">
<span class="initials rounded-circle bg-primary text-white d-flex align-items-center justify-content-center" style="width: 35px; height: 35px;">
<?= $_SESSION['userInitials_C'] ?>
</span>
</a>
<ul class="dropdown-menu dropdown-menu-end">
<li>
<a class="dropdown-item" href="javascript:change_password();">
<i class="fa fa-user-circle me-2"></i> <?= $_SESSION['utilisateur_C'] ?>
</a>
</li>
<li>
<hr class="dropdown-divider">
</li>
<li>
<a class="dropdown-item text-danger" href="#">
<i class="bi bi-box-arrow-right me-2"></i> <?= _("Déconnexion") ?>
</a>
</li>
</ul>
</div>
</div>
<header id="header" class="header fixed-top d-flex align-items-center">
<div class="d-flex align-items-center justify-content-between">
<a class="logo d-flex align-items-center">
<img src="Bootstrap_new/images/new/favicon.png" alt="Logo">
<span class="d-none d-lg-block">INTER SANTE</span>
</a>
<i class="bi bi-list toggle-sidebar-btn ms-3"></i>
</div>
<nav class="ms-4 d-none d-md-block">
<ol class="breadcrumb mb-0 bg-transparent">
<li class="breadcrumb-item small"><a href="<?= $_SESSION['retourVue'] ?>"><?= $_SESSION['titreRetour'] ?></a></li>
<li class="breadcrumb-item active small fw-bold text-primary"><?= $_SESSION['descriptionVue'] ?></li>
</ol>
</nav>
<nav class="header-nav ms-auto pe-3">
<ul class="d-flex align-items-center">
<li class="nav-item dropdown px-3">
<a class="nav-link nav-icon" href="#" data-bs-toggle="dropdown">
<img src="Bootstrap_new/images/<?= (est_anglophone()) ? 'england.png' : 'france.png' ?>" width="20">
</a>
<ul class="dropdown-menu dropdown-menu-end shadow border-0">
<li><a class="dropdown-item" href="javascript:changer_langue();"><?= _("Changer de langue") ?></a></li>
</ul>
</li>
<li class="nav-item dropdown border-start ps-3">
<a class="nav-link nav-profile d-flex align-items-center" href="#" data-bs-toggle="dropdown">
<span class="initials"><?= $_SESSION['userInitials_C'] ?></span>
<span class="d-none d-md-block dropdown-toggle ps-2 fw-semibold"><?= $_SESSION['utilisateur_C'] ?></span>
</a>
<ul class="dropdown-menu dropdown-menu-end shadow border-0 profile">
<li class="dropdown-header text-start">
<h6 class="mb-0"><?= $_SESSION['nomSociete'] ?></h6>
<small class="text-muted"><?= $_SESSION['libeleRole_C'] ?></small>
</li>
<li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item d-flex align-items-center" href="javascript:change_password();"><i class="bi bi-shield-lock"></i> <span>Sécurité</span></a></li>
<li><a class="dropdown-item d-flex align-items-center text-danger" href="LogOut/"><i class="bi bi-box-arrow-right"></i> <span>Déconnexion</span></a></li>
</ul>
</li>
</ul>
</nav>
</header>

View File

@@ -1,12 +1,13 @@
<?php if (isset($menusvue) && count($menusvue) > 0): ?>
<div class="nav-scroller bg-white shadow-sm mb-3">
<nav class="nav nav-underline container">
<?php if(isset($menusvue) && sizeof($menusvue) > 0): ?>
<div class="main-navigation-wrapper mb-4">
<div class="scrollmenu shadow-sm">
<?php foreach ($menusvue as $menu): ?>
<a class="nav-link <?= (strpos($_SERVER['REQUEST_URI'], $menu['lienMenu']) !== false) ? 'active' : '' ?>"
href="<?= $menu['lienMenu'] ?>">
<?= $menu['libeleMenu'] ?>
<a title="<?= $menu['descriptionMenu']; ?>"
href="<?= $menu['lienMenu']; ?>"
class="nav-link-modern">
<?= $menu['libeleMenu'] ?>
</a>
<?php endforeach; ?>
</nav>
</div>
</div>
<?php endif; ?>

View File

@@ -1,53 +1,28 @@
<!-- Modal Messages non lus -->
<div class="modal fade" id="popmessagerie" tabindex="-1">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header bg-primary text-white">
<h5 class="modal-title"><?= _("Messages non lus") ?></h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
<div class="modal fade" id="popmessagerie" tabindex="-1" aria-hidden="true">
<div class="modal-dialog modal-lg modal-dialog-centered">
<div class="modal-content border-0 shadow-lg">
<div class="modal-header bg-light border-bottom">
<h5 class="modal-title fw-bold text-primary"><i class="bi bi-envelope-paper me-2"></i><?= _("Messages non lus") ?></h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body" id="div_messagerie"></div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal"><?= _("Fermer") ?></button>
<div class="modal-body p-0">
<div id="div_messagerie" class="modern-scroll" style="max-height: 450px; overflow-y: auto;">
</div>
</div>
<div class="modal-footer border-0">
<button type="button" class="btn btn-light rounded-pill px-4" data-bs-dismiss="modal"><?= _("Fermer") ?></button>
</div>
</div>
</div>
</div>
<!-- Modal Alerte nouveau message -->
<div class="modal fade" id="popderniermessagerie" tabindex="-1">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header bg-warning">
<h5 class="modal-title"><?= _("Alerte Réception Message...") ?></h5>
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
</div>
<div class="modal-body" id="div_dernier_messagerie"></div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal"><?= _("Fermer") ?></button>
<div class="modal fade" id="pop_photo" tabindex="-1" aria-hidden="true">
<div class="modal-dialog modal-md modal-dialog-centered">
<div class="modal-content bg-transparent border-0">
<div class="modal-body p-0 text-center">
<div id="div_photo_id" class="rounded shadow-lg bg-white p-2">
</div>
</div>
</div>
</div>
</div>
<!-- Modal Photo -->
<div class="modal fade" id="pop_photo" tabindex="-1">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header bg-primary text-white">
<h5 class="modal-title"><?= _("Photo") ?></h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<div class="modal-body text-center">
<img src="data:image/jpg;base64,<?= $imgData ?>" class="img-fluid" style="max-width: 450px;">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal"><?= _("Fermer") ?></button>
</div>
</div>
</div>
</div>
<!-- Boutons cachés pour déclencher les modales (nécessaires pour le JS existant) -->
<button id="btn_pop_messagerie" class="d-none" data-bs-toggle="modal" data-bs-target="#popmessagerie"></button>
<button id="btn_pop_dernier_messagerie" class="d-none" data-bs-toggle="modal" data-bs-target="#popderniermessagerie"></button>
</div>

View File

@@ -1,69 +1,59 @@
<!-- Vendor JS -->
<script src="Bootstrap/vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
<?php
// Réutilisation de la version définie dans le head ou redéfinition si besoin
$v_scripts = defined('APP_VERSION') ? APP_VERSION : date('YmdHi');
?>
<div id="div_ajaxgabarit" class="d-none"></div>
<script src="Bootstrap/js/jquery.min.js"></script>
<script src="Bootstrap/js/jquery-ui.js"></script>
<script src="Bootstrap/js/timer.jquery.js"></script>
<script src="Bootstrap/vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
<!-- DataTables, Select2, etc. -->
<script src="Bootstrap_new/datatables/datatable.min.js"></script>
<script src="Bootstrap/vendor/apexcharts/apexcharts.min.js"></script>
<script src="Bootstrap/vendor/chart.js/chart.umd.js"></script>
<script src="Bootstrap/vendor/quill/quill.min.js"></script>
<script src="Bootstrap/vendor/simple-datatables/simple-datatables.js"></script>
<script src="Bootstrap/js/timer.jquery.js"></script>
<script src="Bootstrap_new/js/select2.min.js"></script>
<script src="Bootstrap_new/select/js/bootstrap-select.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<!-- Chart.js -->
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
<script src="Js/fonctions.js?ver=<?= $v_scripts ?>"></script>
<!-- SweetAlert2 -->
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11.14.1/dist/sweetalert2.all.min.js"></script>
<script src="<?= $_SESSION['dossierSociete'].'/Js/societe.js?ver='.$v_scripts ?>"></script>
<!-- Toastr -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/toastr.min.js"></script>
<script src="Bootstrap/js/main.js?v=<?= $v_scripts ?>"></script>
<!-- Fonctions métier centralisées -->
<script src="Js/fonctions.js?ver=<?= JS_VERSION ?>"></script>
<script src="<?= $_SESSION['dossierSociete'] ?>/Js/societe.js?ver=<?= JS_VERSION ?>"></script>
<!-- Datepicker selon langue -->
<?php if (est_anglophone()): ?>
<script src="Js/datepicker-eng.js?ver=<?= JS_VERSION ?>"></script>
<?php else: ?>
<script src="Js/datepicker-fr.js?ver=<?= JS_VERSION ?>"></script>
<?php endif; ?>
<script src="Js/html2pdf.js?ver=<?= JS_VERSION ?>"></script>
<!-- Template Main JS -->
<script src="Bootstrap/js/main.js?ver=<?= JS_VERSION ?>"></script>
<!-- Initialisations et rafraîchissements -->
<script>
<script type="text/javascript">
$(document).ready(function() {
// Masquer le panneau de contexte au chargement
$("#barre_laterale_d").hide();
/**
* Lancement de la mise à jour du gabarit (Défini dans fonctions.js)
*/
if(typeof raffraichier_gabarit === "function") {
raffraichier_gabarit();
}
// Initialisation des selects
$('.select2').select2({ theme: 'bootstrap-5' });
$('.selectpicker').selectpicker();
/**
* Rafraîchissement automatique de la messagerie toutes les 60s
*/
$('#timer').timer({
duration: '60s',
callback: function() {
if(typeof raffraichier_messagerie === "function") raffraichier_messagerie();
},
repeat: true
});
// Rafraîchir le gabarit
//if (typeof raffraichir_gabarit === 'function') raffraichir_gabarit();
});
/**
* Gestion de l'affichage de la barre de contexte (Sidebar Droite)
*/
$("#showSideNav, #toggleContexte").on("click", function(e) {
e.preventDefault();
$("#barre_laterale_d").addClass("open").fadeIn();
});
// Timer pour les messages
/*
$('#timer').timer({
duration: '60s',
callback: function() {
if (typeof raffraichir_messagerie === 'function') raffraichir_messagerie();
},
repeat: true
});
*/
// Toggle du panneau de contexte
$("#hideSideNav").on("click", function() {
$("#barre_laterale_d").hide('slide', { direction: 'right' }, 300);
});
$("#showSideNav").on("click", function() {
$("#barre_laterale_d").show('slide', { direction: 'right' }, 300);
$("#hideSideNav, #closeContexte").on("click", function() {
$("#barre_laterale_d").removeClass("open").fadeOut();
});
});
</script>

View File

@@ -1,41 +1,38 @@
<aside id="sidebar" class="sidebar">
<ul class="sidebar-nav" id="sidebar-nav">
<?php foreach ($menus as $key0 => $menuParent):
$menuChildrenLevelOne = $gabary->get_menus_by_parent_code($menuParent['vue']);
<?php foreach ($menus as $key0 => $menuParent):
$menuChildren = $gabary->get_menus_by_parent_code($menuParent['vue']);
$hasChildren = (sizeof($menuChildren) > 0);
$isActiveParent = (strtolower($menuParent['libeleMenu']) == strtolower($activeLevel1));
?>
<?php if (sizeof($menuChildrenLevelOne) > 0): ?>
<li class="nav-item">
<a class="nav-link <?= (strtolower($menuParent['libeleMenu']) == strtolower($activeLevel1)) ? '' : 'collapsed' ?>"
data-bs-target="#menu-<?= $menuParent['codeMenu'] . $key0 ?>"
data-bs-toggle="collapse"
href="#">
<li class="nav-item">
<?php if ($hasChildren): ?>
<a class="nav-link <?= $isActiveParent ? '' : 'collapsed' ?>"
data-bs-target="#menu-<?= $key0 ?>"
data-bs-toggle="collapse" href="#">
<i class="<?= $menuParent['icone'] ?>"></i>
<span><?= $menuParent['libeleMenu'] ?></span>
<i class="bi bi-chevron-down ms-auto"></i>
</a>
<ul id="menu-<?= $menuParent['codeMenu'] . $key0 ?>"
class="nav-content collapse <?= (strtolower($menuParent['libeleMenu']) == strtolower($activeLevel1)) ? 'show' : '' ?>"
data-bs-parent="#sidebar-nav">
<?php foreach ($menuChildrenLevelOne as $menuChild):
<ul id="menu-<?= $key0 ?>" class="nav-content collapse <?= $isActiveParent ? 'show' : '' ?>" data-bs-parent="#sidebar-nav">
<?php foreach ($menuChildren as $menuChild):
$link_clean = explode('/', $menuChild['lienMenu'])[0];
$isSubActive = ($link_clean == $_SESSION['firstLevelMenu']);
?>
<li>
<a href="<?= $menuChild['lienMenu'] ?>"
class="<?= ($link_clean == $activeLink) ? 'active' : '' ?>">
<?= $menuChild['libeleMenu'] ?>
<a href="<?= $menuChild['lienMenu'] ?>" class="<?= $isSubActive ? 'active' : '' ?>">
<i class="bi bi-circle"></i><span><?= $menuChild['libeleMenu'] ?></span>
</a>
</li>
<?php endforeach; ?>
</ul>
</li>
<?php else: ?>
<li class="nav-item">
<a class="nav-link" href="<?= $menuParent['lienMenu'] ?>">
<?php else: ?>
<a class="nav-link <?= $isActiveParent ? '' : 'collapsed' ?>" href="<?= $menuParent['lienMenu'] ?>">
<i class="<?= $menuParent['icone'] ?>"></i>
<span><?= $menuParent['libeleMenu'] ?></span>
</a>
</li>
<?php endif; ?>
<?php endif; ?>
</li>
<?php endforeach; ?>
</ul>
</aside>