32) { $claimError = 'Bitte geben Sie eine gültige Ticketnummer ein.'; } elseif (empty($_SESSION['guest_ticket_access'][$ticketNumber])) { $claimError = 'Öffnen Sie zuerst den persönlichen Ticket-Link aus der E-Mail in diesem Browser und versuchen Sie es danach erneut.'; } else { $ticketStmt = get_db()->prepare('SELECT id FROM tickets WHERE ticket_number = ?'); $ticketStmt->execute([$ticketNumber]); $ticketId = (int) $ticketStmt->fetchColumn(); if ($ticketId > 0 && claim_ticket_for_customer(get_db(), $ticketId, $user)) { flash('success', 'Das Ticket wurde Ihrem Konto hinzugefügt.'); redirect('/dashboard.php'); } $claimError = 'Ticketnummer nicht gefunden oder die Ticket-E-Mail-Adresse stimmt nicht mit Ihrem Konto überein.'; } } $stmt = get_db()->prepare( "SELECT t.*, p.name AS priority_name, p.color AS priority_color, d.name AS department_name, (SELECT tt.message FROM ticket_threads tt WHERE tt.ticket_id = t.id AND tt.is_internal_note = 0 ORDER BY tt.created_at DESC LIMIT 1) AS last_message, (SELECT tt.created_at FROM ticket_threads tt WHERE tt.ticket_id = t.id AND tt.is_internal_note = 0 ORDER BY tt.created_at DESC LIMIT 1) AS last_message_at FROM tickets t JOIN priorities p ON p.id = t.priority_id JOIN departments d ON d.id = t.department_id WHERE t.user_id = ? ORDER BY COALESCE(last_message_at, t.created_at) DESC" ); $stmt->execute([$user['id']]); $tickets = $stmt->fetchAll(); $pageTitle = 'Meine Tickets'; $activePage = 'dashboard'; require __DIR__ . '/includes/header_customer.php'; ?>
Öffnen Sie zuerst den persönlichen Ticket-Link aus der Ticket-E-Mail in diesem Browser. Anschließend können Sie das Ticket hier Ihrem Konto hinzufügen, wenn die Ticket-E-Mail-Adresse mit Ihrer Konto-E-Mail-Adresse übereinstimmt.
| Ticket | Betreff & letzte Nachricht | Status | Zuletzt aktiv |
|---|---|---|---|
| #= e($t['ticket_number']) ?> | = e($t['subject']) ?> | = e($label) ?> | = format_dt($t['last_message_at'] ?? $t['created_at']) ?> |