mirror of
https://codeberg.org/PostERG/xamxam.git
synced 2026-06-25 16:19:19 +02:00
122 lines
5.2 KiB
PHP
122 lines
5.2 KiB
PHP
<?php
|
|
// header.php — unified site header for public and admin sections.
|
|
// Reads: $isAdmin (bool), $currentNav (string, public only)
|
|
$_isAdmin = !empty($isAdmin);
|
|
$_isLogin = !empty($isLogin);
|
|
$_navCurrent = $currentNav ?? '';
|
|
$_currentPage = basename($_SERVER['PHP_SELF']);
|
|
$_thesisId = $_GET['id'] ?? null;
|
|
?>
|
|
<header>
|
|
<a href="#main-content" class="skip-link">Aller au contenu principal</a>
|
|
|
|
<?php if ($_isAdmin && !$_isLogin): ?>
|
|
|
|
<nav aria-label="Navigation admin">
|
|
<ul class="nav-left-links">
|
|
<li><a href="/" target="_blank" rel="noopener noreferrer" class="nav-logo">
|
|
<img src="/assets/icons/sign-out.svg" width="16" height="16" alt="" aria-hidden="true">XAMXAM<span class="sr-only"> (site public, nouvel onglet)</span>
|
|
</a></li>
|
|
</ul>
|
|
<ul class="nav-right-links">
|
|
<li><a href="/admin/" <?= $_currentPage === 'index.php' ? 'aria-current="page"' : '' ?>>Liste des TFE</a></li>
|
|
<li><a href="/admin/contenus.php" <?= in_array($_currentPage, ['contenus.php', 'contenus-edit.php']) ? 'aria-current="page"' : '' ?>>Contenus</a></li>
|
|
<li><a href="/admin/acces.php" <?= in_array($_currentPage, ['acces.php', 'file-access.php', 'acces-etudiante.php']) ? 'aria-current="page"' : '' ?>>
|
|
Accès
|
|
<?php if (isset($pendingCount) && $pendingCount > 0): ?>
|
|
<span class="admin-nav-badge"><?= $pendingCount ?></span>
|
|
<?php endif; ?>
|
|
</a></li>
|
|
<li><a href="/admin/parametres.php" <?= in_array($_currentPage, ['parametres.php', 'system.php', 'status.php', 'logs.php']) ? 'aria-current="page"' : '' ?>>Paramètres</a></li>
|
|
<?php if ($_isAdmin && AdminAuth::hasPassword()): ?>
|
|
<li data-nav-logout><a href="/admin/logout.php" aria-label="Déconnexion"><img src="/assets/icons/sign-in.svg" width="20" height="20" alt="" aria-hidden="true"><span class="sr-only">Déconnexion</span></a></li>
|
|
<?php endif; ?>
|
|
</ul>
|
|
</nav>
|
|
|
|
<?php else: ?>
|
|
|
|
<input class="menu-btn" type="checkbox" id="menu-btn" name="menu-btn" />
|
|
<nav aria-label="Navigation principale">
|
|
<div class="nav-top-row">
|
|
<ul class="nav-left-links">
|
|
<li><a href="/" class="nav-logo">Xamxam</a></li>
|
|
<li>
|
|
<a href="/repertoire"
|
|
<?= ($_navCurrent === 'repertoire') ? 'aria-current="page"' : '' ?>>Répertoire</a>
|
|
</li>
|
|
</ul>
|
|
<ul class="nav-right-links">
|
|
<li>
|
|
<a href="/licence"
|
|
<?= ($_navCurrent === 'licence') ? 'aria-current="page"' : '' ?>>Licences</a>
|
|
</li>
|
|
<li>
|
|
<a href="/charte"
|
|
<?= ($_navCurrent === 'charte') ? 'aria-current="page"' : '' ?>>Charte</a>
|
|
</li>
|
|
<li>
|
|
<a href="/apropos"
|
|
<?= ($_navCurrent === 'apropos') ? 'aria-current="page"' : '' ?>>À Propos</a>
|
|
</li>
|
|
</ul>
|
|
<label class="menu-icon" for="menu-btn">
|
|
<span class="navicon" aria-label="Menu de navigation"></span>
|
|
</label>
|
|
</div>
|
|
<ul class="nav-mobile-links">
|
|
<li>
|
|
<a href="/repertoire"
|
|
<?= ($_navCurrent === 'repertoire') ? 'aria-current="page"' : '' ?>>Répertoire</a>
|
|
</li>
|
|
<li>
|
|
<a href="/licence"
|
|
<?= ($_navCurrent === 'licence') ? 'aria-current="page"' : '' ?>>Licences</a>
|
|
</li>
|
|
<li>
|
|
<a href="/charte"
|
|
<?= ($_navCurrent === 'charte') ? 'aria-current="page"' : '' ?>>Charte</a>
|
|
</li>
|
|
<li>
|
|
<a href="/apropos"
|
|
<?= ($_navCurrent === 'apropos') ? 'aria-current="page"' : '' ?>>À Propos</a>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
|
|
<?php endif; ?>
|
|
|
|
</header>
|
|
|
|
<?php if ($_isAdmin && !$_isLogin): ?>
|
|
<div class="admin-mobile-block">
|
|
<img src="/assets/icons/desktop-monitor.svg" width="48" height="48" alt="" aria-hidden="true">
|
|
<h2>Section administrateur</h2>
|
|
<p>L'administration n'est pas accessible sur mobile. Veuillez utiliser un ordinateur.</p>
|
|
</div>
|
|
<?php endif; ?>
|
|
|
|
<?php if (!$_isAdmin && !$_isLogin): ?>
|
|
<?php
|
|
// Search bar — public section only (rendered below header for equal height)
|
|
$searchBarValue = $searchBarValue ?? $_GET['query'] ?? '';
|
|
?>
|
|
<div class="header-search-wrap">
|
|
<form method="GET" action="/search"
|
|
role="search" aria-label="Recherche" class="header-search-form">
|
|
<label for="site-search-input" class="sr-only">Recherche</label>
|
|
<div class="header-search-input-wrap">
|
|
<img src="/assets/icons/search.svg" width="24" height="24" alt="" aria-hidden="true" class="header-search-icon">
|
|
<input
|
|
id="site-search-input"
|
|
type="text"
|
|
name="query"
|
|
placeholder="Recherche..."
|
|
value="<?= htmlspecialchars($searchBarValue) ?>"
|
|
autocomplete="off"
|
|
>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
<?php endif; ?>
|