get_frontend_bindings_data($user_id) : ['bindings' => [], 'available' => []]; $binding_name_map = [ 'github' => 'GitHub', 'gitee' => 'Gitee', 'qq' => 'QQ', 'google' => 'Google', ]; $binding_rows = []; foreach ((array) ($oauth_data['bindings'] ?? []) as $binding) { $key = $binding['key'] ?? ''; if (!$key) { continue; } $binding_rows[$key] = [ 'key' => $key, 'name' => $binding_name_map[$key] ?? ($binding['name'] ?? ucfirst($key)), 'icon' => $binding['icon'] ?? '', 'is_bound' => true, 'url' => '', ]; } foreach ((array) ($oauth_data['available'] ?? []) as $binding) { $key = $binding['key'] ?? ''; if (!$key) { continue; } $binding_rows[$key] = [ 'key' => $key, 'name' => $binding_name_map[$key] ?? ($binding['name'] ?? ucfirst($key)), 'icon' => $binding['icon'] ?? '', 'is_bound' => false, 'url' => $binding['url'] ?? '', ]; } ?>