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

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

// التحقق من وجود معرف النشاط
if (!isset($_GET['event_id']) || empty($_GET['event_id'])) {
    setAlert('danger', 'معرف النشاط غير صحيح');
    header('Location: ' . SITE_URL . '/events/index.php');
    exit;
}

$eventId = (int)$_GET['event_id'];

// الحصول على بيانات النشاط
$query = "SELECT * FROM events WHERE id = :id";
$event = fetchOne($query, [':id' => $eventId]);

// التحقق من وجود النشاط
if (!$event) {
    setAlert('danger', 'النشاط غير موجود');
    header('Location: ' . SITE_URL . '/events/index.php');
    exit;
}

// معالجة حذف المشارك
if (isset($_GET['action']) && $_GET['action'] === 'delete' && isset($_GET['participant_id']) && !empty($_GET['participant_id'])) {
    // التحقق من صلاحيات المدير
    requirePermission('admin');
    
    $participantId = (int)$_GET['participant_id'];
    
    // حذف المشارك
    $query = "DELETE FROM event_participants WHERE id = :id AND event_id = :event_id";
    $result = delete($query, [':id' => $participantId, ':event_id' => $eventId]);
    
    if ($result) {
        setAlert('success', 'تم حذف المشارك بنجاح');
    } else {
        setAlert('danger', 'حدث خطأ أثناء حذف المشارك');
    }
    
    // إعادة التوجيه لتجنب إعادة الحذف عند تحديث الصفحة
    header('Location: ' . SITE_URL . '/events/participants.php?event_id=' . $eventId);
    exit;
}

// البحث والتصفية
$searchTerm = isset($_GET['search']) ? sanitizeInput($_GET['search']) : '';
$registrationDateFrom = isset($_GET['date_from']) ? sanitizeInput($_GET['date_from']) : '';
$registrationDateTo = isset($_GET['date_to']) ? sanitizeInput($_GET['date_to']) : '';

// بناء استعلام الحصول على المشاركين
$query = "SELECT ep.*, m.first_name, m.last_name, m.email, m.phone, m.photo 
          FROM event_participants ep 
          JOIN members m ON ep.member_id = m.id 
          WHERE ep.event_id = :event_id";
$params = [':event_id' => $eventId];

// إضافة شروط البحث
if (!empty($searchTerm)) {
    $query .= " AND (m.first_name LIKE :search OR m.last_name LIKE :search OR m.email LIKE :search OR m.phone LIKE :search)";
    $params[':search'] = "%$searchTerm%";
}

if (!empty($registrationDateFrom)) {
    $query .= " AND ep.registration_date >= :date_from";
    $params[':date_from'] = $registrationDateFrom;
}

if (!empty($registrationDateTo)) {
    $query .= " AND ep.registration_date <= :date_to";
    $params[':date_to'] = $registrationDateTo;
}

// ترتيب النتائج
$query .= " ORDER BY ep.registration_date DESC";

// تنفيذ الاستعلام
$participants = fetchAll($query, $params);

// الحصول على عدد المشاركين الإجمالي
$query = "SELECT COUNT(*) as count FROM event_participants WHERE event_id = :event_id";
$participantCount = fetchOne($query, [':event_id' => $eventId]);

// عنوان الصفحة
$pageTitle = 'إدارة المشاركين في النشاط: ' . $event['title'];

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

<style>
/* Styles pour l'impression */
@media print {
    /* Cacher les éléments qui ne doivent pas être imprimés */
    header, 
    .navbar,
    .sidebar,
    footer,
    .btn,
    form,
    .d-flex.justify-content-between.align-items-center,
    .card-body form,
    .dropdown,
    #printBtn,
    .card-header .dropdown,
    .actions-column,
    .row.mb-4 {
        display: none !important;
    }
    
    /* Assurer que le tableau occupe toute la largeur disponible */
    .table-responsive {
        overflow: visible !important;
    }
    
    /* Styles pour le tableau */
    .table {
        width: 100% !important;
        page-break-inside: auto !important;
    }
    
    /* Éviter les sauts de page au milieu des lignes */
    .table tr {
        page-break-inside: avoid !important;
    }
    
    /* Afficher le titre de la page */
    .card-body {
        border: none !important;
    }
    
    /* Afficher le titre de l'événement en haut de la page */
    .print-header {
        display: block !important;
        text-align: center;
        margin-bottom: 20px;
        font-size: 18pt;
    }
    
    /* Masquer la colonne des actions */
    .table th:last-child, 
    .table td:last-child {
        display: none !important;
    }
}

