<?php
// تفعيل عرض الأخطاء للتطوير
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

$pageTitle = 'إدارة المحاضرات';
include '../../includes/header.php';

if (session_status() == PHP_SESSION_NONE) {
    session_start();
}
checkLogin();

$db = getDB();
$pdo = method_exists($db, 'getConnection') ? $db->getConnection() : $db;

$lectures = [];
$colleges_list = [];
$departments_list = [];

// المتغيرات القادمة من الفلتر
$sel_college = $_GET['college_id'] ?? '';
$sel_dept = $_GET['department_id'] ?? '';
$sel_grade = $_GET['grade'] ?? '';

// مصفوفة لتسمية المراحل
$grades_names = [
    '1' => 'المرحلة الأولى',
    '2' => 'المرحلة الثانية',
    '3' => 'المرحلة الثالثة',
    '4' => 'المرحلة الرابعة',
    '5' => 'المرحلة الخامسة'
];

try {
    // جلب الكليات والأقسام لملء قوائم الفلتر
    $colleges_list = $pdo->query("SELECT College_ID, College FROM colleges ORDER BY College ASC")->fetchAll(PDO::FETCH_ASSOC);
    $departments_list = $pdo->query("SELECT Departement_ID, College_ID, Departement FROM departemenets ORDER BY Departement ASC")->fetchAll(PDO::FETCH_ASSOC);

    // بناء الاستعلام الأساسي مع الفلاتر
    $sql = "SELECT l.Lecture_ID, l.Lecture_Name, l.ECTS, l.Grade, d.Departement, c.College 
            FROM lectures l
            LEFT JOIN departemenets d ON l.Department_ID = d.Departement_ID
            LEFT JOIN colleges c ON d.College_ID = c.College_ID
            WHERE 1=1";
    
    $params = [];

    // إضافة الفلاتر إذا تم تحديدها
    if (!empty($sel_college)) {
        $sql .= " AND d.College_ID = ?";
        $params[] = $sel_college;
    }
    if (!empty($sel_dept)) {
        $sql .= " AND l.Department_ID = ?";
        $params[] = $sel_dept;
    }
    if (!empty($sel_grade)) {
        $sql .= " AND l.Grade = ?";
        $params[] = $sel_grade;
    }

    $sql .= " ORDER BY c.College ASC, l.Grade ASC, d.Departement ASC";
            
    // تنفيذ الاستعلام
    $stmt = $pdo->prepare($sql);
    $stmt->execute($params);
    $lectures = $stmt->fetchAll(PDO::FETCH_ASSOC);

} catch (Exception $e) {
    $error_msg = 'خطأ في جلب البيانات: ' . $e->getMessage();
}
?>

