Dofus
This commit is contained in:
+35
-8
@@ -1,6 +1,8 @@
|
||||
<?php
|
||||
session_start();
|
||||
require_once '../functions/databaseConnection.php';
|
||||
require_once('../functions/sendLogs.php');
|
||||
require_once('../functions/pdfUpload.php');
|
||||
|
||||
// Pour faire cette fonction l'utilisateur doit être administrateur
|
||||
if (!isset($_SESSION['role']) || $_SESSION['role'] !== 'admin') {
|
||||
@@ -8,30 +10,55 @@ if (!isset($_SESSION['role']) || $_SESSION['role'] !== 'admin') {
|
||||
exit;
|
||||
}
|
||||
|
||||
// Le fichier envoyé dépasse post_max_size : $_POST/$_FILES sont vides, on le détecte
|
||||
// tout de suite pour éviter un échec silencieux
|
||||
if (postDepasseLimite()) {
|
||||
die(messageDepassementPost());
|
||||
}
|
||||
|
||||
// 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
|
||||
$title = trim($_POST['title'] ?? '');
|
||||
$status = trim($_POST['status'] ?? '');
|
||||
$tags = trim($_POST['tags'] ?? '');
|
||||
$description = trim($_POST['description'] ?? '');
|
||||
$duration = trim($_POST['duration'] ?? '');
|
||||
$image_url = trim($_POST['imageurl'] ?? '');
|
||||
$markdown = trim($_POST['markdown'] ?? '');
|
||||
$link_url = trim($_POST['linkurl'] ?? '');
|
||||
|
||||
// Lecture et validation du PDF envoyé (optionnel)
|
||||
$pdfResultat = lireUploadPdf('pdf');
|
||||
if (is_string($pdfResultat)) {
|
||||
echo $pdfResultat;
|
||||
exit;
|
||||
}
|
||||
$pdfData = is_array($pdfResultat) ? $pdfResultat['data'] : null;
|
||||
$pdfFilename = is_array($pdfResultat) ? $pdfResultat['filename'] : null;
|
||||
|
||||
// On vérifie que les champs obligatoires ne sont pas vide
|
||||
if (!empty($title) && !empty($description) && !empty($duration) && !empty($image_url)) {
|
||||
try {
|
||||
// On prépare la requête SQL pour insérer la nouvelle école
|
||||
$stmt = $dbh->prepare('INSERT INTO schools (title, tags, description, duration, image_url) VALUES (:title, :tags, :description, :duration, :image_url)');
|
||||
$stmt = $dbh->prepare('INSERT INTO schools (title, status, tags, description, duration, image_url, markdown, link_url, pdf_data, pdf_filename) VALUES (:title, :status, :tags, :description, :duration, :image_url, :markdown, :link_url, :pdf_data, :pdf_filename)');
|
||||
|
||||
// On execute la requete préparée
|
||||
$stmt->execute([
|
||||
':title' => $title,
|
||||
':tags' => $tags,
|
||||
':description' => $description,
|
||||
':duration' => $duration,
|
||||
':image_url' => $image_url
|
||||
]);
|
||||
$stmt->bindValue(':title', $title, PDO::PARAM_STR);
|
||||
$stmt->bindValue(':status', $status, PDO::PARAM_STR);
|
||||
$stmt->bindValue(':tags', $tags, PDO::PARAM_STR);
|
||||
$stmt->bindValue(':description', $description, PDO::PARAM_STR);
|
||||
$stmt->bindValue(':duration', $duration, PDO::PARAM_STR);
|
||||
$stmt->bindValue(':image_url', $image_url, PDO::PARAM_STR);
|
||||
$stmt->bindValue(':markdown', $markdown, PDO::PARAM_STR);
|
||||
$stmt->bindValue(':link_url', $link_url, PDO::PARAM_STR);
|
||||
$stmt->bindValue(':pdf_data', $pdfData, $pdfData === null ? PDO::PARAM_NULL : PDO::PARAM_LOB);
|
||||
$stmt->bindValue(':pdf_filename', $pdfFilename, $pdfFilename === null ? PDO::PARAM_NULL : PDO::PARAM_STR);
|
||||
$stmt->execute();
|
||||
|
||||
// Log Discord
|
||||
sendLog("Ajout de l'école : " . $title);
|
||||
|
||||
// Redirection vers xp.php dès que la requete est executée
|
||||
header('Location: ../pages/xp.php');
|
||||
|
||||
Reference in New Issue
Block a user