Sauvegarde

This commit is contained in:
Esteban
2026-07-02 17:44:40 +02:00
parent 481fbc9498
commit 97caf2275c
10 changed files with 362 additions and 18 deletions
+50 -1
View File
@@ -13,6 +13,7 @@ require_once('../functions/listXP.php');
require_once('../functions/listSchool.php');
require_once('../functions/listSkills.php');
require_once('../functions/listSettings.php');
require_once('../functions/listLogos.php');
// L'utilisateur doit être administrateur
@@ -26,6 +27,7 @@ $projetAModifier = null;
$xpAModifier = null;
$ecoleAModifier = null;
$skillAModifier = null;
$logoAModifier = null;
// Si on modifie XP, Projets, École ou Compétence
@@ -41,6 +43,9 @@ if (isset($_GET['edit_school']) && is_numeric($_GET['edit_school'])) {
if (isset($_GET['edit_skill']) && is_numeric($_GET['edit_skill'])) {
$skillAModifier = recupererSkillParId((int) $_GET['edit_skill']);
}
if (isset($_GET['edit_logo']) && is_numeric($_GET['edit_logo'])) {
$logoAModifier = recupererLogoParId((int) $_GET['edit_logo']);
}
// Valeurs actuelles de la notification de la page d'accueil
$noticeTitle = recupererSetting('site_notice_title') ?? '';
@@ -55,7 +60,7 @@ $noticeEnabled = recupererSetting('site_notice_enabled') ?? '1';
<!-- Titre du panneau -->
<div class="page-header">
<h1>Panneau d'administration</h1>
<p>Gère le contenu du site : projets, expériences, écoles, compétences, notification et utilisateurs.</p>
<p>Gère le contenu du site : projets, expériences, écoles, compétences, logos, notification et utilisateurs.</p>
</div>
<!-- Sous-navigation : accès rapide à chaque catégorie -->
@@ -64,6 +69,7 @@ $noticeEnabled = recupererSetting('site_notice_enabled') ?? '1';
<a href="#admin-experiences"><i class="fa-solid fa-briefcase"></i> Expériences</a>
<a href="#admin-ecoles"><i class="fa-solid fa-graduation-cap"></i> Écoles</a>
<a href="#admin-competences"><i class="fa-solid fa-code"></i> Compétences</a>
<a href="#admin-logos"><i class="fa-solid fa-images"></i> Logos</a>
<a href="#admin-notification"><i class="fa-solid fa-bell"></i> Notification</a>
<a href="#admin-utilisateurs"><i class="fa-solid fa-users"></i> Utilisateurs</a>
<a href="#admin-donnees"><i class="fa-solid fa-database"></i> Données</a>
@@ -311,6 +317,49 @@ $noticeEnabled = recupererSetting('site_notice_enabled') ?? '1';
</div>
</section>
<!-- ========== SECTION LOGOS (bandeaux page d'accueil) ========== -->
<section id="admin-logos" class="admin-section">
<h2 class="admin-section-title"><i class="fa-solid fa-images"></i> Logos (page d'accueil)</h2>
<details class="admin-block" <?php echo $logoAModifier ? 'open' : ''; ?>>
<summary><?php echo $logoAModifier ? 'Modifier le logo : ' . htmlspecialchars($logoAModifier['name']) : '+ Nouveau logo'; ?></summary>
<div class="project-form-card">
<!-- on envoie les données à addLogo.php -->
<form method="POST" action="<?php echo $logoAModifier ? '../scripts/updateLogo.php' : '../scripts/addLogo.php'; ?>">
<?php if ($logoAModifier): ?>
<input type="hidden" name="id" value="<?php echo (int) $logoAModifier['id']; ?>">
<?php endif; ?>
<label>Bandeau *</label>
<select name="category">
<option value="tool" <?php echo (!$logoAModifier || $logoAModifier['category'] === 'tool') ? 'selected' : ''; ?>>Outils que je sais manipuler</option>
<option value="partner" <?php echo ($logoAModifier && $logoAModifier['category'] === 'partner') ? 'selected' : ''; ?>>Ils m'ont fait confiance</option>
</select>
<label>Nom (outil ou entreprise) *</label>
<input type="text" name="name" required placeholder="Docker, Proxmox, Nom de l'entreprise..." value="<?php echo $logoAModifier ? htmlspecialchars($logoAModifier['name']) : ''; ?>">
<label>Lien du logo *</label>
<input type="url" name="logourl" placeholder="https://..." required value="<?php echo $logoAModifier ? htmlspecialchars($logoAModifier['logo_url']) : ''; ?>">
<label>Lien externe (optionnel, rend le logo cliquable)</label>
<input type="url" name="linkurl" placeholder="https://..." value="<?php echo $logoAModifier ? htmlspecialchars($logoAModifier['link_url'] ?? '') : ''; ?>">
<label>Position (ordre d'affichage, du plus petit au plus grand)</label>
<input type="text" name="position" value="<?php echo $logoAModifier ? (int) $logoAModifier['position'] : '0'; ?>">
<input type="submit" name="submitlogo" value="<?php echo $logoAModifier ? 'Modifier le logo' : '+ Ajouter le logo'; ?>" class="btn-submit">
</form>
</div>
</details>
<!-- Liste des logos avec modification / suppression -->
<?php afficherLogosAdmin(); ?>
</section>
<!-- ========== SECTION NOTIFICATION ========== -->
<section id="admin-notification" class="admin-section">
<h2 class="admin-section-title"><i class="fa-solid fa-bell"></i> Notification de la page d'accueil</h2>