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);