Funktion Ticket per Mail reservieren
This commit is contained in:
@@ -39,6 +39,11 @@ if ($loggedIn) {
|
||||
$price = sanitize_text($_POST['price'] ?? '');
|
||||
$doors_open = sanitize_text($_POST['doors_open'] ?? '');
|
||||
$tickets_info = sanitize_text($_POST['tickets_info'] ?? '');
|
||||
$reserve_by_mail = isset($_POST['reserve_by_mail']) && $_POST['reserve_by_mail'] === '1';
|
||||
$reserve_email = trim((string)($_POST['reserve_email'] ?? ''));
|
||||
if ($reserve_email !== '' && !filter_var($reserve_email, FILTER_VALIDATE_EMAIL)) {
|
||||
$reserve_email = '';
|
||||
}
|
||||
$catering = sanitize_text($_POST['catering'] ?? '');
|
||||
$tags = sanitize_text($_POST['tags'] ?? '');
|
||||
$description = trim($_POST['description'] ?? '');
|
||||
@@ -71,6 +76,8 @@ if ($loggedIn) {
|
||||
'price' => $price,
|
||||
'doors_open' => $doors_open,
|
||||
'tickets_info' => $tickets_info,
|
||||
'reserve_by_mail' => $reserve_by_mail,
|
||||
'reserve_email' => $reserve_email,
|
||||
'catering' => $catering,
|
||||
'tags' => $tags,
|
||||
'description' => $description,
|
||||
@@ -237,6 +244,18 @@ if ($loggedIn) {
|
||||
<input type="text" class="form-control" name="tickets_info" value="<?= h($editEvent['tickets_info'] ?? '') ?>">
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form-check form-switch mb-2">
|
||||
<input class="form-check-input" type="checkbox" id="reserve_by_mail" name="reserve_by_mail" value="1" <?= !empty($editEvent['reserve_by_mail']) ? 'checked' : '' ?>>
|
||||
<label class="form-check-label" for="reserve_by_mail">Tickets per E‑Mail reservieren</label>
|
||||
</div>
|
||||
|
||||
<div class="mb-3" id="reserve_email_wrap">
|
||||
<label class="form-label">Reservierungs‑E‑Mail (optional)</label>
|
||||
<input type="email" class="form-control" name="reserve_email" value="<?= h($editEvent['reserve_email'] ?? '') ?>" placeholder="z.B. tickets@…">
|
||||
<div class="form-text">Wenn leer, wird versucht, eine E‑Mail-Adresse aus „Ticket/VVK‑Info“ zu erkennen. Sonst bleibt der Empfänger leer.</div>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="form-label">Verpflegung/Service</label>
|
||||
<input type="text" class="form-control" name="catering" value="<?= h($editEvent['catering'] ?? '') ?>">
|
||||
@@ -301,6 +320,9 @@ if ($loggedIn) {
|
||||
<td>
|
||||
<div class="fw-semibold"><?= h($e['title']) ?></div>
|
||||
<div class="text-muted small"><?= h($e['speaker']) ?></div>
|
||||
<?php if (!empty($e['reserve_by_mail'])): ?>
|
||||
<span class="badge text-bg-info">Mail‑Reservierung</span>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
<td><?= h($e['venue_name']) ?></td>
|
||||
<td class="text-end">
|
||||
@@ -320,7 +342,7 @@ if ($loggedIn) {
|
||||
<div class="cta-band p-4 d-md-flex justify-content-between align-items-center rounded-4">
|
||||
<div class="mb-3 mb-md-0">
|
||||
<p class="section-kicker mb-1">Tipp</p>
|
||||
<div class="h6 mb-0">Wenn „Ticket/VVK-Info“ eine URL enthält, zeigt die Programmseite automatisch den Button <em>„Tickets sichern“</em>.</div>
|
||||
<div class="h6 mb-0">Wenn „Ticket/VVK-Info“ eine URL enthält, zeigt die Programmseite automatisch den Button <em>„Tickets sichern“</em>. Wenn „Tickets per E‑Mail reservieren“ aktiv ist, erscheint zusätzlich ein Button, der eine Mailvorlage im Mailprogramm öffnet.</div>
|
||||
</div>
|
||||
<a class="btn btn-accent" href="programm.php" target="_blank" rel="noopener">Programm ansehen</a>
|
||||
</div>
|
||||
@@ -340,5 +362,16 @@ if ($loggedIn) {
|
||||
</footer>
|
||||
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
|
||||
<script>
|
||||
// Admin UI: Reservierungs‑E‑Mail Feld nur anzeigen, wenn „Tickets per E‑Mail reservieren“ aktiv ist
|
||||
(function () {
|
||||
const toggle = document.getElementById('reserve_by_mail');
|
||||
const wrap = document.getElementById('reserve_email_wrap');
|
||||
if (!toggle || !wrap) return;
|
||||
const apply = () => { wrap.style.display = toggle.checked ? '' : 'none'; };
|
||||
toggle.addEventListener('change', apply);
|
||||
apply();
|
||||
})();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user