query("SELECT * FROM groups WHERE is_visible=1 AND display='grid' ORDER BY sort_order, id")->fetchAll(); $tabGroups = $pdo->query("SELECT * FROM groups WHERE is_visible=1 AND display='tabs' ORDER BY sort_order, id")->fetchAll(); $engines = $pdo->query("SELECT * FROM engines WHERE is_active=1 ORDER BY sort_order, id")->fetchAll(); // 默认引擎 $defSlug = setting('default_engine', 'bing'); $default = null; foreach ($engines as $en) { if ($en['slug'] === $defSlug) { $default = $en; break; } } if ($default === null) { $default = $engines[0] ?? null; } $primary = setting('primary_color', '#2F6BF7'); function sites_of(int $gid): array { $st = db()->prepare("SELECT * FROM sites WHERE group_id=? AND is_visible=1 ORDER BY sort_order, id"); $st->execute([$gid]); return $st->fetchAll(); } function site_label(array $s): string { return $s['short_name'] !== '' ? $s['short_name'] : ($s['name'] !== '' ? $s['name'] : domain_of($s['url'])); } /** 渲染一个网站格(网格板块与合集共用) */ function site_tile(array $s): void { $label = site_label($s); $src = icon_src($s['icon']); ?>
= e(setting('subtitle', '个人网站导航')) ?>