<?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();
$errors = [];
$success_msg = '';

// 1. التحقق من وجود المعرف
if (!isset($_GET['id']) || !is_numeric($_GET['id'])) {
    $_SESSION['error_message'] = 'رقم المحاضرة غير صحيح.';
    header('Location: show_lectures.php');
    exit();
}

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

// 2. جلب بيانات المحاضرة الحالية
$current_lecture = [];
try {
    $sql_lec = "SELECT * FROM lectures WHERE Lecture_ID = ? LIMIT 1";
    if (method_exists($db, 'select')) {
        $res = $db->select($sql_lec, [$lecture_id]);
    } else {
        $stmt = $db->prepare($sql_lec);
        $stmt->execute([$lecture_id]);
        $res = $stmt->fetchAll(PDO::FETCH_ASSOC);
    }

    if (empty($res)) {
        $_SESSION['error_message'] = 'المحاضرة غير موجودة.';
        header('Location: show_lectures.php');
        exit();
    }
    $current_lecture = $res[0];
} catch (Exception $e) {
    $errors[] = 'خطأ في جلب بيانات المحاضرة: ' . $e->getMessage();
}

// 3. جلب قائمة الأقسام للقائمة المنسدلة
$departments_list = [];
try {
    $dept_sql = "SELECT Departement_ID, Departement FROM departemenets ORDER BY Departement ASC";
    if (method_exists($db, 'select')) {
        $departments_list = $db->select($dept_sql);
    } else {
        $stmt = $db->prepare($dept_sql);
        $stmt->execute();
        $departments_list = $stmt->fetchAll(PDO::FETCH_ASSOC);
    }
} catch (Exception $e) {
    $errors[] = 'خطأ في جلب الأقسام: ' . $e->getMessage();
}

// 4. معالجة طلب التعديل (POST)
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $lecture_name = trim($_POST['lecture_name'] ?? '');
    $department_id = trim($_POST['department_id'] ?? '');
    $ects = trim($_POST['ects'] ?? '');
    $grade = trim($_POST['grade'] ?? '');

    // التحقق من الحقول
    if (empty($lecture_name)) $errors[] = 'يرجى إدخال اسم المحاضرة.';
    if (empty($department_id)) $errors[] = 'يرجى اختيار القسم.';
    if (empty($ects)) $errors[] = 'يرجى إدخال عدد الوحدات (ECTS).';
    if (empty($grade)) $errors[] = 'يرجى اختيار المرحلة الدراسية.';

    if (empty($errors)) {
        try {
            $pdo = method_exists($db, 'getConnection') ? $db->getConnection() : $db;
            
            $sql = "UPDATE lectures 
                    SET Lecture_Name = :name, Department_ID = :dept_id, ECTS = :ects, Grade = :grade 
                    WHERE Lecture_ID = :id";
            
            $stmt = $pdo->prepare($sql);
            
            $stmt->bindParam(':name', $lecture_name);
            $stmt->bindParam(':dept_id', $department_id);
            $stmt->bindParam(':ects', $ects);
            $stmt->bindParam(':grade', $grade);
            $stmt->bindParam(':id', $lecture_id, PDO::PARAM_INT);
            
            if ($stmt->execute()) {
                $_SESSION['success_message'] = 'تم تعديل المحاضرة بنجاح!';
                header('Location: show_lectures.php');
                exit();
            } else {
                $errors[] = 'حدث خطأ أثناء التحديث.';
            }
        } catch (Exception $e) {
            $errors[] = 'خطأ في قاعدة البيانات: ' . $e->getMessage();
        }
    }
}
?>

<div class="content-area">
    <div class="page-header mb-4">
        <h2 class="page-title">تعديل المحاضرة</h2>
        <nav aria-label="breadcrumb">
            <ol class="breadcrumb">
                <li class="breadcrumb-item"><a href="show_lectures.php">المحاضرات</a></li>
                <li class="breadcrumb-item active">تعديل محاضرة</li>
            </ol>
        </nav>
    </div>

    <div class="card shadow-sm">
        <div class="card-header bg-warning text-dark">
            <h5 class="mb-0"><i class="fas fa-edit me-2"></i> تعديل بيانات المحاضرة: <?php echo htmlspecialchars($current_lecture['Lecture_Name'] ?? ''); ?></h5>
        </div>
        <div class="card-body p-4">
            
            <?php if (!empty($errors)): ?>
                <div class="alert alert-danger">
                    <ul class="mb-0">
                        <?php foreach ($errors as $error) echo "<li>" . htmlspecialchars($error) . "</li>"; ?>
                    </ul>
                </div>
            <?php endif; ?>

            <form method="POST" action="">
                <div class="row g-3">
                    <div class="col-md-6">
                        <label class="form-label">اسم المحاضرة (Lecture Name) <span class="text-danger">*</span></label>
                        <input type="text" class="form-control" name="lecture_name" value="<?php echo htmlspecialchars($_POST['lecture_name'] ?? $current_lecture['Lecture_Name']); ?>" required>
                    </div>

                    <div class="col-md-6">
                        <label class="form-label">القسم (Department) <span class="text-danger">*</span></label>
                        <select class="form-select" name="department_id" required>
                            <option value="" disabled>-- اختر القسم --</option>
                            <?php 
                            $selected_dept = $_POST['department_id'] ?? $current_lecture['Department_ID'];
                            foreach ($departments_list as $dept): 
                            ?>
                                <option value="<?php echo $dept['Departement_ID']; ?>" <?php echo ($selected_dept == $dept['Departement_ID']) ? 'selected' : ''; ?>>
                                    <?php echo htmlspecialchars($dept['Departement']); ?>
                                </option>
                            <?php endforeach; ?>
                        </select>
                    </div>

                    <div class="col-md-6">
                        <label class="form-label">الوحدات (ECTS) <span class="text-danger">*</span></label>
                        <input type="number" step="0.5" class="form-control" name="ects" value="<?php echo htmlspecialchars($_POST['ects'] ?? $current_lecture['ECTS']); ?>" required>
                    </div>

                    <div class="col-md-6">
                        <label class="form-label">المرحلة الدراسية (Grade) <span class="text-danger">*</span></label>
                        <select class="form-select" name="grade" required>
                            <option value="" disabled>-- اختر المرحلة --</option>
                            <?php 
                            $selected_grade = $_POST['grade'] ?? $current_lecture['Grade'];
                            for ($i = 1; $i <= 5; $i++): 
                            ?>
                                <option value="<?php echo $i; ?>" <?php echo ($selected_grade == $i) ? 'selected' : ''; ?>>
                                    المرحلة <?php echo $i; ?>
                                </option>
                            <?php endfor; ?>
                        </select>
                    </div>
                </div>

                <div class="mt-4 d-flex justify-content-end gap-2">
                    <a href="show_lectures.php" class="btn btn-secondary">إلغاء</a>
                    <button type="submit" class="btn btn-primary px-5"><i class="fas fa-save me-2"></i>حفظ التعديلات</button>
                </div>
            </form>
        </div>
    </div>
</div>

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