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

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

// معالجة البحث
$searchTerm = isset($_GET['search']) ? sanitizeInput($_GET['search']) : '';
$categoryFilter = isset($_GET['category']) ? (int)$_GET['category'] : 0;

// استعلام قائمة المنخرطين
$query = "SELECT m.*, c.name as category_name 
          FROM members m 
          LEFT JOIN categories c ON m.category_id = c.id 
          WHERE 1=1";
$params = [];

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

if ($categoryFilter > 0) {
    $query .= " AND m.category_id = :category_id";
    $params[':category_id'] = $categoryFilter;
}

// ترتيب النتائج
$query .= " ORDER BY m.first_name, m.last_name";

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

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

// عنوان الصفحة
$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-users me-2"></i> إدارة المنخرطين</h1>
    <div>
        <button id="printBtn" class="btn btn-info me-2">
            <i class="fas fa-print"></i> طباعة القائمة
        </button>
        <a href="<?php echo SITE_URL; ?>/members/add.php" class="btn btn-primary">
            <i class="fas fa-plus-circle"></i> إضافة منخرط جديد
        </a>
    </div>
</div>

<!-- عنوان للطباعة فقط -->
<div class="print-header">
    <?php 
    // استخدام نفس الطريقة الموجودة في header.php للحصول على الشعار
    $settings = getAssociationSettings();
    $logoPath = !empty($settings['logo']) ? SITE_URL . '/uploads/logo/' . $settings['logo'] : SITE_URL . '/assets/img/default-logo.png';
    ?>
    <div class="association-info">
        <img src="<?php echo $logoPath; ?>" alt="شعار الجمعية" class="association-logo">
        <h1><?php echo $settings['name'] ?? SITE_NAME; ?></h1>
    </div>
    <h2>قائمة المنخرطين</h2>
    <p>عدد المنخرطين: <?php echo count($members); ?></p>
    <p>تاريخ الطباعة: <?php echo date('Y-m-d'); ?></p>
</div>

<!-- فلاتر البحث -->
<div class="card mb-4">
    <div class="card-body">
        <form method="get" action="" class="row g-3">
            <div class="col-md-6">
                <label for="search" class="form-label">بحث</label>
                <input type="text" class="form-control" id="search" name="search" value="<?php echo $searchTerm; ?>" placeholder="الاسم أو رقم الهاتف...">
            </div>
            <div class="col-md-4">
                <label for="category" class="form-label">الفئة</label>
                <select class="form-select" id="category" name="category">
                    <option value="0">جميع الفئات</option>
                    <?php foreach ($categories as $category): ?>
                        <option value="<?php echo $category['id']; ?>" <?php echo ($categoryFilter == $category['id']) ? 'selected' : ''; ?>>
                            <?php echo $category['name']; ?>
                        </option>
                    <?php endforeach; ?>
                </select>
            </div>
            <div class="col-md-2 d-flex align-items-end">
                <button type="submit" class="btn btn-primary w-100">
                    <i class="fas fa-search"></i> بحث
                </button>
            </div>
        </form>
    </div>
</div>

<!-- جدول المنخرطين -->
<div class="card">
    <div class="card-body">
        <?php if (count($members) > 0): ?>
            <div class="table-responsive">
                <table class="table table-striped table-hover" id="membersTable">
                    <thead>
                        <tr>
                            <th>#</th>
                            <th>الصورة</th>
                            <th>الاسم الكامل</th>
                            <th>تاريخ الازدياد</th>
                            <th>الفئة</th>
                            <th>رقم الهاتف</th>
                            <th>حالة الاشتراك</th>
                            <th>الإجراءات</th>
                        </tr>
                    </thead>
                    <tbody>
                        <?php foreach ($members as $index => $member): ?>
                            <tr>
                                <td><?php echo $index + 1; ?></td>
                                <td>
                                    <?php
                                    $photoPath = !empty($member['photo']) 
                                        ? SITE_URL . '/uploads/members/' . $member['photo'] 
                                        : SITE_URL . '/assets/img/default-user.png';
                                    ?>
                                    <img src="<?php echo $photoPath; ?>" alt="صورة" class="rounded-circle" width="40" height="40">
                                </td>
                                <td><?php echo $member['first_name'] . ' ' . $member['last_name']; ?></td>
                                <td><?php echo formatDate($member['birth_date']); ?></td>
                                <td><?php echo $member['category_name']; ?></td>
                                <td><?php echo $member['phone']; ?></td>
                                <td>
                                    <?php
                                    $subscriptionValid = isSubscriptionValid($member['id']);
                                    $endDate = getSubscriptionEndDate($member['id']);
                                    
                                    if ($subscriptionValid) {
                                        echo '<span class="badge bg-success">ساري حتى ' . $endDate . '</span>';
                                    } else {
                                        echo '<span class="badge bg-danger">منتهي</span>';
                                    }
                                    ?>
                                </td>
                                <td>
                                    <div class="btn-group btn-group-sm">
                                        <a href="<?php echo SITE_URL; ?>/members/view.php?id=<?php echo $member['id']; ?>" class="btn btn-info" title="عرض">
                                            <i class="fas fa-eye"></i>
                                        </a>
                                        <a href="<?php echo SITE_URL; ?>/members/edit.php?id=<?php echo $member['id']; ?>" class="btn btn-primary" title="تعديل">
                                            <i class="fas fa-edit"></i>
                                        </a>
                                        <?php if (!$subscriptionValid): ?>
                                            <a href="<?php echo SITE_URL; ?>/members/renew.php?id=<?php echo $member['id']; ?>" class="btn btn-success" title="تجديد الاشتراك">
                                                <i class="fas fa-sync-alt"></i>
                                            </a>
                                        <?php endif; ?>
                                        <a href="<?php echo SITE_URL; ?>/members/card.php?id=<?php echo $member['id']; ?>" class="btn btn-warning" title="طباعة البطاقة">
                                            <i class="fas fa-id-card"></i>
                                        </a>
                                        <a href="<?php echo SITE_URL; ?>/members/delete.php?id=<?php echo $member['id']; ?>" class="btn btn-danger btn-delete" title="حذف" 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>

<?php
// تضمين ملف الفوتر
include '../includes/footer.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,
    .card-header,
    .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;
        border-collapse: collapse;
    }
    
    /* É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;
        padding: 0 !important;
    }
    
    /* Afficher l'en-tête d'impression */
    .print-header {
        display: block !important;
        text-align: center;
        margin-bottom: 20px;
        direction: rtl;
    }
    
    /* Style pour les informations de l'association */
    .association-info {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-bottom: 20px;
    }
    
    .association-logo {
        max-width: 150px;
        max-height: 150px;
        margin-bottom: 10px;
    }
    
    /* Masquer la colonne des actions */
    .table th:last-child, 
    .table td:last-child {
        display: none !important;
    }
    
    /* Masquer la colonne des photos */
    .table th:nth-child(2), 
    .table td:nth-child(2) {
        display: none !important;
    }
    
    /* Style pour les cellules du tableau */
    .table th, .table td {
        padding: 8px;
        border: 1px solid #ddd;
    }
    
    /* Style pour l'en-tête du tableau */
    .table thead th {
        background-color: #f2f2f2 !important;
        color: #000 !important;
        font-weight: bold;
    }
    
    /* Ajouter un pied de page */
    @page {
        margin: 1cm;
    }
}

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

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