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

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

// تحقق من وجود جدول الأنشطة
$tableExists = false;
try {
    $query = "SELECT name FROM sqlite_master WHERE type='table' AND name='events'";
    $result = fetchOne($query);
    $tableExists = !empty($result);
} catch (Exception $e) {
    $tableExists = false;
}

// إذا لم يكن الجدول موجودًا، قم بتحويل المستخدم إلى صفحة الإعداد
if (!$tableExists) {
    setAlert('info', 'يجب إعداد قاعدة بيانات الأنشطة أولاً');
    header('Location: ' . SITE_URL . '/events/setup.php');
    exit;
}

// معالجة الفلترة
$filters = [];
$params = [];
$whereClause = "WHERE 1=1";

// فلترة حسب الحالة
$status = isset($_GET['status']) ? sanitizeInput($_GET['status']) : 'all';
if ($status !== 'all') {
    $whereClause .= " AND events.status = :status";
    $params[':status'] = $status;
    $filters['status'] = $status;
}

// فلترة حسب الفئة
$categoryId = isset($_GET['category_id']) ? (int)$_GET['category_id'] : 0;
if ($categoryId > 0) {
    $whereClause .= " AND events.category_id = :category_id";
    $params[':category_id'] = $categoryId;
    $filters['category_id'] = $categoryId;
}

// فلترة حسب التاريخ
$startDate = isset($_GET['start_date']) ? sanitizeInput($_GET['start_date']) : '';
if (!empty($startDate)) {
    $whereClause .= " AND events.start_date >= :start_date";
    $params[':start_date'] = $startDate;
    $filters['start_date'] = $startDate;
}

$endDate = isset($_GET['end_date']) ? sanitizeInput($_GET['end_date']) : '';
if (!empty($endDate)) {
    $whereClause .= " AND events.start_date <= :end_date";
    $params[':end_date'] = $endDate;
    $filters['end_date'] = $endDate;
}

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

// الحصول على قائمة الأنشطة
$query = "SELECT events.*, categories.name as category_name, 
          (SELECT COUNT(*) FROM event_participants WHERE event_id = events.id) as participant_count 
          FROM events 
          LEFT JOIN categories ON events.category_id = categories.id 
          $whereClause 
          ORDER BY events.start_date DESC, events.start_time DESC";

$events = fetchAll($query, $params);

// عنوان الصفحة
$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-calendar-day me-2"></i> إدارة الأنشطة والفعاليات</h1>
    <div>
        <?php if (hasPermission('admin')): ?>
        <a href="<?php echo SITE_URL; ?>/events/add.php" class="btn btn-primary">
            <i class="fas fa-plus"></i> إضافة نشاط جديد
        </a>
        <?php endif; ?>
    </div>
</div>

<!-- بطاقة الفلترة -->
<div class="card mb-4">
    <div class="card-header bg-light">
        <h5 class="mb-0"><i class="fas fa-filter me-2"></i> فلترة الأنشطة</h5>
    </div>
    <div class="card-body">
        <form method="get" action="">
            <div class="row">
                <div class="col-md-3 mb-3">
                    <label for="status" class="form-label">الحالة</label>
                    <select class="form-select" id="status" name="status">
                        <option value="all" <?php echo ($status === 'all') ? 'selected' : ''; ?>>جميع الحالات</option>
                        <option value="upcoming" <?php echo ($status === 'upcoming') ? 'selected' : ''; ?>>قادم</option>
                        <option value="ongoing" <?php echo ($status === 'ongoing') ? 'selected' : ''; ?>>جاري</option>
                        <option value="completed" <?php echo ($status === 'completed') ? 'selected' : ''; ?>>مكتمل</option>
                        <option value="cancelled" <?php echo ($status === 'cancelled') ? 'selected' : ''; ?>>ملغي</option>
                    </select>
                </div>
                <div class="col-md-3 mb-3">
                    <label for="category_id" class="form-label">الفئة</label>
                    <select class="form-select" id="category_id" name="category_id">
                        <option value="0" <?php echo ($categoryId === 0) ? 'selected' : ''; ?>>جميع الفئات</option>
                        <?php foreach ($categories as $category): ?>
                            <option value="<?php echo $category['id']; ?>" <?php echo ($categoryId === (int)$category['id']) ? 'selected' : ''; ?>>
                                <?php echo $category['name']; ?>
                            </option>
                        <?php endforeach; ?>
                    </select>
                </div>
                <div class="col-md-3 mb-3">
                    <label for="start_date" class="form-label">من تاريخ</label>
                    <input type="date" class="form-control" id="start_date" name="start_date" value="<?php echo $startDate; ?>">
                </div>
                <div class="col-md-3 mb-3">
                    <label for="end_date" class="form-label">إلى تاريخ</label>
                    <input type="date" class="form-control" id="end_date" name="end_date" value="<?php echo $endDate; ?>">
                </div>
            </div>
            <div class="d-flex justify-content-between">
                <button type="submit" class="btn btn-primary">
                    <i class="fas fa-search me-1"></i> بحث
                </button>
                <a href="<?php echo SITE_URL; ?>/events/index.php" class="btn btn-secondary">
                    <i class="fas fa-redo me-1"></i> إعادة تعيين
                </a>
            </div>
        </form>
    </div>
