true]); if ($_SESSION['is_admin'] ?? false) { header('Location: /admin.php?uuid=' . urlencode($uuid)); exit; } } /** * UUID auflösen */ $token = $sql->single( "SELECT * FROM access_tokens WHERE uuid = ? AND (expires_at IS NULL OR expires_at > NOW())", "s", [$uuid] ); if (!$token) { http_response_code(404); exit('Identität nicht gefunden'); } /** * Sichtbare Stammdaten laden */ $fields = $sql->get( "SELECT f.field_key, f.field_value FROM identity_fields f JOIN token_permissions p ON p.field_key = f.field_key WHERE f.identity_id = ? AND p.token_id = ? ORDER BY f.field_key", "ii", [$token['identity_id'], $token['id']] ); /** * Sichtbare Dateien laden */ $files = $sql->get( "SELECT id, filename, mime_type FROM files WHERE identity_id = ? AND (token_id IS NULL OR token_id = ?) ORDER BY uploaded_at DESC", "ii", [$token['identity_id'], $token['id']] ); /** * Feldnamen hübsch machen */ function label(string $key): string { return match ($key) { 'name' => 'Name', 'email' => 'E-Mail', 'phone' => 'Telefon', 'address' => 'Adresse', default => ucfirst($key), }; } ?> Digitale Identität

Identität

Dateien