<?php
require_once '../config.php';

// التحقق من تسجيل الدخول
requireLogin();

// التحقق من الصلاحيات
requirePermission('admin');

// الحصول على قائمة الفئات
$query = "SELECT * FROM categories ORDER BY name ASC";
$categories = fetchAll($query);

// معالجة إضافة فئة جديدة
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action']) && $_POST['action'] === 'add') {
    $name = sanitizeInput($_POST['name']);
    $ageMin = isset($_POST['age_min']) ? (int)$_POST['age_min'] : null;
    $ageMax = isset($_POST['age_max']) ? (int)$_POST['age_max'] : null;
    $description = sanitizeInput($_POST['description']);
    
    // التحقق من البيانات
    $errors = [];
    
    if (empty($name)) {
        $errors[] = 'اسم الفئة مطلوب';
    }
    
    // إذا لم تكن هناك أخطاء، قم بإضافة الفئة
    if (empty($errors)) {
        $query = "INSERT INTO categories (name, age_min, age_max, description, created_at) 
                  VALUES (:name, :age_min, :age_max, :description, :created_at)";
        
        $params = [
            ':name' => $name,
            ':age_min' => $ageMin,
            ':age_max' => $ageMax,
            ':description' => $description,
            ':created_at' => date('Y-m-d H:i:s')
        ];
        
        $result = executeQuery($query, $params);
        
        if ($result) {
            setAlert('success', 'تمت إضافة الفئة بنجاح');
            header('Location: ' . SITE_URL . '/settings/categories.php');
            exit;
        } else {
            setAlert('danger', 'حدث خطأ أثناء إضافة الفئة');
        }
    } else {
        $errorMessage = implode('<br>', $errors);
        setAlert('danger', $errorMessage);
    }
}

// معالجة تعديل الفئة
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['action']) && $_POST['action'] === 'edit') {
    $categoryId = (int)$_POST['category_id'];
    $name = sanitizeInput($_POST['name']);
    $ageMin = isset($_POST['age_min']) ? (int)$_POST['age_min'] : null;
    $ageMax = isset($_POST['age_max']) ? (int)$_POST['age_max'] : null;
    $description = sanitizeInput($_POST['description']);
    
    // التحقق من البيانات
    $errors = [];
    
    if (empty($name)) {
        $errors[] = 'اسم الفئة مطلوب';
    }
    
    // إذا لم تكن هناك أخطاء، قم بتحديث الفئة
    if (empty($errors)) {
        $query = "UPDATE categories SET name = :name, age_min = :age_min, age_max = :age_max, 
                  description = :description WHERE id = :id";
        
        $params = [
            ':name' => $name,
            ':age_min' => $ageMin,
            ':age_max' => $ageMax,
            ':description' => $description,
            ':id' => $categoryId
        ];
        
        $result = executeQuery($query, $params);
        
        if ($result) {
            setAlert('success', 'تم تحديث الفئة بنجاح');
            header('Location: ' . SITE_URL . '/settings/categories.php');
            exit;
        } else {
            setAlert('danger', 'حدث خطأ أثناء تحديث الفئة');
        }
    } else {
        $errorMessage = implode('<br>', $errors);
        setAlert('danger', $errorMessage);
    }
}

// عنوان الصفحة
$pageTitle = 'إدارة الفئات';

// تضمين ملف الهيدر
include '../includes/header.php';
?>

<div class="d-flex justify-content-between align-items-center mb-4">
    <h1 class="h3 mb-0"><i class="fas fa-tags me-2"></i> إدارة الفئات</h1>
    <div>
        <a href="<?php echo SITE_URL; ?>/settings/category_fees.php" class="btn btn-info me-2">
            <i class="fas fa-money-bill-wave me-1"></i> إدارة رسوم الفئات
        </a>
        <button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#addCategoryModal">
            <i class="fas fa-plus"></i> إضافة فئة جديدة
        </button>
    </div>
</div>

