50 lines
1.7 KiB
PHP
50 lines
1.7 KiB
PHP
<?php
|
|
/**
|
|
* func/index.php —— 功能区首页(工具入口,由后台“功能区管理”动态驱动)
|
|
*/
|
|
$P = '../';
|
|
require_once dirname(__DIR__) . '/includes/layout.php';
|
|
|
|
$tools = db()->query('SELECT * FROM func_tools WHERE enabled = 1 ORDER BY sort ASC, id ASC')->fetchAll();
|
|
|
|
layout_head('功能区');
|
|
?>
|
|
<main class="page-main">
|
|
<!-- 功能区展示横幅 -->
|
|
<section class="sub-hero">
|
|
<a class="back-home" href="../index.php">← 返回首页</a>
|
|
<h1>功能区</h1>
|
|
<p class="st-tip">工具统一收纳于此;新工具的入口可在后台“功能区管理”中登记</p>
|
|
</section>
|
|
|
|
<div class="wrap page-body">
|
|
<?php if ($tools): ?>
|
|
<div class="func-cards">
|
|
<?php foreach ($tools as $t):
|
|
$rawIcon = trim((string)($t['icon'] ?? ''));
|
|
$rawIcon = $rawIcon !== '' ? $rawIcon : '🧩';
|
|
$isExt = (int)$t['is_external'] === 1;
|
|
?>
|
|
<a class="func-card" href="<?= he((string)$t['url']) ?>"<?php if ($isExt): ?> target="_blank" rel="noopener noreferrer"<?php endif; ?>>
|
|
<span class="fc-icon"><?= site_icon($rawIcon, '') ?></span>
|
|
<span>
|
|
<span class="fc-name"><?= he((string)$t['name']) ?></span>
|
|
<span class="fc-desc"><?= he((string)$t['description']) ?></span>
|
|
</span>
|
|
</a>
|
|
<?php endforeach; ?>
|
|
</div>
|
|
<?php else: ?>
|
|
<div class="panel-card">
|
|
<div class="tip">功能区还没有可用的工具<span class="st-tip">,请到后台“功能区管理”中添加</span>。</div>
|
|
</div>
|
|
<?php endif; ?>
|
|
</div>
|
|
</main>
|
|
|
|
<?php layout_theme_fab(); ?>
|
|
<?php layout_footer(); ?>
|
|
<script src="../assets/js/common.js"></script>
|
|
</body>
|
|
</html>
|