<?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_halls.php');
    exit();
}

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

// 2. جلب بيانات القاعة الحالية
$current_hall = [];
try {
    $sql_hall = "SELECT * FROM halls WHERE Hall_ID = ? LIMIT 1";
    if (method_exists($db, 'select')) {
        $res = $db->select($sql_hall, [$hall_id]);
    } else {
        $stmt = $db->prepare($sql_hall);
        $stmt->execute([$hall_id]);
        $res = $stmt->fetchAll(PDO::FETCH_ASSOC);
    }

    if (empty($res)) {
        $_SESSION['error_message'] = 'القاعة أو المختبر غير موجود.';
        header('Location: show_halls.php');
        exit();
    }
    $current_hall = $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') {
    $hall_name = trim($_POST['hall_name'] ?? '');
    $department_id = trim($_POST['department_id'] ?? '');
    $capacity = trim($_POST['capacity'] ?? '');
    $type = trim($_POST['type'] ?? '');

    // التحقق من الحقول
    if (empty($hall_name)) $errors[] = 'يرجى إدخال اسم القاعة أو المختبر.';
    if (empty($department_id)) $errors[] = 'يرجى اختيار القسم.';
    if ($capacity === '') $errors[] = 'يرجى إدخال السعة الاستيعابية.';
    if ($type === '') $errors[] = 'يرجى اختيار النوع.';

    if (empty($errors)) {
        try {
            $pdo = method_exists($db, 'getConnection') ? $db->getConnection() : $db;
            
            $sql = "UPDATE halls 
                    SET Hall_Name = :name, Department_ID = :dept_id, Capacity = :capacity, Type = :type 
                    WHERE Hall_ID = :id";
            
            $stmt = $pdo->prepare($sql);
            
            $stmt->bindParam(':name', $hall_name);
            $stmt->bindParam(':dept_id', $department_id, PDO::PARAM_INT);
            $stmt->bindParam(':capacity', $capacity, PDO::PARAM_INT);
            $stmt->bindParam(':type', $type, PDO::PARAM_INT);
            $stmt->bindParam(':id', $hall_id, PDO::PARAM_INT);
            
            if ($stmt->execute()) {
                $_SESSION['success_message'] = 'تم تعديل البيانات بنجاح!';
                header('Location: show_halls.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_halls.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_hall['Hall_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">الاسم أو الرمز (Hall/Lab Name) <span class="text-danger">*</span></label>
                        <input type="text" class="form-control" name="hall_name" value="<?php echo htmlspecialchars($_POST['hall_name'] ?? $current_hall['Hall_Name']); ?>" required>
                    </div>

                    <div class="col-md-6">
                        <label class="form-label">النوع (Type) <span class="text-danger">*</span></label>
                        <select class="form-select" name="type" required>
                            <?php $selected_type = $_POST['type'] ?? $current_hall['Type']; ?>
                            <option value="0" <?php echo ($selected_type == 0) ? 'selected' : ''; ?>>قاعة دراسية (Hall)</option>
                            <option value="1" <?php echo ($selected_type == 1) ? 'selected' : ''; ?>>مختبر (Lab)</option>
                        </select>
                    </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_hall['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">السعة الاستيعابية (Capacity) <span class="text-danger">*</span></label>
                        <input type="number" class="form-control" name="capacity" value="<?php echo htmlspecialchars($_POST['capacity'] ?? $current_hall['Capacity']); ?>" min="1" required>
                    </div>
                </div>

                <div class="mt-4 d-flex justify-content-end gap-2">
                    <a href="show_halls.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'; ?>