53 lines
1.7 KiB
PHP
53 lines
1.7 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['title']) ||
|
|
empty($_POST['items'])
|
|
) {
|
|
header('Location: ../pages/admin.php');
|
|
exit;
|
|
}
|
|
|
|
// On récupère les données pour les mettres en variables locales
|
|
$id = (int) $_POST['id'];
|
|
$title = trim($_POST['title']);
|
|
$icon = trim($_POST['icon'] ?? '');
|
|
$items = trim($_POST['items']);
|
|
$position = (int) ($_POST['position'] ?? 0);
|
|
|
|
try { // On essaie d'executer une requête qui est préparée
|
|
$stmt = $dbh->prepare('
|
|
UPDATE skills
|
|
SET title = :title, icon = :icon, items = :items, position = :position
|
|
WHERE id = :id
|
|
');
|
|
$stmt->bindValue(':title', $title, PDO::PARAM_STR);
|
|
$stmt->bindValue(':icon', $icon, PDO::PARAM_STR);
|
|
$stmt->bindValue(':items', $items, 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 de la compétence :" . $e->getMessage());
|
|
}
|
|
|
|
// Log Discord
|
|
sendLog("Modification de la catégorie de compétences : " . $title . " (id " . $id . ")");
|
|
|
|
// On renvoie l'utilisateur sur admin.php
|
|
header('Location: ../pages/admin.php');
|
|
exit;
|