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

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

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

$memberId = (int)$_GET['id'];

// الحصول على بيانات المنخرط
$query = "SELECT m.*, c.name as category_name 
          FROM members m 
          LEFT JOIN categories c ON m.category_id = c.id 
          WHERE m.id = :id";
$member = fetchOne($query, [':id' => $memberId]);

if (!$member) {
    setAlert('danger', 'المنخرط غير موجود');
    header('Location: ' . SITE_URL . '/members/index.php');
    exit;
}

// الحصول على تاريخ الاشتراكات
$query = "SELECT s.*, u.full_name as created_by_name 
          FROM subscriptions s 
          LEFT JOIN users u ON s.created_by = u.id 
          WHERE s.member_id = :member_id 
          ORDER BY s.start_date DESC";
$subscriptions = fetchAll($query, [':member_id' => $memberId]);

// الحصول على سجل الحضور
$query = "SELECT a.*, t.title as session_title, t.day_of_week, t.start_time, t.end_time, u.full_name as recorded_by_name 
          FROM attendance a 
          LEFT JOIN training_sessions t ON a.training_session_id = t.id 
          LEFT JOIN users u ON a.recorded_by = u.id 
          WHERE a.member_id = :member_id 
          ORDER BY a.session_date DESC 
          LIMIT 10";
$attendanceRecords = fetchAll($query, [':member_id' => $memberId]);

// الحصول على سجل الاشتراكات الشهرية
$query = "SELECT mp.*, u.full_name as created_by_name 
          FROM monthly_payments mp 
          LEFT JOIN users u ON mp.created_by = u.id 
          WHERE mp.member_id = :member_id 
          ORDER BY mp.payment_month DESC 
          LIMIT 6";
$monthlyPayments = fetchAll($query, [':member_id' => $memberId]);

// عنوان الصفحة
$pageTitle = 'عرض بيانات المنخرط - ' . $member['first_name'] . ' ' . $member['last_name'];

// تضمين ملف الهيدر
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-user me-2"></i> بيانات المنخرط</h1>
    <div>
        <a href="<?php echo SITE_URL; ?>/members/index.php" class="btn btn-secondary me-2">
            <i class="fas fa-arrow-right"></i> العودة إلى القائمة
        </a>
        <div class="btn-group">
            <a href="<?php echo SITE_URL; ?>/members/edit.php?id=<?php echo $member['id']; ?>" class="btn btn-primary">
                <i class="fas fa-edit"></i> تعديل
            </a>
            <a href="<?php echo SITE_URL; ?>/members/card.php?id=<?php echo $member['id']; ?>" class="btn btn-warning">
                <i class="fas fa-id-card"></i> البطاقة
            </a>
            <?php if (!isSubscriptionValid($member['id'])): ?>
                <a href="<?php echo SITE_URL; ?>/members/renew.php?id=<?php echo $member['id']; ?>" class="btn btn-success">
                    <i class="fas fa-sync-alt"></i> تجديد الاشتراك
                </a>
            <?php endif; ?>
        </div>
    </div>
</div>

