#!/usr/bin/env bash
# ============================================================
# 酷冰甲官网 - 一键部署脚本（上传文件后运行一次）
# 用法:
#   bash deploy.sh            # 文件模式（默认，无需数据库）
#   DB=1 bash deploy.sh       # 先改好 config/config.php 的 mysql 段再跑
# ============================================================
set -e

echo "==> 检测 PHP 环境 ..."
# 优先用 PATH 里的 php；找不到时自动探测宝塔等常见安装路径
PHP_BIN="$(command -v php || true)"
if [ -z "$PHP_BIN" ]; then
  for p in /www/server/php/74/bin/php /www/server/php/80/bin/php \
           /www/server/php/81/bin/php /www/server/php/82/bin/php \
           /www/server/php/83/bin/php /usr/local/php/bin/php \
           /usr/bin/php7.4 /usr/bin/php; do
    if [ -x "$p" ]; then PHP_BIN="$p"; break; fi
  done
fi
if [ -z "$PHP_BIN" ]; then
  echo "✗ 未找到 php 命令，请先安装 PHP 7.4+ 并将其加入 PATH"
  exit 1
fi
"$PHP_BIN" -v | head -1

echo "==> 设置目录写权限 ..."
# 关键点：宝塔/虚拟主机上 PHP 进程通常以 www 用户运行，
# 上传后的文件若归 root，则 www 无写权限，后台保存会被静默丢弃。
# 这里把数据目录与生成 CSS 的目录一并 chown 给 www（仅 root 可执行 chown）。
if [ "$(id -u)" -eq 0 ]; then
  chown -R www:www storage            2>/dev/null || true
  chown -R www:www public/assets/css  2>/dev/null || true
  echo "    已将 storage / public/assets/css 属主改为 www"
else
  echo "    当前非 root，跳过 chown（如保存失败请手动: chown -R www:www storage public/assets/css）"
fi
chmod -R 755 storage          2>/dev/null || true
chmod -R 755 storage/data     2>/dev/null || true
chmod -R 755 public/assets    2>/dev/null || true
chmod -R 755 public/assets/css 2>/dev/null || true

echo "==> 初始化数据 (install/install.php) ..."
"$PHP_BIN" install/install.php

echo ""
echo "✓ 部署完成！"
echo "  前台:  http://你的域名/"
echo "  后台:  http://你的域名/admin   (默认账号 admin / admin888)"
echo ""
echo "安全建议（生产环境务必执行）:"
echo "  1) 部署成功后删除安装目录:  rm -rf install"
echo "  2) 修改后台密码: 后台 -> 设置 -> 管理员"
echo "  3) 若用 MySQL: 确认 config/config.php 的 driver=mysql 且账号安全"
