better-staridc-MNBT
1<?php
2if (!defined('IN_CRONLITE')) { exit; }
3$page_title = $page_title ?? 'Docker 商城';
4$plans = $plans ?? [];
5ob_start();
6?>
7<div class="hs-section">
8 <h1>Docker 商城</h1>
9 <p>选择 Docker 容器套餐购买,支付完成后自动开通 Docker 账号,凭账号登录控制台创建容器</p>
10</div>
11
12<?php if (empty($plans)): ?>
13 <div class="layui-card"><div class="layui-card-body" style="text-align:center;padding:40px;color:#999;">暂无可购买的套餐,请稍后再来。</div></div>
14<?php else: ?>
15 <div class="hs-plan-grid">
16 <?php foreach ($plans as $plan):
17 $base_plan = $plan['base_plan_id'] > 0 ? docker_shop_base_plan_get($plan['base_plan_id']) : null;
18 $node = $plan['node'] > 0 ? docker_shop_node_get($plan['node']) : null;
19 ?>
20 <div class="hs-plan-card">
21 <div class="hs-plan-head">
22 <h2><?= htmlspecialchars($plan['name']) ?></h2>
23 <?php if (!empty($plan['category'])): ?><span class="hs-plan-tag"><?= htmlspecialchars($plan['category']) ?></span><?php endif; ?>
24 </div>
25 <div class="hs-plan-desc"><?= nl2br(htmlspecialchars($plan['description'])) ?></div>
26 <?php if ($base_plan): ?>
27 <ul class="hs-plan-spec">
28 <li><span>CPU 核</span><b><?= htmlspecialchars($base_plan['cpu_max']) ?></b></li>
29 <li><span>内存</span><b><?= htmlspecialchars($base_plan['mem_max']) ?> MB</b></li>
30 <li><span>磁盘</span><b><?= (int)$base_plan['disk_max'] > 0 ? htmlspecialchars($base_plan['disk_max']) . ' MB' : '不限制' ?></b></li>
31 <li><span>节点</span><b><?= $node ? htmlspecialchars($node['name']) : '—' ?></b></li>
32 </ul>
33 <?php endif; ?>
34 <div class="hs-plan-price">
35 <?php
36 $enabled = docker_shop_plan_enabled_periods($plan);
37 foreach ($enabled as $p):
38 $cfg = docker_shop_periods()[$p];
39 $field = docker_shop_period_price_field($p);
40 $price = (int)($plan[$field] ?? 0);
41 ?>
42 <div class="hs-price-item"><span class="hs-price-label"><?= htmlspecialchars($cfg['label']) ?></span><span class="hs-price-value">¥<?= docker_shop_format_cents($price) ?></span></div>
43 <?php endforeach; ?>
44 <?php if ($enabled === []): ?>
45 <span style="color:#999;font-size:12px;">暂无可购买周期</span>
46 <?php endif; ?>
47 </div>
48 <div class="hs-plan-buy"><a class="layui-btn" href="<?= htmlspecialchars(docker_shop_url('docker-shop/order/'.(int)$plan['id']), ENT_QUOTES) ?>">立即购买</a></div>
49 </div>
50 <?php endforeach; ?>
51 </div>
52<?php endif; ?>
53
54<?php
55$content = ob_get_clean();
56include __DIR__ . '/layout.php';