$ev) { if ($ev['id'] === $id) { $idx = $k; break; } } $record = [ 'id' => $id, 'title' => $title, 'speaker' => $speaker, 'date' => $date, 'time' => $time, 'venue_name' => $venue_name, 'venue_address' => $venue_address, '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, 'image' => $imagePath, 'slug' => $slug, 'updated_at' => now_iso() ]; if ($idx !== null) { $events[$idx] = $record; } else { $record['created_at'] = now_iso(); $events[] = $record; } save_events($events); header('Location: admin.php?ok=1'); exit; } catch (Throwable $e) { $error = 'Fehler: ' . $e->getMessage(); } } } // DELETE if (isset($_GET['delete'])) { $events = load_events(); $id = $_GET['delete']; $events = array_values(array_filter($events, fn($e) => $e['id'] !== $id)); save_events($events); header('Location: admin.php?deleted=1'); exit; } // EDIT load $editEvent = null; if (isset($_GET['edit'])) { $id = $_GET['edit']; foreach (load_events() as $e) { if ($e['id'] === $id) { $editEvent = $e; break; } } } } ?> Admin | <?= h(SITE_NAME) ?>

Admin-Login

Vorträge verwalten

Anlegen, bearbeiten, Bilder hochladen.

Gespeichert Gelöscht

>
Wenn leer, wird versucht, eine E‑Mail-Adresse aus „Ticket/VVK‑Info“ zu erkennen. Sonst bleibt der Empfänger leer.
aktuelles Bild
Abbrechen

Kommende Vorträge

!is_upcoming($e))); ?>

Noch keine Einträge.

Datum Titel Ort
Mail‑Reservierung
Bearbeiten Löschen

Keine archivierten Vorträge vorhanden.

Datum Titel Ort
Mail‑Reservierung
Bearbeiten Löschen

Tipp

Wenn „Ticket/VVK-Info“ eine URL enthält, zeigt die Programmseite automatisch den Button „Tickets sichern“. Wenn „Tickets per E‑Mail reservieren“ aktiv ist, erscheint zusätzlich ein Button, der eine Mailvorlage im Mailprogramm öffnet.
Programm ansehen