<?php
// pages/manage_users.php
require_once __DIR__ . '/../includes/header.php';

// 1. التحقق من الصلاحية (حصرياً للسوبر أدمن)
if ($_SESSION['role'] != 'super_admin') {
    echo "<div class='alert alert-danger text-center mt-5'>عذراً، هذه الصفحة مخصصة لمدير النظام فقط.</div>";
    require_once __DIR__ . '/../includes/footer.php';
    exit;
}

$msg = "";

// 2. معالجة الطلبات (إضافة - تعديل - حذف)
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    
    // --- إضافة مستخدم جديد ---
    if (isset($_POST['action']) && $_POST['action'] == 'add_user') {
        $username = trim($_POST['username']);
        $password = $_POST['password'];
        $email = trim($_POST['email']);
        $full_name_ar = trim($_POST['full_name_ar']);
        $role = $_POST['role'];
        $staff_cat = $_POST['staff_category'];

        // التحقق من عدم تكرار اسم المستخدم
        $check = $pdo->prepare("SELECT id FROM users WHERE username = ? OR email = ?");
        $check->execute([$username, $email]);
        
        if ($check->rowCount() > 0) {
            $msg = "<div class='alert alert-danger'>خطأ: اسم المستخدم أو البريد الإلكتروني مسجل مسبقاً!</div>";
        } else {
            $hashed_pass = password_hash($password, PASSWORD_DEFAULT);
            $sql = "INSERT INTO users (username, password_hash, email, full_name_ar, full_name_en, role, staff_category) 
                    VALUES (?, ?, ?, ?, 'User', ?, ?)";
            $stmt = $pdo->prepare($sql);
            if ($stmt->execute([$username, $hashed_pass, $email, $full_name_ar, $role, $staff_cat])) {
                $msg = "<div class='alert alert-success'>تم إنشاء الحساب بنجاح!</div>";
            }
        }
    }

    // --- تعديل مستخدم ---
    if (isset($_POST['action']) && $_POST['action'] == 'edit_user') {
        $id = $_POST['user_id'];
        $full_name_ar = trim($_POST['full_name_ar']);
        $email = trim($_POST['email']);
        $role = $_POST['role'];
        $staff_cat = $_POST['staff_category'];
        $new_pass = $_POST['password'];

        // إذا تم إدخال كلمة مرور جديدة، نقوم بتحديثها
        if (!empty($new_pass)) {
            $sql = "UPDATE users SET full_name_ar = ?, email = ?, role = ?, staff_category = ?, password_hash = ? WHERE id = ?";
            $params = [$full_name_ar, $email, $role, $staff_cat, password_hash($new_pass, PASSWORD_DEFAULT), $id];
        } else {
            // تحديث البيانات فقط بدون كلمة المرور
            $sql = "UPDATE users SET full_name_ar = ?, email = ?, role = ?, staff_category = ? WHERE id = ?";
            $params = [$full_name_ar, $email, $role, $staff_cat, $id];
        }

        $stmt = $pdo->prepare($sql);
        if ($stmt->execute($params)) {
            $msg = "<div class='alert alert-success'>تم تحديث بيانات المستخدم بنجاح.</div>";
        }
    }

    // --- حذف مستخدم ---
    if (isset($_POST['action']) && $_POST['action'] == 'delete_user') {
        $id = $_POST['user_id'];
        
        if ($id == $_SESSION['id']) {
            $msg = "<div class='alert alert-danger'>لا يمكنك حذف حسابك الشخصي وأنت قيد الدخول!</div>";
        } else {
            $pdo->prepare("DELETE FROM users WHERE id = ?")->execute([$id]);
            $msg = "<div class='alert alert-success'>تم حذف المستخدم نهائياً.</div>";
        }
    }
}

// 3. جلب قائمة المستخدمين
$users = $pdo->query("SELECT * FROM users ORDER BY id DESC")->fetchAll();
?>

<div class="row mb-4 align-items-center">
    <div class="col-md-8">
        <h3 class="text-dark fw-bold"><i class="bi bi-people-fill"></i> إدارة المستخدمين والصلاحيات</h3>
        <p class="text-muted mb-0">إضافة وتعديل حسابات الموظفين وتوزيع الأدوار</p>
    </div>
    <div class="col-md-4 text-end">
        <button type="button" class="btn btn-success" data-bs-toggle="modal" data-bs-target="#addUserModal">
            <i class="bi bi-person-plus-fill"></i> إضافة مستخدم جديد
        </button>
    </div>
</div>

<?php echo $msg; ?>

