Your webinar dashboard
Hi — your seat is confirmed. Use the join button below when it is time to enter the webinar room.
setTimezone(new DateTimeZone($timezone)); return $date->format('l, F j, Y \a\t g:i A T'); } return $date->format('l, F j, Y \a\t g:i A T'); } catch (Throwable $e) { return $scheduledAt; } } $attendee = null; $webinar = null; $error = ''; $user_id = (int) $_SESSION['user_id']; try { $stmt = db()->prepare('SELECT * FROM attendees WHERE id = ? AND deleted_at IS NULL'); $stmt->execute([$user_id]); $attendee = $stmt->fetch(PDO::FETCH_ASSOC); if ($attendee) { $stmt = db()->prepare('SELECT * FROM webinars WHERE id = ?'); $stmt->execute([(int) $attendee['webinar_id']]); $webinar = $stmt->fetch(PDO::FETCH_ASSOC); } else { $error = 'Could not find your active registration details.'; } } catch (PDOException $e) { error_log('Dashboard load failed: ' . $e->getMessage()); $error = 'Dashboard is temporarily unavailable. Please try again later.'; } $participantName = trim((string) (($attendee['first_name'] ?? '') . ' ' . ($attendee['last_name'] ?? ''))); $participantName = $participantName !== '' ? $participantName : ((string) ($attendee['email'] ?? 'Guest')); $joinLink = $attendee ? 'join.php?id=' . rawurlencode(base64_encode((string) $attendee['id'])) : 'login.php'; $webinarDate = $webinar ? format_dashboard_datetime($webinar['scheduled_at'] ?? null, $attendee['timezone'] ?? null) : 'Schedule to be announced'; ?>
Hi — your seat is confirmed. Use the join button below when it is time to enter the webinar room.