diff --git a/php/controller/updateArticle-controller.php b/php/controller/updateArticle-controller.php index 50a7cfb..d907271 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,57 +136,7 @@ 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);