<div class="content-area">
    <div class="page-header d-flex justify-content-between align-items-center mb-4">
        <div>
            <h2 class="page-title">قائمة المحاضرات</h2>
            <nav aria-label="breadcrumb">
                <ol class="breadcrumb">
                    <li class="breadcrumb-item"><a href="../../index.php">الرئيسية</a></li>
                    <li class="breadcrumb-item active">المحاضرات</li>
                </ol>
            </nav>
        </div>
        <a href="add_lectures.php" class="btn btn-primary"><i class="fas fa-plus me-2"></i>إضافة محاضرة</a>
    </div>

    <?php if (isset($error_msg)): ?>
        <div class="alert alert-danger"><?php echo htmlspecialchars($error_msg); ?></div>
    <?php endif; ?>

    <div class="card shadow-sm mb-4 border-0">
        <div class="card-body">
            <form method="GET" action="" class="row g-3 align-items-end">
                <div class="col-md-3">
                    <label class="form-label fw-bold">الكلية</label>
                    <select class="form-select" id="college_id" name="college_id" onchange="filterDepartments()">
                        <option value="">-- كل الكليات --</option>
                        <?php foreach ($colleges_list as $c): ?>
                            <option value="<?php echo $c['College_ID']; ?>" <?php echo ($sel_college == $c['College_ID']) ? 'selected' : ''; ?>>
                                <?php echo htmlspecialchars($c['College']); ?>
                            </option>
                        <?php endforeach; ?>
                    </select>
                </div>
                
                <div class="col-md-3">
                    <label class="form-label fw-bold">القسم</label>
                    <select class="form-select" id="department_id" name="department_id">
                        <option value="">-- كل الأقسام --</option>
                        </select>
                </div>
                
                <div class="col-md-3">
                    <label class="form-label fw-bold">المرحلة</label>
                    <select class="form-select" name="grade">
                        <option value="">-- كل المراحل --</option>
                        <?php foreach ($grades_names as $num => $name): ?>
                            <option value="<?php echo $num; ?>" <?php echo ($sel_grade == $num) ? 'selected' : ''; ?>>
                                <?php echo $name; ?>
                            </option>
                        <?php endforeach; ?>
                    </select>
                </div>
                
                <div class="col-md-3 d-flex gap-2">
                    <button type="submit" class="btn btn-primary w-100"><i class="fas fa-search me-2"></i>تصفية</button>
                    <?php if(!empty($sel_college) || !empty($sel_dept) || !empty($sel_grade)): ?>
                        <a href="show_lectures.php" class="btn btn-secondary"><i class="fas fa-sync-alt"></i></a>
                    <?php endif; ?>
                </div>
            </form>
        </div>
    </div>

    <div class="card shadow-sm">
        <div class="card-body p-0">
            <div class="table-responsive">
                <table class="table table-hover table-striped mb-0 align-middle">
                    <thead class="table-dark">
                        <tr>
                            <th>#</th>
                            <th>اسم المحاضرة</th>
                            <th>الكلية</th>
                            <th>القسم</th>
                            <th>الوحدات (ECTS)</th>
                            <th>المرحلة</th>
                            <th class="text-center">الإجراءات</th>
                        </tr>
                    </thead>
                    <tbody>
                        <?php if (!empty($lectures)): ?>
                            <?php foreach ($lectures as $index => $lec): ?>
                                <tr>
                                    <td><?php echo $index + 1; ?></td>
                                    <td class="fw-bold text-primary"><?php echo htmlspecialchars($lec['Lecture_Name']); ?></td>
                                    <td><?php echo htmlspecialchars($lec['College'] ?? 'غير محدد'); ?></td>
                                    <td><?php echo htmlspecialchars($lec['Departement'] ?? 'غير محدد'); ?></td>
                                    <td><span class="badge bg-secondary"><?php echo htmlspecialchars($lec['ECTS']); ?></span></td>
                                    <td><?php echo $grades_names[$lec['Grade']] ?? 'المرحلة ' . htmlspecialchars($lec['Grade']); ?></td>
                                   <td class="text-center">
                                        <a href="edit_lectures.php?id=<?php echo $lec['Lecture_ID']; ?>" class="btn btn-sm btn-outline-primary" title="تعديل">
                                            <i class="fas fa-edit"></i>
                                        </a>
                                        
                                        <a href="delete_lectures.php?id=<?php echo $lec['Lecture_ID']; ?>" 
                                           class="btn btn-sm btn-outline-danger" 
                                           title="حذف" 
                                           onclick="return confirm('هل أنت متأكد من حذف هذه المحاضرة؟ لا يمكن التراجع عن هذا الإجراء.');">
                                            <i class="fas fa-trash"></i>
                                        </a>
                                    </td>
                                </tr>
                            <?php endforeach; ?>
                        <?php else: ?>
                            <tr>
                                <td colspan="7" class="text-center py-4 text-muted">
                                    <i class="fas fa-info-circle fa-2x mb-2 d-block"></i>
                                    لا توجد محاضرات مطابقة لخيارات الفلترة الحالية.
                                </td>
                            </tr>
                        <?php endif; ?>
                    </tbody>
                </table>
            </div>
        </div>
    </div>
</div>

<script>
// تمرير الأقسام الحالية من PHP إلى JavaScript
const allDepartments = <?php echo json_encode($departments_list); ?>;
const selectedDeptId = "<?php echo $sel_dept; ?>";

function filterDepartments() {
    const collegeSelect = document.getElementById('college_id');
    const departmentSelect = document.getElementById('department_id');
    const selectedCollegeId = collegeSelect.value;
    
    // تفريغ قائمة الأقسام الحالية
    departmentSelect.innerHTML = '<option value="">-- كل الأقسام --</option>';

    // إضافة الأقسام المتوافقة فقط
    allDepartments.forEach(dept => {
        if (!selectedCollegeId || dept.College_ID == selectedCollegeId) {
            const option = document.createElement('option');
            option.value = dept.Departement_ID;
            option.textContent = dept.Departement;
            
            // تحديد القسم إذا كان محفوظاً من فلتر سابق
            if (dept.Departement_ID == selectedDeptId) {
                option.selected = true;
            }
            departmentSelect.appendChild(option);
        }
    });
}

// تشغيل الدالة تلقائياً عند تحميل الصفحة لضبط الأقسام إذا كانت الكلية محددة مسبقاً
document.addEventListener('DOMContentLoaded', filterDepartments);
</script>

<?php include '../../includes/footer.php'; ?>