prepare($sqlRequest); $request->bindParam(":articleID", $_GET['article']); $request->bindParam(":authorID", $_SESSION['userID']); $request->bindParam(":authorRole", $_SESSION['userRole']); $request->execute(); $result = $request->fetchAll(PDO::FETCH_ASSOC); if ($result) { $sqlRequest = "SELECT ID, name FROM confidential_levels"; $request = $pdo->prepare($sqlRequest); $request->execute(); $confidentialLevels = array(); foreach($request->fetchAll(PDO::FETCH_ASSOC) as $confidentialLevel) { $confidentialLevels[$confidentialLevel['ID']] = $confidentialLevel['name']; } $articleID = $result[0]['ID']; $articleTitle = $result[0]['title']; $articleResume = $result[0]['resume']; $articleClassification = $result[0]['classification']; $miniatureURL = $result[0]['miniature']; $articleContent = file_get_contents($rootFilePath . 'content/articles/' . $articleID . '.md'); } else { $status = "Article introuvable"; } } else { $status = "Veuillez choisir un article"; } // Article deletion if (isset($_POST['delete-article']) && $_POST['delete-article'] == "delete") { $sqlRequest = "DELETE FROM articles WHERE ID = :articleID"; $request = $pdo->prepare($sqlRequest); $request->bindParam(":articleID", $articleID); if($request->execute()) { unlink($rootFilePath . "content/articles/" . $articleID . ".md"); $status = "Article supprimé"; $articleTitle = ""; $articleResume = ""; $articleContent = ""; $miniatureURL = ""; } } // Updating the article after upload if (isset($_POST['article-content']) && isset($_POST['classification']) && isset($articleID)) { file_put_contents($rootFilePath . "content/articles/" . $articleID . ".md", nl2br($_POST['article-content'])); $sqlRequest = "UPDATE articles SET title = :title, resume = :resume, classification = :classification, last_update = now() WHERE ID = :articleID AND (author = :authorID OR :authorRole = 50)"; $request = $pdo->prepare($sqlRequest); $request->bindParam(":title", htmlspecialchars($_POST['article-title'])); $request->bindParam(":resume", htmlspecialchars($_POST['article-resume'])); $request->bindParam(":classification", $_POST['classification'], PDO::PARAM_INT); $request->bindParam(":articleID", $_GET['article'], PDO::PARAM_INT); $request->bindParam(":authorID", $_SESSION['userID'], PDO::PARAM_INT); $request->bindParam(":authorRole", $_SESSION['userRole']); $request->execute(); $result = $request->fetchAll(PDO::FETCH_ASSOC); if($request->execute()) { header("Location: /editor?article=" . $articleID); } else { $status = "Une erreur s'est produite"; } } // Updating the miniature if (isset($_FILES['miniature']) && $_FILES['miniature']['error'] == 0 && isset($articleID)) { $tempImagePath = $_FILES['miniature']['tmp_name']; $ImagePath = 'assets/miniatures/' . $articleID . '.png'; $rootImagePath = $rootFilePath . 'html/' . $ImagePath; $imageURL = "/" . $ImagePath; list($width, $height) = getimagesize($tempImagePath); $imageInfo = getimagesize($tempImagePath); if ($imageInfo[2] === IMAGETYPE_PNG || $imageInfo[2] === IMAGETYPE_JPEG) { $imageWidth = 1000; $imageHeight = ($height / $width) * $imageWidth; $imageResized = imagecreatetruecolor($imageWidth, $imageHeight); $imageOriginal = imagecreatefromstring(file_get_contents($tempImagePath)); imagecopyresampled($imageResized, $imageOriginal, 0, 0, 0, 0, $imageWidth, $imageHeight, $width, $height); imagealphablending($imageResized, false); imagesavealpha($imageResized, $rootPath); imagepng($imageResized, $rootImagePath); imagedestroy($imageOriginal); imagedestroy($imageResized); $sqlRequest = "UPDATE articles SET miniature = :miniature WHERE ID = :articleID"; $request = $pdo->prepare($sqlRequest); $request->bindParam(":miniature", $imageURL); $request->bindParam(":articleID", $articleID); if($request->execute()) { $status = "Miniature changée"; $miniatureURL = $imageURL; } else { $status = "Erreur SQL"; } } else { $status = "Le fichier doit être au format PNG ou JPG"; } } ?>

Editer un article