faq.php 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <?php
  2. require_once __DIR__ . "/../config.php";
  3. require_once __DIR__ . "/../includes/functions.php";
  4. // Check admin login
  5. if (!isset($_SESSION["admin_logged_in"]) || !$_SESSION["admin_logged_in"]) {
  6. header("Location: login.php");
  7. exit();
  8. }
  9. $pageTitle = "FAQ bearbeiten";
  10. $message = "";
  11. $messageType = "";
  12. if ($_SERVER["REQUEST_METHOD"] === "POST" && isset($_POST["save_faq"])) {
  13. // Validate CSRF token
  14. if (!validateCsrfToken($_POST["csrf_token"] ?? "")) {
  15. $message = "Ungültiges Token. Bitte versuchen Sie es erneut.";
  16. $messageType = "error";
  17. } else {
  18. $content = isset($_POST["content"]) ? (string) $_POST["content"] : "";
  19. if (saveFaqContent($content)) {
  20. logAccess("Admin updated FAQ content");
  21. $message = "FAQ-Inhalt wurde gespeichert.";
  22. $messageType = "success";
  23. } else {
  24. $message = "FAQ-Inhalt konnte nicht gespeichert werden.";
  25. $messageType = "error";
  26. }
  27. }
  28. }
  29. $faqContent = getFaqContent();
  30. $bodyClass = "admin-page";
  31. include __DIR__ . "/../includes/header.php";
  32. ?>
  33. <div class="admin-header">
  34. <h2>FAQ bearbeiten</h2>
  35. <div>
  36. <a href="index.php" class="btn btn-secondary">Zurück zum Dashboard</a>
  37. </div>
  38. </div>
  39. <?php if ($message): ?>
  40. <div class="alert alert-<?php echo $messageType; ?>">
  41. <?php echo htmlspecialchars($message); ?>
  42. </div>
  43. <?php endif; ?>
  44. <div class="panel panel-lg">
  45. <p class="mb-2">
  46. Unterstützte Markdown-Syntax: <code>#</code>, <code>##</code>, <code>###</code>, <code>**fett**</code>, <code>*kursiv*</code>, Listen mit <code>-</code> oder <code>1.</code>
  47. </p>
  48. <form method="POST">
  49. <?php echo csrfField(); ?>
  50. <div class="form-group">
  51. <label for="content">FAQ-Inhalt (Markdown)</label>
  52. <textarea id="content" name="content" rows="18"><?php echo htmlspecialchars(
  53. $faqContent,
  54. ); ?></textarea>
  55. </div>
  56. <button type="submit" name="save_faq" class="btn">Speichern</button>
  57. </form>
  58. </div>
  59. <?php include __DIR__ . "/../includes/footer.php"; ?>