<?php
/**
 * اسکریپت اصلاح رمز عبور ادمین
 * این فایل را اجرا کنید تا رمز عبور ادمین با SALT صحیح به‌روزرسانی شود
 */

require_once 'config.php';

echo "<!DOCTYPE html>
<html lang='fa' dir='rtl'>
<head>
    <meta charset='UTF-8'>
    <meta name='viewport' content='width=device-width, initial-scale=1.0'>
    <title>اصلاح رمز عبور ادمین</title>
    <link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
    <style>
        body { padding: 20px; background: #f5f7fa; }
        .card { max-width: 600px; margin: 0 auto; }
    </style>
</head>
<body>
    <div class='container'>
        <div class='card'>
            <div class='card-header bg-primary text-white'>
                <h4>اصلاح رمز عبور ادمین</h4>
            </div>
            <div class='card-body'>";

try {
    // بررسی اتصال به دیتابیس
    $checkDb = $pdo->query("SELECT DATABASE()")->fetchColumn();
    echo "<div class='alert alert-success'>✓ اتصال به دیتابیس موفق: $checkDb</div>";
    
    // بررسی وجود جدول admins
    $tableExists = $pdo->query("SHOW TABLES LIKE 'admins'")->rowCount() > 0;
    if (!$tableExists) {
        throw new Exception("جدول admins یافت نشد! لطفاً ابتدا دیتابیس را import کنید.");
    }
    
    // تولید هش جدید با SALT صحیح
    $adminPassword = 'admin123';
    $hashedPassword = hashPassword($adminPassword);
    
    echo "<div class='alert alert-info'>";
    echo "<strong>SALT فعلی:</strong> " . SALT . "<br>";
    echo "<strong>رمز عبور:</strong> admin123<br>";
    echo "<strong>هش جدید:</strong> <code>" . htmlspecialchars($hashedPassword) . "</code>";
    echo "</div>";
    
    // بررسی وجود ادمین
    $adminExists = $pdo->query("SELECT COUNT(*) FROM admins WHERE username = 'admin'")->fetchColumn();
    
    if ($adminExists > 0) {
        // به‌روزرسانی رمز عبور
        $stmt = $pdo->prepare("UPDATE admins SET password = ? WHERE username = 'admin'");
        $stmt->execute([$hashedPassword]);
        
        echo "<div class='alert alert-success'>";
        echo "<strong>✓ رمز عبور ادمین با موفقیت به‌روزرسانی شد!</strong><br><br>";
        echo "اطلاعات ورود:<br>";
        echo "<strong>نام کاربری:</strong> admin<br>";
        echo "<strong>رمز عبور:</strong> admin123<br><br>";
        echo "<a href='login.php' class='btn btn-primary'>ورود به سیستم</a>";
        echo "</div>";
        
        // تست رمز عبور
        $testResult = verifyPassword($adminPassword, $hashedPassword);
        if ($testResult) {
            echo "<div class='alert alert-success'>✓ تست رمز عبور موفق بود!</div>";
        } else {
            echo "<div class='alert alert-danger'>✗ تست رمز عبور ناموفق بود! ممکن است SALT تغییر کرده باشد.</div>";
        }
        
    } else {
        // ایجاد ادمین جدید
        $stmt = $pdo->prepare("INSERT INTO admins (username, password) VALUES (?, ?)");
        $stmt->execute(['admin', $hashedPassword]);
        
        echo "<div class='alert alert-success'>";
        echo "<strong>✓ ادمین جدید ایجاد شد!</strong><br><br>";
        echo "اطلاعات ورود:<br>";
        echo "<strong>نام کاربری:</strong> admin<br>";
        echo "<strong>رمز عبور:</strong> admin123<br><br>";
        echo "<a href='login.php' class='btn btn-primary'>ورود به سیستم</a>";
        echo "</div>";
    }
    
} catch (Exception $e) {
    echo "<div class='alert alert-danger'>";
    echo "<strong>✗ خطا:</strong><br>";
    echo htmlspecialchars($e->getMessage());
    echo "</div>";
    
    echo "<div class='alert alert-info mt-3'>";
    echo "<strong>راهنمای عیب‌یابی:</strong><br>";
    echo "1. مطمئن شوید دیتابیس import شده است<br>";
    echo "2. تنظیمات config.php را بررسی کنید<br>";
    echo "3. از generate_password.php برای تولید هش استفاده کنید";
    echo "</div>";
}

echo "
            </div>
        </div>
    </div>
</body>
</html>";
?>