.print-header {
    display: none;
}
</style>

<div class="d-flex justify-content-between align-items-center mb-4">
    <h1 class="h3 mb-0"><i class="fas fa-users me-2"></i> المشاركون في النشاط: <?php echo $event['title']; ?></h1>
    <div>
        <a href="<?php echo SITE_URL; ?>/events/view.php?id=<?php echo $event['id']; ?>" class="btn btn-secondary me-2">
            <i class="fas fa-arrow-right"></i> العودة إلى تفاصيل النشاط
        </a>
        <?php if ($event['status'] === 'upcoming' || $event['status'] === 'ongoing' || $event['status'] === 'scheduled'): ?>
        <a href="<?php echo SITE_URL; ?>/events/register.php?event_id=<?php echo $event['id']; ?>" class="btn btn-success">
            <i class="fas fa-user-plus"></i> إضافة مشارك جديد
        </a>
        <?php endif; ?>
        <?php if (count($participants) > 0): ?>
        <button id="printBtn" class="btn btn-outline-primary ms-2">
            <i class="fas fa-print"></i> طباعة القائمة
        </button>
        <?php endif; ?>
    </div>
</div>

<!-- عنوان للطباعة فقط -->
<div class="print-header">
    <h1><?php echo $event['title']; ?></h1>
    <h3>قائمة المشاركين (<?php echo $participantCount['count']; ?>)</h3>
    <p>تاريخ الطباعة: <?php echo date('Y-m-d'); ?></p>
</div>

<div class="row mb-4">
    <div class="col-md-12">
        <div class="card">
            <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="">
                    <input type="hidden" name="event_id" value="<?php echo $eventId; ?>">
                    <div class="row">
                        <div class="col-md-4 mb-3">
                            <label for="search" class="form-label">بحث</label>
                            <input type="text" class="form-control" id="search" name="search" placeholder="اسم، بريد إلكتروني، هاتف..." value="<?php echo $searchTerm; ?>">
                        </div>
                        <div class="col-md-4 mb-3">
                            <label for="date_from" class="form-label">تاريخ التسجيل من</label>
                            <input type="date" class="form-control" id="date_from" name="date_from" value="<?php echo $registrationDateFrom; ?>">
                        </div>
                        <div class="col-md-4 mb-3">
                            <label for="date_to" class="form-label">تاريخ التسجيل إلى</label>
                            <input type="date" class="form-control" id="date_to" name="date_to" value="<?php echo $registrationDateTo; ?>">
                        </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/participants.php?event_id=<?php echo $eventId; ?>" class="btn btn-secondary">
                            <i class="fas fa-redo me-1"></i> إعادة تعيين
                        </a>
                    </div>
                </form>
            </div>
        </div>
    </div>
</div>

