faq.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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. saveFaqContent($content);
  20. logAccess("Admin updated FAQ content");
  21. $message = "FAQ-Inhalt wurde gespeichert.";
  22. $messageType = "success";
  23. }
  24. }
  25. $faqContent = getFaqContent();
  26. $bodyClass = "admin-page";
  27. include __DIR__ . "/../includes/header.php";
  28. ?>
  29. <div class="admin-header">
  30. <h2>FAQ bearbeiten</h2>
  31. <div>
  32. <a href="index.php" class="btn btn-secondary">Zurück zum Dashboard</a>
  33. </div>
  34. </div>
  35. <?php if ($message): ?>
  36. <div class="alert alert-<?php echo $messageType; ?>">
  37. <?php echo htmlspecialchars($message); ?>
  38. </div>
  39. <?php endif; ?>
  40. <div class="panel panel-lg">
  41. <p class="mb-2">
  42. Unterstützte Markdown-Syntax: <code>#</code>, <code>##</code>, <code>###</code>, <code>**fett**</code>, <code>*kursiv*</code>, Listen mit <code>-</code> oder <code>1.</code>
  43. </p>
  44. <form method="POST">
  45. <?php echo csrfField(); ?>
  46. <div class="form-group">
  47. <label for="content">FAQ-Inhalt (Markdown)</label>
  48. <textarea id="content" name="content" rows="18"><?php echo htmlspecialchars(
  49. $faqContent,
  50. ); ?></textarea>
  51. </div>
  52. <button type="submit" name="save_faq" class="btn">Speichern</button>
  53. </form>
  54. </div>
  55. <?php include __DIR__ . "/../includes/footer.php"; ?>