From b8bceb31c6cecc516758e5ceb40637110f92c923 Mon Sep 17 00:00:00 2001 From: NOrtmann1 Date: Sun, 14 Jun 2026 22:51:05 +0200 Subject: [PATCH] debugging --- php/controller/updateArticle-controller.php | 47 ++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) diff --git a/php/controller/updateArticle-controller.php b/php/controller/updateArticle-controller.php index d907271..a573742 100644 --- a/php/controller/updateArticle-controller.php +++ b/php/controller/updateArticle-controller.php @@ -76,7 +76,7 @@ if ($_SERVER["REQUEST_METHOD"] === "POST") { if (!file_exists($uploadDir)) { mkdir($uploadDir, 0755, true); } - + /* // ----------------- Gelöschte Bilder über die JS-Löschliste entfernen ----------------- if (isset($_POST['deleted_images'])) { $deletedImages = json_decode($_POST['deleted_images'], true); @@ -103,7 +103,52 @@ if ($_SERVER["REQUEST_METHOD"] === "POST") { } } } + }*/ + // ----------------- Gelöschte Bilder über die JS-Löschliste entfernen ----------------- + if (isset($_POST['deleted_images'])) { + + $rawPostData = $_POST['deleted_images']; + + // DIAGNOSE 1: Wenn die Daten gar nicht ankommen oder leer sind, brechen wir ab und zeigen es an + if (empty($rawPostData) || $rawPostData === '[]') { + // Falls das Feld leer ankommt, entkommentieren Sie die nächste Zeile zum Debuggen: + // die("Fehler: Das Feld 'deleted_images' kam leer oder als '[]' im Controller an!"); + } + + // Eventuell maskierte Anführungszeichen (Sicherheits-Overhead) bereinigen + $rawPostData = stripslashes($rawPostData); + + $deletedImages = json_decode($rawPostData, true); + + // DIAGNOSE 2: Wenn das JSON nicht dekodiert werden kann, zeigen wir den JSON-Fehler an + if (json_last_error() !== JSON_ERROR_NONE) { + die("JSON-Dekodierungsfehler im Controller: " . json_last_error_msg() . " | Rohdaten: " . htmlspecialchars($rawPostData)); + } + + $uploadDir = realpath(__DIR__ . '/../../uploads') . DIRECTORY_SEPARATOR; + + if (is_array($deletedImages)) { + foreach ($deletedImages as $imagePath) { + $filename = basename($imagePath); + $fullDeletePath = $uploadDir . $filename; + + // DIAGNOSE 3: Wir prüfen, was genau PHP anstellt + if (file_exists($fullDeletePath)) { + if (!unlink($fullDeletePath)) { + $error = error_get_last(); + die("Datei existiert unter " . $fullDeletePath . ", aber unlink() schlug fehl. Grund: " . $error['message']); + } else { + // ERFOLG! Datei wurde gelöscht. Sie können diese Zeile später entfernen. + // die("Erfolgreich gelöscht: " . $fullDeletePath); + } + } else { + // PHP findet die Datei nicht. Wir geben den exakten Pfad aus, an dem gesucht wurde + die("Fehler: PHP sucht die Datei, aber sie existiert nicht unter diesem Pfad:
" . $fullDeletePath . ""); + } + } + } } +// ----------------- Ende der Lösch-Logik ----------------- // ----------------------- NEU hinzugefügte Base64-Bilder: -------------------------- if (is_array($blocks)) {