#!/bin/bash
# 把本仓库的面板模板 + 数据库模块部署到现有的 kangle 服务器
set -euo pipefail
[ "$(id -u)" = "0" ] || { echo "需要 root"; exit 1; }
VH=/vhs/kangle/nodewww/webftp/vhost
[ -d "$VH" ] || { echo "未找到 $VH，请确认已安装 easypanel"; exit 1; }
REPO="$(cd "$(dirname "$0")/.." && pwd)"
TS=$(date +%Y%m%d_%H%M%S)
BK=/root/kangle_backup
mkdir -p "$BK"

echo "== 1. 备份现有模板 =="
tar czf "$BK/vhost_view_$TS.tar.gz" -C "$VH" view
echo "   备份: $BK/vhost_view_$TS.tar.gz"

echo "== 2. 复制模板 =="
cp -a "$REPO/template/." "$VH/view/default/"
echo "   已复制 $(find "$REPO/template" -type f | wc -l) 个文件"

echo "== 3. 安装数据库模块控制器 =="
cp "$REPO/control/db.ctl.php" "$VH/control/db.ctl.php"

echo "== 4. 语法检查 =="
PHP=$(ls /vhs/kangle/ext/php*/bin/php 2>/dev/null | head -1)
[ -n "$PHP" ] && "$PHP" -l "$VH/control/db.ctl.php" || echo "   未找到 PHP CLI，跳过"

echo "== 5. 安装空间用量统计 =="
cp "$REPO/tools/quota_scan.sh" /root/quota_scan.sh
chmod +x /root/quota_scan.sh
/root/quota_scan.sh
( crontab -l 2>/dev/null | grep -v quota_scan.sh; echo "*/30 * * * * /root/quota_scan.sh >/dev/null 2>&1" ) | crontab -
echo "   cron 已安装（每 30 分钟）"

echo
echo "完成。刷新面板 http://<IP>:3312/vhost/ 即可看到新模板。"
echo "回滚: tar xzf $BK/vhost_view_$TS.tar.gz -C $VH"
