getConnection(); function e($value): string { return htmlspecialchars((string) $value, ENT_QUOTES, 'UTF-8'); } function initials(string $first, string $last): string { $ini = strtoupper(mb_substr(trim($first), 0, 1) . mb_substr(trim($last), 0, 1)); return $ini !== '' ? $ini : '?'; } function avatarColor(string $seed): string { $palette = ['#1ebf73', '#2980b9', '#8e44ad', '#e67e22', '#16a085', '#c0392b', '#2c3e50', '#d35400']; return $palette[abs(crc32($seed)) % count($palette)]; } // Solo i campi che servono davvero (evita conflitti da SELECT *) $sql = "SELECT bookingclass.idbookingclass, bookingclass.status AS booking_status, bookingclass.prevbookingstart, bookingclass.bookingstart, auth_users.first_name, auth_users.last_name, service.servicename, service.day, service.time FROM bookingclass LEFT JOIN auth_users ON bookingclass.iduser = auth_users.id LEFT JOIN service ON bookingclass.idservice = service.idservice WHERE bookingclass.status = 'pending' ORDER BY bookingclass.bookingstart"; $documents = $pdo->query($sql)->fetchAll(); $fmt = function ($dt) { if (empty($dt)) return '-'; $ts = strtotime($dt); return $ts ? date('d-m-Y H:i', $ts) : '-'; }; ?>