112 lines
6.5 KiB
PHP
Executable File
112 lines
6.5 KiB
PHP
Executable File
<!-- ======= Sidebar ======= -->
|
|
<aside id="sidebar" class="sidebar shadow-lg">
|
|
<div class="sidebar-header py-3 px-4 border-bottom">
|
|
<div class="d-flex align-items-center">
|
|
<div class="avatar-sm bg-primary bg-opacity-10 rounded-circle d-flex align-items-center justify-content-center me-3">
|
|
<i class="fas fa-user-md text-primary"></i>
|
|
</div>
|
|
<div>
|
|
<h6 class="mb-0 fw-bold"><?= _("Navigation") ?></h6>
|
|
<small class="text-muted"><?= _("Portail Gestionnaire") ?></small>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="sidebar-body">
|
|
<ul class="sidebar-nav list-unstyled" id="sidebar-nav">
|
|
<?php foreach ($menus as $key0 => $menuParent): ?>
|
|
<?php
|
|
$menuChildrenLevelOne = $gabary->get_menus_by_parent_code($menuParent['vue']);
|
|
$hasChildren = sizeof($menuChildrenLevelOne) > 0;
|
|
$isActiveParent = strtolower($menuParent['libeleMenu']) == strtolower($activeLevel1);
|
|
?>
|
|
|
|
<?php if ($hasChildren): ?>
|
|
<!-- Menu avec sous-menus -->
|
|
<li class="nav-item mb-1">
|
|
<a class="nav-link d-flex align-items-center justify-content-between py-3 px-4
|
|
<?= $isActiveParent ? 'active-main' : '' ?>"
|
|
data-bs-toggle="collapse"
|
|
href="#menu-<?= $menuParent['codeMenu'] . $key0 ?>"
|
|
role="button"
|
|
aria-expanded="<?= $isActiveParent ? 'true' : 'false' ?>"
|
|
aria-controls="menu-<?= $menuParent['codeMenu'] . $key0 ?>">
|
|
<div class="d-flex align-items-center">
|
|
<div class="icon-wrapper bg-primary bg-opacity-10 rounded-circle d-flex align-items-center justify-content-center me-3"
|
|
style="width: 36px; height: 36px;">
|
|
<i class="<?= $menuParent['icone'] ?> text-primary"></i>
|
|
</div>
|
|
<span class="fw-medium"><?= $menuParent['libeleMenu'] ?></span>
|
|
</div>
|
|
<!-- Icône avec rotation CSS pure -->
|
|
<i class="fas fa-chevron-down sidebar-chevron <?= $isActiveParent ? 'sidebar-chevron-rotated' : '' ?>"></i>
|
|
</a>
|
|
|
|
<div class="collapse <?= $isActiveParent ? 'show' : '' ?>"
|
|
id="menu-<?= $menuParent['codeMenu'] . $key0 ?>">
|
|
<ul class="list-unstyled ps-4 py-2 bg-light rounded">
|
|
<?php foreach ($menuChildrenLevelOne as $key1 => $menuChild): ?>
|
|
<?php
|
|
$link_clean = explode('/', $menuChild['lienMenu'])[0];
|
|
$activeLink = $_SESSION['firstLevelMenu'] ?? '';
|
|
$isActiveChild = $link_clean == $activeLink;
|
|
?>
|
|
<li class="mb-1">
|
|
<a class="nav-link-sub d-flex align-items-center py-2 px-3 rounded
|
|
<?= $isActiveChild ? 'active-submenu bg-primary text-white' : 'text-dark' ?>"
|
|
href="<?= $menuChild['lienMenu'] ?>">
|
|
<i class="fas fa-circle me-2" style="font-size: 0.5rem;"></i>
|
|
<span><?= $menuChild['libeleMenu'] ?></span>
|
|
<?php if ($isActiveChild): ?>
|
|
<i class="fas fa-arrow-right ms-auto"></i>
|
|
<?php endif; ?>
|
|
</a>
|
|
</li>
|
|
<?php endforeach; ?>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<?php else: ?>
|
|
<!-- Menu sans sous-menus (comme Quitter) -->
|
|
<li class="nav-item mb-1">
|
|
<a class="nav-link d-flex align-items-center justify-content-between py-3 px-4
|
|
<?= $isActiveParent ? 'active-main' : '' ?>"
|
|
href="<?= $menuParent['lienMenu'] ?>">
|
|
<div class="d-flex align-items-center">
|
|
<div class="icon-wrapper bg-primary bg-opacity-10 rounded-circle d-flex align-items-center justify-content-center me-3"
|
|
style="width: 36px; height: 36px;">
|
|
<i class="<?= $menuParent['icone'] ?> text-primary"></i>
|
|
</div>
|
|
<span class="fw-medium"><?= $menuParent['libeleMenu'] ?></span>
|
|
</div>
|
|
<!-- Flèche uniquement si le menu est actif -->
|
|
<?php if ($isActiveParent): ?>
|
|
<i class="fas fa-arrow-right ms-auto text-primary"></i>
|
|
<?php endif; ?>
|
|
</a>
|
|
</li>
|
|
<!-- DEBUG: Vérifiez cet élément après "Quitter" -->
|
|
<?php
|
|
if ($menuParent['libeleMenu'] == 'Quitter') {
|
|
echo "<!-- Icône Quitter: " . htmlspecialchars($menuParent['icone']) . " -->";
|
|
}
|
|
?>
|
|
<?php endif; ?>
|
|
<?php endforeach; ?>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="sidebar-footer p-4 border-top bg-light">
|
|
<div class="d-grid">
|
|
<button class="btn btn-outline-primary d-flex align-items-center justify-content-center py-2"
|
|
onclick="javascript:window.open('Guideutilisation/', '_blank');">
|
|
<i class="fas fa-question-circle me-2"></i>
|
|
<?= _("Aide & Support") ?>
|
|
</button>
|
|
</div>
|
|
<div class="mt-3 text-center">
|
|
<small class="text-muted">v<?= $_SESSION['version_C'] ?? '1.0.4' ?></small>
|
|
</div>
|
|
</div>
|
|
</aside>
|
|
<!-- End Sidebar -->
|