From f36037d36d33073387094ee5aaf28e666154ebad Mon Sep 17 00:00:00 2001 From: NOrtmann1 Date: Sun, 14 Jun 2026 23:02:53 +0200 Subject: [PATCH] debugging --- php/controller/updateArticle-controller.php | 52 ++++++++++++++++++++- 1 file changed, 51 insertions(+), 1 deletion(-) diff --git a/php/controller/updateArticle-controller.php b/php/controller/updateArticle-controller.php index 4ec2533..50a7cfb 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); @@ -136,7 +136,57 @@ if ($_SERVER["REQUEST_METHOD"] === "POST") { } } unset($block); + }*/ + + // ----------------- Gelöschte Bilder über die JS-Löschliste entfernen ----------------- + if (isset($_POST['deleted_images'])) { + + $rawPostData = $_POST['deleted_images']; + + // Test 1: Schaut, ob überhaupt Daten vom JavaScript ankommen + if (empty($rawPostData) || $rawPostData === '[]') { + // Wenn das Feld leer ist, bricht PHP hier ab und zeigt es an + die("ABBRUCH: Das Feld 'deleted_images' ist leer im Controller angekommen! Das JS hat nichts geschickt."); + } + + // Bereinigung von Slashes und Backslashes, um valides JSON zu garantieren + $rawPostData = str_replace('\\"', '"', $rawPostData); + $rawPostData = str_replace('\\/', '/', $rawPostData); + + $deletedImages = json_decode($rawPostData, true); + + // Test 2: Prüft, ob das JSON fehlerfrei dekodiert werden konnte + if (json_last_error() !== JSON_ERROR_NONE) { + die("ABBRUCH: JSON-Dekodierungsfehler: " . json_last_error_msg() . " | Rohdaten: " . htmlspecialchars($rawPostData)); + } + + // Absoluter Server-Pfad zum Uploads-Ordner + $uploadDir = realpath(__DIR__ . '/../../uploads') . DIRECTORY_SEPARATOR; + + if (is_array($deletedImages)) { + foreach ($deletedImages as $imagePath) { + // Filtert den reinen Dateinamen (z.B. img_65a123.jpg) + $filename = basename($imagePath); + $fullDeletePath = $uploadDir . $filename; + + // Test 3: Prüft, ob PHP die Datei physisch auf der Festplatte findet + if (file_exists($fullDeletePath)) { + // Versuchen zu löschen + if (unlink($fullDeletePath)) { + // ERFOLGSMELDUNG: Wenn gelöscht wurde, stoppen wir hier und feiern den Erfolg! + die("ERFOLG: Die Datei " . $filename . " wurde physisch aus /uploads gelöscht! Der Pfad war: " . $fullDeletePath); + } else { + $error = error_get_last(); + die("ABBRUCH: Datei existiert, aber Linux verbietet das Löschen! Fehler: " . $error['message']); + } + } else { + // Wenn die Datei nicht existiert (z.B. weil sie schon weg ist oder der Pfad falsch berechnet wurde) + die("ABBRUCH: PHP findet die Datei nicht unter dem Pfad:
" . $fullDeletePath . ""); + } + } + } } +// ----------------- Ende der Lösch-Logik ----------------- // Aktualisiertes Array wieder in JSON konvertieren $finalContent = json_encode($blocks, JSON_UNESCAPED_UNICODE);