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
+59
View File
@@ -0,0 +1,59 @@
<?php
session_start();
require_once '../functions/databaseConnection.php';
require_once('../functions/sendLogs.php');
// Pour faire cette fonction l'utilisateur doit être administrateur
if (!isset($_SESSION['role']) || $_SESSION['role'] !== 'admin') {
header('Location: ../pages/home.php');
exit;
}
// La requête doit être un POST sinon on l'a refuse
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// Récupération des données dans la requete POST
// La catégorie est restreinte à 'tool' ou 'partner' (sinon on retombe sur 'tool')
$category = ($_POST['category'] ?? '') === 'partner' ? 'partner' : 'tool';
$name = trim($_POST['name'] ?? '');
$logo_url = trim($_POST['logourl'] ?? '');
$link_url = trim($_POST['linkurl'] ?? '');
$position = (int) ($_POST['position'] ?? 0);
// On vérifie que les champs obligatoires ne sont pas vide
if (!empty($name) && !empty($logo_url)) {
try {
// On prépare la requête SQL pour insérer le nouveau logo
$stmt = $dbh->prepare('INSERT INTO logo_banners (category, name, logo_url, link_url, position) VALUES (:category, :name, :logo_url, :link_url, :position)');
// On execute la requete préparée
$stmt->execute([
':category' => $category,
':name' => $name,
':logo_url' => $logo_url,
':link_url' => $link_url,
':position' => $position
]);
// Log Discord
sendLog("Ajout d'un logo (" . $category . ") : " . $name);
// Redirection vers home.php dès que la requete est executée
header('Location: ../pages/home.php');
exit;
} catch (PDOException $e) {
// En cas d'erreur :
echo "Erreur pendant l'ajout du logo: " . $e->getMessage();
exit;
}
} else {
echo "Veuillez remplir tous les champs obligatoires.";
exit;
}
} else {
// Si on y accède de façon peu légitime sans requête POST on refuse
header('Location: ../pages/home.php');
exit;
}
?>