<div class="card shadow-sm border-0">
    <div class="card-body p-0">
        <div class="table-responsive">
            <table class="table table-hover align-middle mb-0 text-center">
                <thead class="bg-light">
                    <tr>
                        <th class="py-3">#ID</th>
                        <th class="py-3">الاسم الكامل</th>
                        <th class="py-3">اسم المستخدم</th>
                        <th class="py-3">الدور (الصلاحية)</th>
                        <th class="py-3">فئة الموظف</th>
                        <th class="py-3">الإجراءات</th>
                    </tr>
                </thead>
                <tbody>
                    <?php if(count($users) > 0): ?>
                        <?php foreach($users as $user): 
                            // تنسيق الألوان حسب الدور (تم تحديثه ليشمل المدراء الجدد)
                            $role_badge = match($user['role']) {
                                'super_admin' => '<span class="badge bg-danger rounded-pill">مدير النظام (Admin)</span>',
                                'ceo' => '<span class="badge bg-dark rounded-pill">المدير التنفيذي</span>',
                                'purchasing' => '<span class="badge bg-primary rounded-pill">مسؤول مشتريات</span>',
                                'manager_first' => '<span class="badge bg-purple text-white rounded-pill" style="background-color: #6f42c1;">مدير الفريق الأول</span>',
                                'manager_youth' => '<span class="badge bg-success rounded-pill">مدير المراحل السنية</span>',
                                'requester' => '<span class="badge bg-secondary rounded-pill">مستخدم / مدرب</span>',
                                default => '<span class="badge bg-light text-dark border">'.$user['role'].'</span>'
                            };
                        ?>
                        <tr>
                            <td><?php echo $user['id']; ?></td>
                            <td class="fw-bold"><?php echo $user['full_name_ar']; ?></td>
                            <td><?php echo $user['username']; ?></td>
                            <td><?php echo $role_badge; ?></td>
                            <td><?php echo $user['staff_category']; ?></td>
                            <td>
                                <button class="btn btn-sm btn-outline-primary edit-btn mx-1" 
                                    data-id="<?php echo $user['id']; ?>"
                                    data-name="<?php echo $user['full_name_ar']; ?>"
                                    data-email="<?php echo $user['email']; ?>"
                                    data-username="<?php echo $user['username']; ?>"
                                    data-role="<?php echo $user['role']; ?>"
                                    data-cat="<?php echo $user['staff_category']; ?>"
                                    data-bs-toggle="modal" data-bs-target="#editUserModal">
                                    <i class="bi bi-pencil-square"></i> تعديل
                                </button>

                                <?php if($user['id'] != $_SESSION['id']): ?>
                                <form method="POST" class="d-inline" onsubmit="return confirm('هل أنت متأكد من حذف المستخدم (<?php echo $user['full_name_ar']; ?>)؟ لا يمكن التراجع عن هذا الإجراء.');">
                                    <input type="hidden" name="action" value="delete_user">
                                    <input type="hidden" name="user_id" value="<?php echo $user['id']; ?>">
                                    <button type="submit" class="btn btn-sm btn-outline-danger mx-1"><i class="bi bi-trash"></i></button>
                                </form>
                                <?php endif; ?>
                            </td>
                        </tr>
                        <?php endforeach; ?>
                    <?php else: ?>
                        <tr>
                            <td colspan="6" class="text-center py-5 text-muted">لا يوجد مستخدمين مسجلين حالياً.</td>
                        </tr>
                    <?php endif; ?>
                </tbody>
            </table>
        </div>
    </div>
</div>

