settings.php 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <?php
  2. require_once __DIR__ . '/../config.php';
  3. require_once __DIR__ . '/../includes/functions.php';
  4. if (empty($_SESSION['admin_logged_in'])) {
  5. header('Location: login.php');
  6. exit;
  7. }
  8. $pageTitle = 'Einstellungen';
  9. $message = '';
  10. $messageType = '';
  11. if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['save_settings'])) {
  12. $settings = [
  13. 'order_recipient_email' => $_POST['order_recipient_email'] ?? '',
  14. 'order_confirmation_required' => isset($_POST['order_confirmation_required']),
  15. 'order_confirmation_expiry_days' => (int) ($_POST['order_confirmation_expiry_days'] ?? 7),
  16. 'attach_order_pdf_to_admin_email' => isset($_POST['attach_order_pdf_to_admin_email']),
  17. ];
  18. saveSystemSettings($settings);
  19. $message = 'Einstellungen wurden gespeichert.';
  20. $messageType = 'success';
  21. }
  22. $settings = getSystemSettings();
  23. $bodyClass = 'admin-page';
  24. include __DIR__ . '/../includes/header.php';
  25. ?>
  26. <div class="admin-header">
  27. <h2>Einstellungen</h2>
  28. <div>
  29. <a href="index.php" class="btn btn-secondary">Zurück zum Dashboard</a>
  30. </div>
  31. </div>
  32. <?php if ($message !== ''): ?>
  33. <div class="alert alert-<?php echo escape($messageType); ?>">
  34. <?php echo escape($message); ?>
  35. </div>
  36. <?php endif; ?>
  37. <div class="panel panel-lg">
  38. <form method="POST">
  39. <div class="form-group">
  40. <label for="order_recipient_email">Empfängeradresse für interne Bestellungen *</label>
  41. <input type="email" id="order_recipient_email" name="order_recipient_email" required value="<?php echo escape($settings['order_recipient_email']); ?>">
  42. </div>
  43. <div class="form-group">
  44. <label>
  45. <input type="checkbox" name="order_confirmation_required" value="1" <?php echo !empty($settings['order_confirmation_required']) ? 'checked' : ''; ?>>
  46. Bestellungen müssen vor interner Weiterleitung per E-Mail bestätigt werden
  47. </label>
  48. </div>
  49. <div class="form-group">
  50. <label for="order_confirmation_expiry_days">Bestätigungsfrist in Tagen *</label>
  51. <input type="number" id="order_confirmation_expiry_days" name="order_confirmation_expiry_days" min="1" required value="<?php echo (int) $settings['order_confirmation_expiry_days']; ?>">
  52. </div>
  53. <div class="form-group">
  54. <label>
  55. <input type="checkbox" name="attach_order_pdf_to_admin_email" value="1" <?php echo !empty($settings['attach_order_pdf_to_admin_email']) ? 'checked' : ''; ?>>
  56. PDF an interne Bestell-E-Mails anhängen
  57. </label>
  58. </div>
  59. <button type="submit" name="save_settings" class="btn">Speichern</button>
  60. </form>
  61. </div>
  62. <?php include __DIR__ . '/../includes/footer.php'; ?>