From f3f042b3b9e4b9bd9d3ce22048f75fd101ff6f53 Mon Sep 17 00:00:00 2001 From: NOrtmann1 Date: Sun, 14 Jun 2026 23:16:26 +0200 Subject: [PATCH] debugging --- content/updateArticle.php | 3 --- js/editor.js | 57 +++++++++------------------------------ 2 files changed, 13 insertions(+), 47 deletions(-) diff --git a/content/updateArticle.php b/content/updateArticle.php index b693674..864b585 100644 --- a/content/updateArticle.php +++ b/content/updateArticle.php @@ -50,9 +50,6 @@ include_once 'php/controller/showArticle-controller.php'; echo '[]'; } ?> - - - diff --git a/js/editor.js b/js/editor.js index e666f40..4695cb8 100644 --- a/js/editor.js +++ b/js/editor.js @@ -96,54 +96,23 @@ function initEditor() { // beim Abschicken verbleibende Blöcke auslesen UND gelöschte Bilder ermitteln form.addEventListener("submit", function(e) { - const blocks = []; - const currentImages = []; - - // alle aktuell im Formular verbliebenen Blöcke scannen - container.querySelectorAll(".editor-block").forEach(blockDiv => { - const type = blockDiv.getAttribute("data-type"); - let value = ""; - - if (type === "text") { - value = blockDiv.querySelector("textarea").value; - } else if (type === "image") { - - const imgTag = blockDiv.querySelector("img"); - if (imgTag) { - const srcValue = imgTag.getAttribute("src") || ""; - // Wenn es ein neues Bild ist, nutzen wir das data-value (Base64) - if (srcValue.startsWith('data:image/')) { - value = blockDiv.getAttribute("data-value") || ""; - } else { - value = srcValue; - } - } - - // Pfade sammeln, die der Nutzer NICHT gelöscht hat (für den Abgleich) - if (value && value.startsWith('uploads/')) { - currentImages.push(value); - } - } - - blocks.push({ type: type, value: value }); - }); - - // das reguläre unsichtbare Content-Feld befüllen - hiddenContentInput.value = JSON.stringify(blocks); - - // Differenz berechnen: Welche Bilder aus 'initialImages' fehlen in 'currentImages' ? + // Welche Bilder aus 'initialImages' fehlen in 'currentImages' ? const deletedImages = initialImages.filter(img => !currentImages.includes(img)); - // das 'deleted_images'-Feld dynamisch befüllen und an den Controller senden - let deletedInput = document.getElementById("deleted-images"); - if (!deletedInput) { - deletedInput = document.createElement("input"); - deletedInput.type = "hidden"; - deletedInput.id = "deleted-images"; - deletedInput.name = "deleted_images"; - form.appendChild(deletedInput); + const oldInput = document.getElementById("deleted-images"); + if (oldInput) { + oldInput.remove(); } + + const deletedInput = document.createElement("input"); + deletedInput.type = "hidden"; + deletedInput.id = "deleted-images"; + deletedInput.name = "deleted_images"; // Dieser Name kommt im $_POST an deletedInput.value = JSON.stringify(deletedImages); + + form.appendChild(deletedInput); + + console.log("An PHP gesendete Löschliste:", deletedInput.value); }); // Existierende Blöcke laden (stellt alte Daten aus der Session wieder her)