<?php
/**
 * 项目提交前预处理脚本
 * 用于安全备份并清理敏感配置字段
 */

$source = __DIR__ . '/config.php';
$backup = __DIR__ . '/config.backup.php';

// 1️⃣ 检查文件是否存在
if (!file_exists($source)) {
    echo "❌ 找不到 config.php，跳过处理。\n";
    exit(0);
}

// 2️⃣ 备份
copy($source, $backup);
echo "✅ 已备份到 config.backup.php\n";

// 3️⃣ 读取原配置

// 3️⃣ 读取配置
$options = [];
require $source; // 直接导入 $options

if (!isset($options) || !is_array($options)) {
    echo "❌ config.php 中未定义 \$options 数组。\n";
    exit(1);
}

// 4️⃣ 根据需求修改特定字段
// 举例：清空日志路径、设置默认workers、隐藏api_key
$fieldsToReset = [
    'redis' => [
        'ip'=>'127.0.0.1',
        'port'=>6379,
        'password'=>'YOURPASSWARD',
    ],         
    'db' => [
        'type' => 'mysql',
        'host' => '',
        'database' => '',
        'username' => '',
        'password' => '',
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_general_ci',
        'port' => 3306,
    ],
    'apikey'=>'',
];

// 应用修改
foreach ($fieldsToReset as $key => $value) {
    if (array_key_exists($key, $options)) {
        $options[$key] = $value;
    }
}
// 5️⃣ 写回原文件（保持 $options = [...] 格式）
$export = var_export($options, true);

// 把 array(...) 替换成 [...]
$export = preg_replace(['/\barray \(/', '/\)(\s*[,;])?/'], ['[', ']$1'], $export);

// 构造完整内容
$content = <<<PHP
<?php

\$options = $export;

PHP;

// 写入文件
file_put_contents($source, $content);

echo "✅ config.php 已清理敏感信息，可安全提交。\n";