<div class="card">
    <div class="card-body">
        <?php if (count($categories) > 0): ?>
            <div class="table-responsive">
                <table class="table table-striped table-hover">
                    <thead>
                        <tr>
                            <th>#</th>
                            <th>اسم الفئة</th>
                            <th>الفئة العمرية</th>
                            <th>الوصف</th>
                            <th>الإجراءات</th>
                        </tr>
                    </thead>
                    <tbody>
                        <?php foreach ($categories as $index => $category): ?>
                            <tr>
                                <td><?php echo $index + 1; ?></td>
                                <td><?php echo $category['name']; ?></td>
                                <td>
                                    <?php 
                                    if ($category['age_min'] && $category['age_max']) {
                                        echo $category['age_min'] . ' - ' . $category['age_max'] . ' سنة';
                                    } elseif ($category['age_min']) {
                                        echo 'أكبر من ' . $category['age_min'] . ' سنة';
                                    } elseif ($category['age_max']) {
                                        echo 'أقل من ' . $category['age_max'] . ' سنة';
                                    } else {
                                        echo 'غير محدد';
                                    }
                                    ?>
                                </td>
                                <td><?php echo $category['description']; ?></td>
                                <td>
                                    <div class="btn-group btn-group-sm">
                                        <button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#editCategoryModal<?php echo $category['id']; ?>">
                                            <i class="fas fa-edit"></i>
                                        </button>
                                        <a href="<?php echo SITE_URL; ?>/settings/delete_category.php?id=<?php echo $category['id']; ?>" class="btn btn-danger btn-delete" onclick="return confirm('هل أنت متأكد من رغبتك في حذف هذه الفئة؟')">
                                            <i class="fas fa-trash"></i>
                                        </a>
                                    </div>
                                </td>
                            </tr>
                        <?php endforeach; ?>
                    </tbody>
                </table>
            </div>
        <?php else: ?>
            <div class="alert alert-info">
                <i class="fas fa-info-circle me-2"></i> لا توجد فئات مسجلة حاليًا.
            </div>
        <?php endif; ?>
    </div>
</div>

<!-- Modal إضافة فئة جديدة -->
<div class="modal fade" id="addCategoryModal" tabindex="-1" aria-labelledby="addCategoryModalLabel" aria-hidden="true">
    <div class="modal-dialog">
        <div class="modal-content">
            <form method="post" action="">
                <input type="hidden" name="action" value="add">
                <div class="modal-header">
                    <h5 class="modal-title" id="addCategoryModalLabel">إضافة فئة جديدة</h5>
                    <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
                </div>
                <div class="modal-body">
                    <div class="mb-3">
                        <label for="name" class="form-label">اسم الفئة <span class="text-danger">*</span></label>
                        <input type="text" class="form-control" id="name" name="name" required>
                    </div>
                    <div class="row">
                        <div class="col-md-6">
                            <div class="mb-3">
                                <label for="age_min" class="form-label">الحد الأدنى للعمر</label>
                                <input type="number" class="form-control" id="age_min" name="age_min" min="0">
                            </div>
                        </div>
                        <div class="col-md-6">
                            <div class="mb-3">
                                <label for="age_max" class="form-label">الحد الأقصى للعمر</label>
                                <input type="number" class="form-control" id="age_max" name="age_max" min="0">
                            </div>
                        </div>
                    </div>
                    <div class="mb-3">
                        <label for="description" class="form-label">الوصف</label>
                        <textarea class="form-control" id="description" name="description" rows="3"></textarea>
                    </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>

<!-- Modals تعديل الفئات -->
<?php foreach ($categories as $category): ?>
<div class="modal fade" id="editCategoryModal<?php echo $category['id']; ?>" tabindex="-1" aria-labelledby="editCategoryModalLabel<?php echo $category['id']; ?>" aria-hidden="true">
    <div class="modal-dialog">
        <div class="modal-content">
            <form method="post" action="">
                <input type="hidden" name="action" value="edit">
                <input type="hidden" name="category_id" value="<?php echo $category['id']; ?>">
                <div class="modal-header">
                    <h5 class="modal-title" id="editCategoryModalLabel<?php echo $category['id']; ?>">تعديل الفئة</h5>
                    <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
                </div>
                <div class="modal-body">
                    <div class="mb-3">
                        <label for="name<?php echo $category['id']; ?>" class="form-label">اسم الفئة <span class="text-danger">*</span></label>
                        <input type="text" class="form-control" id="name<?php echo $category['id']; ?>" name="name" value="<?php echo $category['name']; ?>" required>
                    </div>
                    <div class="row">
                        <div class="col-md-6">
                            <div class="mb-3">
                                <label for="age_min<?php echo $category['id']; ?>" class="form-label">الحد الأدنى للعمر</label>
                                <input type="number" class="form-control" id="age_min<?php echo $category['id']; ?>" name="age_min" min="0" value="<?php echo $category['age_min']; ?>">
                            </div>
                        </div>
                        <div class="col-md-6">
                            <div class="mb-3">
                                <label for="age_max<?php echo $category['id']; ?>" class="form-label">الحد الأقصى للعمر</label>
                                <input type="number" class="form-control" id="age_max<?php echo $category['id']; ?>" name="age_max" min="0" value="<?php echo $category['age_max']; ?>">
                            </div>
                        </div>
                    </div>
                    <div class="mb-3">
                        <label for="description<?php echo $category['id']; ?>" class="form-label">الوصف</label>
                        <textarea class="form-control" id="description<?php echo $category['id']; ?>" name="description" rows="3"><?php echo $category['description']; ?></textarea>
                    </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>
<?php endforeach; ?>

<?php
// تضمين ملف الفوتر
include '../includes/footer.php';
?>