<div class="card mb-4">
    <div class="card-header d-flex justify-content-between align-items-center">
        <h5 class="mb-0"><i class="fas fa-users me-2"></i> قائمة المشاركين (<?php echo $participantCount['count']; ?>)</h5>
        <?php if (hasPermission('admin') && count($participants) > 0): ?>
        <div class="dropdown">
            <button class="btn btn-sm btn-outline-secondary dropdown-toggle" type="button" id="exportDropdown" data-bs-toggle="dropdown" aria-expanded="false">
                <i class="fas fa-download me-1"></i> تصدير
            </button>
            <ul class="dropdown-menu dropdown-menu-end" aria-labelledby="exportDropdown">
                <li><a class="dropdown-item" href="<?php echo SITE_URL; ?>/events/export.php?type=participants&event_id=<?php echo $eventId; ?>&format=csv"><i class="fas fa-file-csv me-2"></i> تصدير CSV</a></li>
                <li><a class="dropdown-item" href="<?php echo SITE_URL; ?>/events/export.php?type=participants&event_id=<?php echo $eventId; ?>&format=excel"><i class="fas fa-file-excel me-2"></i> تصدير Excel</a></li>
                <li><a class="dropdown-item" href="<?php echo SITE_URL; ?>/events/export.php?type=participants&event_id=<?php echo $eventId; ?>&format=pdf"><i class="fas fa-file-pdf me-2"></i> تصدير PDF</a></li>
            </ul>
        </div>
        <?php endif; ?>
    </div>
    <div class="card-body">
        <?php if (count($participants) > 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>
                        </tr>
                    </thead>
                    <tbody>
                        <?php foreach ($participants as $index => $participant): ?>
                        <tr>
                            <td><?php echo $index + 1; ?></td>
                            <td>
                                <div class="d-flex align-items-center">
                                    <?php if (!empty($participant['photo'])): ?>
                                    <img src="<?php echo SITE_URL; ?>/uploads/members/<?php echo $participant['photo']; ?>" class="rounded-circle me-2" alt="<?php echo $participant['first_name'] . ' ' . $participant['last_name']; ?>" width="40" height="40">
                                    <?php else: ?>
                                    <div class="rounded-circle bg-secondary text-white d-flex align-items-center justify-content-center me-2" style="width: 40px; height: 40px;">
                                        <i class="fas fa-user"></i>
                                    </div>
                                    <?php endif; ?>
                                    <div>
                                        <div class="fw-bold"><?php echo $participant['first_name'] . ' ' . $participant['last_name']; ?></div>
                                        <a href="<?php echo SITE_URL; ?>/members/view.php?id=<?php echo $participant['member_id']; ?>" class="text-decoration-none">
                                            <small><i class="fas fa-external-link-alt me-1"></i> عرض الملف الشخصي</small>
                                        </a>
                                    </div>
                                </div>
                            </td>
                            <td>
                                <?php if (!empty($participant['email'])): ?>
                                <div><i class="fas fa-envelope me-1 text-muted"></i> <?php echo $participant['email']; ?></div>
                                <?php endif; ?>
                                <?php if (!empty($participant['phone'])): ?>
                                <div><i class="fas fa-phone me-1 text-muted"></i> <?php echo $participant['phone']; ?></div>
                                <?php endif; ?>
                            </td>
                            <td><?php echo formatDate($participant['registration_date']); ?></td>
                            <td>
                                <?php if (!empty($participant['notes'])): ?>
                                <span class="text-truncate d-inline-block" style="max-width: 200px;" data-bs-toggle="tooltip" title="<?php echo htmlspecialchars($participant['notes']); ?>">
                                    <?php echo $participant['notes']; ?>
                                </span>
                                <?php else: ?>
                                <span class="text-muted">-</span>
                                <?php endif; ?>
                            </td>
                            <td>
                                <div class="btn-group">
                                    <?php if (hasPermission('admin')): ?>
                                    <a href="<?php echo SITE_URL; ?>/events/edit_participant.php?id=<?php echo $participant['id']; ?>&event_id=<?php echo $eventId; ?>" class="btn btn-sm btn-outline-primary">
                                        <i class="fas fa-edit"></i>
                                    </a>
                                    <a href="<?php echo SITE_URL; ?>/events/participants.php?action=delete&participant_id=<?php echo $participant['id']; ?>&event_id=<?php echo $eventId; ?>" class="btn btn-sm btn-outline-danger" 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';
?>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // زر الطباعة
    const printBtn = document.getElementById('printBtn');
    if (printBtn) {
        printBtn.addEventListener('click', function() {
            window.print();
        });
    }
});
</script>
