<?php
// Dashboard/change_password.php
require_once "guard.php"; // استدعاء ملف الحماية الموحد

$error = $success = "";

if ($_SERVER["REQUEST_METHOD"] === "POST") {
    $current_pass = $_POST['current_password'];
    $new_pass = $_POST['new_password'];
    $confirm_pass = $_POST['confirm_password'];

    // 1. التحقق من تطابق كلمتي السر الجديدتين
    if ($new_pass !== $confirm_pass) {
        $error = "كلمتا المرور الجديدتان غير متطابقتين.";
    } elseif (strlen($new_pass) < 5) {
        $error = "يجب أن تكون كلمة المرور الجديدة 5 أحرف على الأقل.";
    } else {
        // 2. التحقق من كلمة السر الحالية من قاعدة البيانات
        $stmt = $conn->prepare("SELECT password FROM users WHERE id = ?");
        $stmt->execute([$_SESSION['admin_id']]);
        $user = $stmt->fetch();

        if ($user && password_verify($current_pass, $user['password'])) {
            // 3. التحديث: تشفير الكلمة الجديدة وزيادة إصدار الجلسة (للطرد)
            $hashed_new = password_hash($new_pass, PASSWORD_DEFAULT);
            
            $update = $conn->prepare("UPDATE users SET password = ?, session_version = session_version + 1 WHERE id = ?");
            if ($update->execute([$hashed_new, $_SESSION['admin_id']])) {
                
                // 4. تحديث الجلسة الحالية للمدير لكي لا يتم طرده هو أيضاً
                $_SESSION['password_hash'] = $hashed_new;
                $stmt = $conn->prepare("SELECT session_version FROM users WHERE id = ?");
                $stmt->execute([$_SESSION['admin_id']]);
                $_SESSION['session_version'] = $stmt->fetchColumn();

                $success = "تم تحديث كلمة المرور بنجاح، وتم إنهاء جميع الجلسات النشطة الأخرى.";
            }
        } else {
            $error = "كلمة المرور الحالية غير صحيحة.";
        }
    }
}
?>

<!DOCTYPE html>
<html lang="ar" dir="rtl">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>إعدادات الأمان - تغيير كلمة المرور</title>
    <link href="https://fonts.googleapis.com/css2?family=Tajawal:wght@400;700&display=swap" rel="stylesheet">
    <style>
        :root {
            --primary-color: #4361ee;
            --error-color: #ef233c;
            --success-color: #38b000;
            --bg-color: #f8f9fa;
        }

        body {
            font-family: 'Tajawal', sans-serif;
            background-color: var(--bg-color);
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100vh;
            margin: 0;
        }

        .card {
            background: #fff;
            padding: 2rem;
            border-radius: 15px;
            box-shadow: 0 10px 25px rgba(0,0,0,0.1);
            width: 100%;
            max-width: 400px;
        }

        .card h2 {
            text-align: center;
            color: #333;
            margin-bottom: 1.5rem;
        }

        .form-group {
            margin-bottom: 1.2rem;
        }

        .form-group label {
            display: block;
            margin-bottom: 0.5rem;
            color: #666;
            font-weight: bold;
        }

        .form-group input {
            width: 100%;
            padding: 12px;
            border: 2px solid #ddd;
            border-radius: 8px;
            box-sizing: border-box;
            transition: border-color 0.3s ease;
        }

        .form-group input:focus {
            border-color: var(--primary-color);
            outline: none;
        }

        .btn-submit {
            width: 100%;
            padding: 12px;
            background-color: var(--primary-color);
            color: white;
            border: none;
            border-radius: 8px;
            font-size: 1rem;
            font-weight: bold;
            cursor: pointer;
            transition: background 0.3s ease;
        }

        .btn-submit:hover {
            background-color: #3046bc;
        }

        .alert {
            padding: 10px;
            border-radius: 8px;
            margin-bottom: 1rem;
            font-size: 0.9rem;
            text-align: center;
        }

        .alert-error { background: #fee2e2; color: var(--error-color); border: 1px solid #fecaca; }
        .alert-success { background: #dcfce7; color: var(--success-color); border: 1px solid #bbf7d0; }

        .footer-link {
            text-align: center;
            margin-top: 1rem;
        }

        .footer-link a {
            color: var(--primary-color);
            text-decoration: none;
            font-size: 0.9rem;
        }
    </style>
</head>
<body>

<div class="card">
    <h2>تغيير كلمة المرور</h2>

    <?php if ($error): ?>
        <div class="alert alert-error"><?php echo $error; ?></div>
    <?php endif; ?>

    <?php if ($success): ?>
        <div class="alert alert-success"><?php echo $success; ?></div>
    <?php endif; ?>

    <form method="POST" action="">
        <div class="form-group">
            <label>كلمة المرور الحالية</label>
            <input type="password" name="current_password" required placeholder="********">
        </div>

        <hr style="border: 0; border-top: 1px solid #eee; margin: 20px 0;">

        <div class="form-group">
            <label>كلمة المرور الجديدة</label>
            <input type="password" name="new_password" required placeholder="********">
        </div>

        <div class="form-group">
            <label>تأكيد كلمة المرور الجديدة</label>
            <input type="password" name="confirm_password" required placeholder="********">
        </div>

        <button type="submit" class="btn-submit">تحديث وطرّد الأجهزة الأخرى</button>
    </form>

    <div class="footer-link">
        <a href="/agairm/Dashboardlist.php">← العودة للوحة التحكم</a>
    </div>
</div>

</body>
</html>