</div>

<!-- بطاقة قائمة الأنشطة -->
<div class="card">
    <div class="card-body">
        <?php if (count($events) > 0): ?>
            <div class="table-responsive">
                <table class="table table-striped table-hover">
                    <thead>
                        <tr>
                            <th>#</th>
                            <th>العنوان</th>
                            <th>التاريخ</th>
                            <th>الفئة</th>
                            <th>الحالة</th>
                            <th>المشاركون</th>
                            <th>الإجراءات</th>
                        </tr>
                    </thead>
                    <tbody>
                        <?php foreach ($events as $index => $event): ?>
                            <tr>
                                <td><?php echo $index + 1; ?></td>
                                <td><?php echo $event['title']; ?></td>
                                <td>
                                    <?php 
                                    echo formatDate($event['start_date']);
                                    if (!empty($event['end_date']) && $event['end_date'] != $event['start_date']) {
                                        echo ' - ' . formatDate($event['end_date']);
                                    }
                                    
                                    if (!empty($event['start_time'])) {
                                        echo '<br><small class="text-muted">' . $event['start_time'];
                                        if (!empty($event['end_time'])) {
                                            echo ' - ' . $event['end_time'];
                                        }
                                        echo '</small>';
                                    }
                                    ?>
                                </td>
                                <td>
                                    <?php echo !empty($event['category_name']) ? $event['category_name'] : '<span class="text-muted">-</span>'; ?>
                                </td>
                                <td>
                                    <?php 
                                    switch ($event['status']) {
                                        case 'upcoming':
                                            echo '<span class="badge bg-primary">قادم</span>';
                                            break;
                                        case 'ongoing':
                                            echo '<span class="badge bg-success">جاري</span>';
                                            break;
                                        case 'completed':
                                            echo '<span class="badge bg-secondary">مكتمل</span>';
                                            break;
                                        case 'cancelled':
                                            echo '<span class="badge bg-danger">ملغي</span>';
                                            break;
                                        default:
                                            echo '<span class="badge bg-light text-dark">غير محدد</span>';
                                    }
                                    ?>
                                </td>
                                <td>
                                    <span class="badge bg-info"><?php echo $event['participant_count']; ?></span>
                                    <?php if ($event['max_participants'] > 0): ?>
                                        <small class="text-muted">/ <?php echo $event['max_participants']; ?></small>
                                    <?php endif; ?>
                                </td>
                                <td>
                                    <div class="btn-group btn-group-sm">
                                        <a href="<?php echo SITE_URL; ?>/events/view.php?id=<?php echo $event['id']; ?>" class="btn btn-info" title="عرض التفاصيل">
                                            <i class="fas fa-eye"></i>
                                        </a>
                                        <?php if (hasPermission('admin')): ?>
                                        <a href="<?php echo SITE_URL; ?>/events/edit.php?id=<?php echo $event['id']; ?>" class="btn btn-primary" title="تعديل">
                                            <i class="fas fa-edit"></i>
                                        </a>
                                        <a href="<?php echo SITE_URL; ?>/events/participants.php?event_id=<?php echo $event['id']; ?>" class="btn btn-warning" title="المشاركون">
                                            <i class="fas fa-users"></i>
                                        </a>
                                        <a href="<?php echo SITE_URL; ?>/events/delete.php?id=<?php echo $event['id']; ?>" class="btn btn-danger" title="حذف" onclick="return confirm('هل أنت متأكد من رغبتك في حذف هذا النشاط؟')">
                                            <i class="fas fa-trash"></i>
                                        </a>
                                        <?php endif; ?>
                                    </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>

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