<?php
session_start();
require_once 'db_connect.php';

// التحقق من تسجيل الدخول
if (!isset($_SESSION['user_id'])) {
    header("Location: index.php");
    exit();
}

$user_id = $_SESSION['user_id'];
$message = '';
$message_type = '';
$debug_info = '';
$activation_data = ['hdd_serial' => '', 'activation_code' => '', 'status' => 'not_activated']; // قيمة افتراضية

// توليد رمز التفعيل بناءً على hdd_serial
function generateActivationCode($hdd_serial) {
    // استخدام نفس الخوارزمية المستخدمة في generate_activation_code.php
    $secret_key = 'your_secret_key'; // نفس المفتاح السري المستخدم في generate_activation_code.php
    $hash = md5($hdd_serial . $secret_key); // استخدام md5 بدلاً من sha1
    $activation_code = strtoupper(substr($hash, 0, 12));
    return $activation_code;
}

try {
    // جلب بيانات التفعيل الحالية للمستخدم
    $stmt = $conn->prepare("SELECT hdd_serial, activation_code, status FROM activation WHERE user_id = :user_id LIMIT 1");
    $stmt->execute([':user_id' => $user_id]);
    $activation_data = $stmt->fetch(PDO::FETCH_ASSOC);

    if (!$activation_data) {
        // إذا لم يكن هناك سجل، قم بإنشاء واحد
        $stmt = $conn->prepare("INSERT INTO activation (user_id, hdd_serial, activation_code, status, created_at) VALUES (:user_id, '', '', 'not_activated', NOW())");
        $stmt->execute([':user_id' => $user_id]);
        $activation_data = ['hdd_serial' => '', 'activation_code' => '', 'status' => 'not_activated'];
    }

    // التحقق من حالة التفعيل
    if ($activation_data['status'] === 'activated') {
        $message = "النسخة مفعلة بالفعل! يمكنك استخدام النظام بكامل المزايا.";
        $message_type = "success";
    } elseif ($_SERVER['REQUEST_METHOD'] === 'POST') {
        $hdd_serial = trim($_POST['hdd_serial'] ?? '');
        $entered_code = trim($_POST['activation_code'] ?? '');

        if (empty($hdd_serial) || empty($entered_code)) {
            $message = "يرجى إدخال جميع الحقول.";
            $message_type = "danger";
        } else {
            // توليد رمز التفعيل المتوقع بناءً على hdd_serial
            $expected_code = generateActivationCode($hdd_serial);

            // معلومات التصحيح: عرض الرمز المتوقع
            $debug_info = "الرمز المتوقع: $expected_code<br>الرمز المدخل: $entered_code";

            // مقارنة الرمز المدخل مع الرمز المتوقع
            if ($entered_code === $expected_code) {
                // تحديث حالة التفعيل في قاعدة البيانات
                $stmt = $conn->prepare("UPDATE activation SET hdd_serial = :hdd_serial, activation_code = :activation_code, status = 'activated', activated_at = NOW() WHERE user_id = :user_id");
                $stmt->execute([
                    ':hdd_serial' => $hdd_serial,
                    ':activation_code' => $entered_code,
                    ':user_id' => $user_id
                ]);
                $message = "تم تفعيل النسخة بنجاح!";
                $message_type = "success";
            } else {
                $message = "رمز التفعيل غير صحيح.";
                $message_type = "danger";
            }
        }
    }
} catch (PDOException $e) {
    error_log("Error in activation.php: " . $e->getMessage());
    $message = "حدث خطأ أثناء معالجة التفعيل: " . htmlspecialchars($e->getMessage());
    $message_type = "danger";
}
?>

<!DOCTYPE html>
<html lang="ar">
<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">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
    <style>
        body {
            margin: 0;
            padding: 0;
            height: 100vh;
            overflow: hidden;
            direction: rtl;
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            background: linear-gradient(135deg, #4169E1, #87CEEB);
            position: relative;
        }
        .container {
            position: relative;
            z-index: 1;
            max-width: 500px;
            margin: 0 auto;
            padding: 40px;
            background: rgba(255, 255, 255, 0.95);
            border-radius: 25px;
            box-shadow: 0 10px 30px rgba(65, 105, 225, 0.4);
            top: 50%;
            transform: translateY(-50%);
        }
        .form-control {
            border-radius: 25px;
            padding: 12px 20px;
            border: 2px solid #4169E1;
        }
        .btn-primary {
            background: linear-gradient(45deg, #4169E1, #2ECC71);
            border: none;
            border-radius: 25px;
            padding: 12px 30px;
            font-weight: bold;
        }
        .debug-info {
            background: #f8f9fa;
            border: 1px solid #dee2e6;
            padding: 10px;
            border-radius: 5px;
            margin-top: 10px;
            font-size: 0.9rem;
            color: #6c757d;
        }
    </style>
</head>
<body>
    <div class="container">
        <h2 class="text-center mb-4">تفعيل النسخة</h2>

        <?php if ($message): ?>
            <div class="alert alert-<?php echo $message_type; ?> text-center">
                <?php echo $message; ?>
            </div>
        <?php endif; ?>

        <?php if ($debug_info): ?>
            <div class="debug-info text-center">
                <?php echo $debug_info; ?>
            </div>
        <?php endif; ?>

        <?php if (isset($activation_data) && $activation_data['status'] !== 'activated'): ?>
            <form method="POST">
                <div class="mb-3">
                    <label for="hdd_serial" class="form-label">رقم التسلسل (HDD Serial)</label>
                    <input type="text" class="form-control" id="hdd_serial" name="hdd_serial" value="<?php echo htmlspecialchars($activation_data['hdd_serial'] ?? ''); ?>" required>
                </div>
                <div class="mb-3">
                    <label for="activation_code" class="form-label">رمز التفعيل</label>
                    <input type="text" class="form-control" id="activation_code" name="activation_code" required>
                </div>
                <button type="submit" class="btn btn-primary w-100">تفعيل</button>
            </form>
        <?php endif; ?>

        <div class="text-center mt-3">
            <a href="dashboard.php" class="btn btn-secondary">العودة إلى لوحة التحكم</a>
        </div>
    </div>
</body>
</html>