<?php
/**
 * 芋头CMS（yutoucms）
 */

$phpVersion = PHP_VERSION;
$phpOk = version_compare($phpVersion, '7.4.0', '>=');
$pdoOk = extension_loaded('pdo_mysql');
$gdOk = extension_loaded('gd');
$mbstringOk = extension_loaded('mbstring');
$curlOk = function_exists('curl_init');

$dirs = [
    'data/' => is_writable(ROOT_PATH . 'data'),
    'uploads/' => is_writable(ROOT_PATH . 'uploads'),
    'core/db/' => is_writable(ROOT_PATH . 'core/db'),
];

$canInstall = $phpOk && $pdoOk && $mbstringOk && !in_array(false, $dirs, true);
?>
<div class="step-content">
    <div class="content-head">
        <h3>环境检测</h3>
        <p>安装前请确认服务器环境满足以下条件，建议全部通过后再继续。</p>
    </div>

    <div class="panel">
        <div class="panel-title">运行环境</div>
        <table class="check-table">
            <thead>
                <tr>
                    <th>项目</th>
                    <th>要求</th>
                    <th>当前</th>
                    <th>状态</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td>PHP 版本</td>
                    <td>&gt;= 7.4</td>
                    <td><?php echo htmlspecialchars($phpVersion); ?></td>
                    <td class="<?php echo $phpOk ? 'ok' : 'error'; ?>"><?php echo $phpOk ? '通过' : '不通过'; ?></td>
                </tr>
                <tr>
                    <td>PDO MySQL</td>
                    <td>必须</td>
                    <td><?php echo $pdoOk ? '已开启' : '未开启'; ?></td>
                    <td class="<?php echo $pdoOk ? 'ok' : 'error'; ?>"><?php echo $pdoOk ? '通过' : '不通过'; ?></td>
                </tr>
                <tr>
                    <td>mbstring</td>
                    <td>必须</td>
                    <td><?php echo $mbstringOk ? '已开启' : '未开启'; ?></td>
                    <td class="<?php echo $mbstringOk ? 'ok' : 'error'; ?>"><?php echo $mbstringOk ? '通过' : '不通过'; ?></td>
                </tr>
                <tr>
                    <td>GD</td>
                    <td>建议</td>
                    <td><?php echo $gdOk ? '已开启' : '未开启'; ?></td>
                    <td class="<?php echo $gdOk ? 'ok' : 'warn'; ?>"><?php echo $gdOk ? '通过' : '建议开启'; ?></td>
                </tr>
                <tr>
                    <td>cURL</td>
                    <td>建议</td>
                    <td><?php echo $curlOk ? '已开启' : '未开启'; ?></td>
                    <td class="<?php echo $curlOk ? 'ok' : 'warn'; ?>"><?php echo $curlOk ? '通过' : '建议开启'; ?></td>
                </tr>
            </tbody>
        </table>
    </div>

    <div class="panel">
        <div class="panel-title">目录权限</div>
        <table class="check-table">
            <thead>
                <tr>
                    <th>目录</th>
                    <th>状态</th>
                </tr>
            </thead>
            <tbody>
                <?php foreach ($dirs as $dir => $writable): ?>
                <tr>
                    <td><?php echo $dir; ?></td>
                    <td class="<?php echo $writable ? 'ok' : 'error'; ?>"><?php echo $writable ? '可写' : '不可写'; ?></td>
                </tr>
                <?php endforeach; ?>
            </tbody>
        </table>
    </div>

    <div class="tip-box">
        <strong>安装说明</strong>
        <p>本安装包已包含当前测试数据快照。完成数据库配置后，系统会自动导入示例内容并初始化免费授权信息。</p>
    </div>

    <div class="btn-box">
        <?php if ($canInstall): ?>
        <a href="?step=2" class="btn btn-primary">下一步</a>
        <?php else: ?>
        <button type="button" class="btn btn-primary" onclick="location.reload()">重新检测</button>
        <?php endif; ?>
    </div>

    <?php if (!$canInstall): ?>
    <p class="error-msg">当前环境未通过检测，请先修复以上问题后再继续安装。</p>
    <?php endif; ?>
</div>
