57 lines
2.1 KiB
PHP
57 lines
2.1 KiB
PHP
<?php
|
|
// On démarre la session
|
|
session_start();
|
|
// On ajoute la DB
|
|
require_once('../functions/databaseConnection.php');
|
|
// On ajoute les logs Discord
|
|
require_once('../functions/sendLogs.php');
|
|
|
|
// Si l'utilisateur n'est pas admin il ne peut pas executer le reste du script
|
|
if (!isset($_SESSION['role']) || $_SESSION['role'] !== 'admin') {
|
|
header('Location: ../pages/home.php');
|
|
exit;
|
|
}
|
|
|
|
if ( // Si les champs sont vides on renvoie vers admin.php
|
|
!isset($_POST['id']) || !is_numeric($_POST['id']) ||
|
|
empty($_POST['name']) ||
|
|
(empty($_POST['icon']) && empty($_POST['logourl']))
|
|
) {
|
|
header('Location: ../pages/admin.php');
|
|
exit;
|
|
}
|
|
|
|
// On récupère les données pour les mettres en variables locales
|
|
$id = (int) $_POST['id'];
|
|
$category = ($_POST['category'] ?? '') === 'partner' ? 'partner' : 'tool';
|
|
$name = trim($_POST['name']);
|
|
$icon = trim($_POST['icon'] ?? '');
|
|
$logourl = trim($_POST['logourl'] ?? '');
|
|
$linkurl = trim($_POST['linkurl'] ?? '');
|
|
$position = (int) ($_POST['position'] ?? 0);
|
|
|
|
try { // On essaie d'executer une requête qui est préparée
|
|
$stmt = $dbh->prepare('
|
|
UPDATE logo_banners
|
|
SET category = :category, name = :name, icon = :icon, logo_url = :logo_url, link_url = :link_url, position = :position
|
|
WHERE id = :id
|
|
');
|
|
$stmt->bindValue(':category', $category, PDO::PARAM_STR);
|
|
$stmt->bindValue(':name', $name, PDO::PARAM_STR);
|
|
$stmt->bindValue(':icon', $icon !== '' ? $icon : null, $icon !== '' ? PDO::PARAM_STR : PDO::PARAM_NULL);
|
|
$stmt->bindValue(':logo_url', $logourl !== '' ? $logourl : null, $logourl !== '' ? PDO::PARAM_STR : PDO::PARAM_NULL);
|
|
$stmt->bindValue(':link_url', $linkurl, PDO::PARAM_STR);
|
|
$stmt->bindValue(':position', $position, PDO::PARAM_INT);
|
|
$stmt->bindValue(':id', $id, PDO::PARAM_INT);
|
|
$stmt->execute(); // Sinon on renvoie l'erreur
|
|
} catch (PDOException $e) {
|
|
die("Erreur lors de la modification du logo :" . $e->getMessage());
|
|
}
|
|
|
|
// Log Discord
|
|
sendLog("Modification du logo : " . $name . " (id " . $id . ")");
|
|
|
|
// On renvoie l'utilisateur sur admin.php, directement sur la section Logos
|
|
header('Location: ../pages/admin.php#admin-logos');
|
|
exit;
|