<div class="modal fade" id="addUserModal" tabindex="-1">
    <div class="modal-dialog">
        <div class="modal-content">
            <form method="POST">
                <input type="hidden" name="action" value="add_user">
                <div class="modal-header bg-success text-white">
                    <h5 class="modal-title fw-bold"><i class="bi bi-person-plus"></i> إضافة مستخدم جديد</h5>
                    <button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
                </div>
                <div class="modal-body">
                    <div class="mb-3">
                        <label class="form-label">الاسم الكامل (عربي)</label>
                        <input type="text" name="full_name_ar" class="form-control" required placeholder="مثال: محمد أحمد">
                    </div>
                    <div class="row">
                        <div class="col-md-6 mb-3">
                            <label class="form-label">اسم المستخدم (للدخول)</label>
                            <input type="text" name="username" class="form-control" required placeholder="username">
                        </div>
                        <div class="col-md-6 mb-3">
                            <label class="form-label">البريد الإلكتروني</label>
                            <input type="email" name="email" class="form-control" required placeholder="name@club.ae">
                        </div>
                    </div>
                    <div class="mb-3">
                        <label class="form-label">كلمة المرور</label>
                        <input type="password" name="password" class="form-control" required>
                    </div>
                    <div class="row">
                        <div class="col-md-6 mb-3">
                            <label class="form-label fw-bold text-primary">الصلاحية (Role)</label>
                            <select name="role" class="form-select">
                                <option value="requester">مستخدم عادي / مدرب (Requester)</option>
                                <option value="purchasing">مسؤول مشتريات (Purchasing)</option>
                                <option value="manager_first">مدير إدارة الفريق الأول</option>
                                <option value="manager_youth">مدير إدارة المراحل السنية</option>
                                <option value="accountant">محاسب / مدير مالي</option>
                                <option value="ceo">مدير تنفيذي (CEO)</option>
                                <option value="super_admin">مدير النظام (Super Admin)</option>
                            </select>
                        </div>
                        <div class="col-md-6 mb-3">
                            <label class="form-label">فئة الموظف</label>
                            <select name="staff_category" class="form-select">
                                <option value="admin_staff">موظف إداري</option>
                                <option value="sports">كادر رياضي / مدرب</option>
                                <option value="management">إدارة عليا</option>
                            </select>
                        </div>
                    </div>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">إلغاء</button>
                    <button type="submit" class="btn btn-success">حفظ المستخدم</button>
                </div>
            </form>
        </div>
    </div>
</div>

<div class="modal fade" id="editUserModal" tabindex="-1">
    <div class="modal-dialog">
        <div class="modal-content">
            <form method="POST">
                <input type="hidden" name="action" value="edit_user">
                <input type="hidden" name="user_id" id="edit_user_id">
                
                <div class="modal-header bg-primary text-white">
                    <h5 class="modal-title fw-bold"><i class="bi bi-pencil-square"></i> تعديل بيانات: <span id="edit_username_display"></span></h5>
                    <button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
                </div>
                <div class="modal-body">
                    <div class="mb-3">
                        <label class="form-label">الاسم الكامل (عربي)</label>
                        <input type="text" name="full_name_ar" id="edit_full_name" class="form-control" required>
                    </div>
                    <div class="mb-3">
                        <label class="form-label">البريد الإلكتروني</label>
                        <input type="email" name="email" id="edit_email" class="form-control" required>
                    </div>
                    <div class="mb-3 bg-light p-3 rounded border">
                        <label class="form-label text-danger fw-bold">تغيير كلمة المرور (اختياري)</label>
                        <input type="password" name="password" class="form-control" placeholder="اتركها فارغة إذا لا تريد التغيير">
                    </div>
                    <div class="row">
                        <div class="col-md-6 mb-3">
                            <label class="form-label fw-bold text-primary">الصلاحية (Role)</label>
                            <select name="role" id="edit_role" class="form-select">
                                <option value="requester">مستخدم عادي / مدرب (Requester)</option>
                                <option value="purchasing">مسؤول مشتريات (Purchasing)</option>
                                <option value="manager_first">مدير إدارة الفريق الأول</option>
                                <option value="manager_youth">مدير إدارة المراحل السنية</option>
                                
                                <option value="ceo">مدير تنفيذي (CEO)</option>
                                <option value="super_admin">مدير النظام (Super Admin)</option>
                            </select>
                        </div>
                        <div class="col-md-6 mb-3">
                            <label class="form-label">فئة الموظف</label>
                            <select name="staff_category" id="edit_cat" class="form-select">
                                <option value="admin_staff">موظف إداري</option>
                                <option value="sports">كادر رياضي / مدرب</option>
                                <option value="management">إدارة عليا</option>
                            </select>
                        </div>
                    </div>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">إلغاء</button>
                    <button type="submit" class="btn btn-primary">حفظ التعديلات</button>
                </div>
            </form>
        </div>
    </div>
</div>

<script>
    document.addEventListener("DOMContentLoaded", function() {
        const editButtons = document.querySelectorAll('.edit-btn');
        editButtons.forEach(button => {
            button.addEventListener('click', function() {
                // نقل البيانات من الزر إلى داخل المودال
                document.getElementById('edit_user_id').value = this.getAttribute('data-id');
                document.getElementById('edit_username_display').textContent = this.getAttribute('data-username');
                document.getElementById('edit_full_name').value = this.getAttribute('data-name');
                document.getElementById('edit_email').value = this.getAttribute('data-email');
                document.getElementById('edit_role').value = this.getAttribute('data-role');
                document.getElementById('edit_cat').value = this.getAttribute('data-cat');
            });
        });
    });
</script>

<?php require_once __DIR__ . '/../includes/footer.php'; ?>