<div class="row">
    <!-- البيانات الشخصية -->
    <div class="col-md-4 mb-4">
        <div class="card h-100">
            <div class="card-header bg-primary text-white">
                <i class="fas fa-info-circle me-2"></i> البيانات الشخصية
            </div>
            <div class="card-body">
                <div class="text-center mb-4">
                    <?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="img-fluid rounded-circle" style="max-width: 150px;">
                    <h4 class="mt-3"><?php echo $member['first_name'] . ' ' . $member['last_name']; ?></h4>
                    <p class="text-muted"><?php echo $member['category_name']; ?></p>
                    
                    <?php
                    $subscriptionValid = isSubscriptionValid($member['id']);
                    $endDate = getSubscriptionEndDate($member['id']);
                    
                    if ($subscriptionValid) {
                        echo '<div class="badge bg-success p-2 mb-3">الاشتراك ساري حتى ' . $endDate . '</div>';
                    } else {
                        echo '<div class="badge bg-danger p-2 mb-3">الاشتراك منتهي</div>';
                    }
                    ?>
                </div>
                
                <div class="mb-3">
                    <h5>معلومات الاتصال</h5>
                    <hr>
                    <p><i class="fas fa-phone me-2"></i> <?php echo $member['phone'] ?: 'غير متوفر'; ?></p>
                    <p><i class="fas fa-envelope me-2"></i> <?php echo $member['email'] ?: 'غير متوفر'; ?></p>
                    <p><i class="fas fa-map-marker-alt me-2"></i> <?php echo $member['address'] ?: 'غير متوفر'; ?></p>
                </div>
                
                <div class="mb-3">
                    <h5>معلومات إضافية</h5>
                    <hr>
                    <p><i class="fas fa-calendar-alt me-2"></i> تاريخ الازدياد: <?php echo formatDate($member['birth_date']); ?></p>
                    <p><i class="fas fa-calendar-check me-2"></i> تاريخ التسجيل: <?php echo formatDate($member['registration_date']); ?></p>
                    <p><i class="fas fa-venus-mars me-2"></i> الجنس: <?php echo $member['gender'] == 'male' ? 'ذكر' : 'أنثى'; ?></p>
                </div>
                
                <?php if (!empty($member['notes'])): ?>
                <div class="mb-3">
                    <h5>ملاحظات</h5>
                    <hr>
                    <p><?php echo nl2br($member['notes']); ?></p>
                </div>
                <?php endif; ?>
            </div>
        </div>
    </div>
    
    <!-- تاريخ الاشتراكات -->
    <div class="col-md-8 mb-4">
        <div class="card mb-4">
            <div class="card-header bg-success text-white">
                <i class="fas fa-history me-2"></i> تاريخ الاشتراكات
            </div>
            <div class="card-body">
                <?php if (count($subscriptions) > 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>
                                    <th>مسجل بواسطة</th>
                                </tr>
                            </thead>
                            <tbody>
                                <?php foreach ($subscriptions as $subscription): ?>
                                    <tr>
                                        <td><?php echo formatDate($subscription['start_date']); ?></td>
                                        <td><?php echo formatDate($subscription['end_date']); ?></td>
                                        <td><?php echo number_format($subscription['amount_paid'], 2); ?> درهم</td>
                                        <td>
                                            <?php
                                            if ($subscription['is_insurance_paid']) {
                                                echo '<span class="badge bg-success">مدفوع (' . number_format($subscription['insurance_amount'], 2) . ' درهم)</span>';
                                            } else {
                                                echo '<span class="badge bg-danger">غير مدفوع</span>';
                                            }
                                            ?>
                                        </td>
                                        <td>
                                            <?php
                                            $paymentMethods = [
                                                'cash' => 'نقدا',
                                                'bank_transfer' => 'تحويل بنكي',
                                                'check' => 'شيك'
                                            ];
                                            echo $paymentMethods[$subscription['payment_method']] ?? $subscription['payment_method'];
                                            ?>
                                        </td>
                                        <td><?php echo $subscription['receipt_number']; ?></td>
                                        <td><?php echo formatDate($subscription['payment_date']); ?></td>
                                        <td><?php echo $subscription['created_by_name']; ?></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>
            <?php if (hasPermission('admin')): ?>
            <div class="card-footer">
                <a href="<?php echo SITE_URL; ?>/members/renew.php?id=<?php echo $member['id']; ?>" class="btn btn-sm btn-success">
                    <i class="fas fa-plus-circle"></i> إضافة اشتراك جديد
                </a>
            </div>
            <?php endif; ?>
        </div>
        
        <!-- سجل الحضور -->
        <div class="card">
            <div class="card-header bg-info text-white">
                <i class="fas fa-clipboard-check me-2"></i> سجل الحضور (آخر 10 سجلات)
            </div>
            <div class="card-body">
                <?php if (count($attendanceRecords) > 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 ($attendanceRecords as $record): ?>
                                    <tr>
                                        <td><?php echo formatDate($record['session_date']); ?></td>
                                        <td>
                                            <?php
                                            if ($record['session_title']) {
                                                echo $record['session_title'] . ' (' . getArabicDayName($record['day_of_week']) . ' ' . formatTime($record['start_time']) . ' - ' . formatTime($record['end_time']) . ')';
                                            } else {
                                                echo 'غير محدد';
                                            }
                                            ?>
                                        </td>
                                        <td>
                                            <?php
                                            $statusLabels = [
                                                'present' => '<span class="badge bg-success">حاضر</span>',
                                                'absent' => '<span class="badge bg-danger">غائب</span>',
                                                'excused' => '<span class="badge bg-warning">معذور</span>'
                                            ];
                                            echo $statusLabels[$record['status']] ?? $record['status'];
                                            ?>
                                        </td>
                                        <td><?php echo $record['notes'] ?: '-'; ?></td>
                                        <td><?php echo $record['recorded_by_name']; ?></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 class="card-footer">
                <a href="<?php echo SITE_URL; ?>/training/sessions.php" class="btn btn-sm btn-info">
                    <i class="fas fa-clipboard-list"></i> عرض سجل الحضور الكامل
                </a>
            </div>
        </div>
    </div>
</div>

<!-- سجل الاشتراكات الشهرية -->
<div class="row mt-4">
    <div class="col-md-12">
        <div class="card">
            <div class="card-header bg-warning text-white">
                <i class="fas fa-money-bill-wave me-2"></i> سجل الاشتراكات الشهرية (آخر 6 أشهر)
            </div>
            <div class="card-body">
                <?php if (empty($monthlyPayments)): ?>
                    <div class="alert alert-info">
                        <i class="fas fa-info-circle me-2"></i> لا توجد سجلات للاشتراكات الشهرية لهذا المنخرط.
                    </div>
                <?php else: ?>
                    <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 ($monthlyPayments as $payment): ?>
                                    <tr>
                                        <td>
                                            <?php 
                                            $timestamp = strtotime($payment['payment_month']);
                                            echo date('m/Y', $timestamp); 
                                            ?>
                                        </td>
                                        <td>
                                            <?php if ($payment['payment_status'] == 'paid'): ?>
                                                <span class="badge bg-success">مدفوع</span>
                                            <?php elseif ($payment['payment_status'] == 'partial'): ?>
                                                <span class="badge bg-warning">مدفوع جزئيا</span>
                                            <?php else: ?>
                                                <span class="badge bg-danger">غير مدفوع</span>
                                            <?php endif; ?>
                                        </td>
                                        <td><?php echo $payment['payment_date'] ? date('d/m/Y', strtotime($payment['payment_date'])) : '-'; ?></td>
                                        <td><?php echo number_format($payment['amount_paid'], 2) . ' درهم'; ?></td>
                                        <td>
                                            <?php
                                            $paymentMethods = [
                                                'cash' => 'نقدا',
                                                'bank_transfer' => 'تحويل بنكي',
                                                'check' => 'شيك'
                                            ];
                                            echo $paymentMethods[$payment['payment_method']] ?? '-';
                                            ?>
                                        </td>
                                    </tr>
                                <?php endforeach; ?>
                            </tbody>
                        </table>
                    </div>
                <?php endif; ?>
            </div>
            <div class="card-footer">
                <a href="<?php echo SITE_URL; ?>/monthly_payments/member_payments.php?id=<?php echo $memberId; ?>" class="btn btn-sm btn-warning">
                    <i class="fas fa-list"></i> عرض السجل الكامل للاشتراكات الشهرية
                </a>
                <?php if (hasPermission('admin')): ?>
                <a href="<?php echo SITE_URL; ?>/monthly_payments/index.php?member_id=<?php echo $memberId; ?>" class="btn btn-sm btn-primary ms-2">
                    <i class="fas fa-plus-circle"></i> تسجيل دفعة شهرية جديدة
                </a>
                <?php endif; ?>
            </div>
        </div>
    </div>
</div>

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