.*?);/', $metadata, $matches); $extension = $matches['extension'] ?? 'jpg'; if ($extension === 'jpeg') { $extension = 'jpg'; } // Eindeutigen Dateinamen generieren $fileName = 'img_' . uniqid() . '.' . $extension; $filePath = $uploadDir . $fileName; // Datei im /uploads speichern: if (file_put_contents($filePath, base64_decode($base64Data)) !== false) { // temporären Base64-String durch den echten Pfad ersetzen $block['value'] = 'uploads/' . $fileName; } else { $_SESSION["message"] = "image_upload_error"; header("location: ../../index.php?pfad=createArticle"); exit(); } } } unset($block); // Aktualisiertes Array wieder in JSON konvertieren $finalContent = json_encode($blocks, JSON_UNESCAPED_UNICODE); // ----------------- Übertragung der validierten Daten in ArticleManager: --------------------------- try { $articleManager = ArticleManager::getInstance(); $articleManager->addArticle($title, $finalContent, $author, $category, $cleanedTags); // Formulardaten nach erfolgreichem Erstellen aus der Session löschen unset($_SESSION["old_title"], $_SESSION["old_content"], $_SESSION["old_category"], $_SESSION["old_tags"]); } catch (Exception $e){ $_SESSION["message"] = "internal_error"; header("location: ../../index.php?pfad=createArticle"); exit(); } $_SESSION["message"] = "new_article"; // Weiterleitung zur Homepage header("location: ../../index.php"); exit(); } } ?>