<?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();

if (!hasPermission('add_department')) {
    $_SESSION['error_message'] = 'ليس لديك صلاحية لإضافة أقسام.';
    header('Location: index.php');
    exit();
}

$db = getDB();
$errors = [];
$success_msg = '';

// ---------------------------------------------------------
// 1. جلب قائمة الكليات لملء القائمة المنسدلة
// ---------------------------------------------------------
$colleges_list = [];
try {
    $colleges_sql = "SELECT College_ID, College FROM colleges ORDER BY College ASC";
    
    if (method_exists($db, 'select')) {
        $colleges_list = $db->select($colleges_sql);
    } else {
        $stmt = $db->prepare($colleges_sql);
        $stmt->execute();
        $colleges_list = $stmt->fetchAll(PDO::FETCH_ASSOC);
    }
} catch (Exception $e) {
    $errors[] = 'فشل في جلب قائمة الكليات: ' . $e->getMessage();
}

// القيم الافتراضية للحقول
$data = [
    'college_id' => '',
    'department_name' => ''
];

// معالجة الطلب عند الضغط على زر الحفظ
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    
    // تنظيف المدخلات
    $data['college_id'] = trim($_POST['college_id'] ?? '');
    $data['department_name'] = trim($_POST['department_name'] ?? '');

    // التحقق من البيانات (Validation)
    if (empty($data['college_id'])) {
        $errors[] = 'يرجى اختيار الكلية.';
    }

    if (empty($data['department_name'])) {
        $errors[] = 'يرجى إدخال اسم القسم.';
    }

    // ---------------------------------------------------------
    // 2. التحقق من تكرار اسم القسم (باستخدام اسم الجدول departemenets)
    // ---------------------------------------------------------
    if (!empty($data['college_id']) && !empty($data['department_name'])) {
        // تم تعديل اسم الجدول والعمود حسب طلبك
        $check_sql = "SELECT Departement_ID FROM departemenets WHERE College_ID = ? AND Departement = ?";
        $existing = $db->select($check_sql, [$data['college_id'], $data['department_name']]);
        if (!empty($existing)) {
            $errors[] = 'هذا القسم مسجل بالفعل في هذه الكلية.';
        }
    }

    // 3. الحفظ في قاعدة البيانات
    if (empty($errors)) {
        try {
            // جلب اسم الكلية لتخزينه (Redundant Data)
            $college_name_query = "SELECT College FROM colleges WHERE College_ID = ? LIMIT 1";
            $college_result = $db->select($college_name_query, [$data['college_id']]);
            
            if (empty($college_result)) {
                throw new Exception("الكلية المختارة غير صحيحة.");
            }
            
            $college_name_str = $college_result[0]['College'];

            // ---------------------------------------------------------
            // جملة الإدخال: تم تعديل اسم الجدول إلى departemenets والعمود Departement
            // ---------------------------------------------------------
            $sql = "INSERT INTO departemenets (College_ID, College, Departement) VALUES (?, ?, ?)";
            
            $params = [
                $data['college_id'],
                $college_name_str,     // اسم الكلية
                $data['department_name'] // اسم القسم (Departement)
            ];

            if (method_exists($db, 'insert')) {
                $result = $db->insert($sql, $params);
            } else {
                // محاولة احتياطية
                $result = $db->select($sql, $params); 
            }
            
            if ($result || $result === 0 || is_numeric($result)) {
                $_SESSION['success_message'] = 'تمت إضافة القسم بنجاح!';
                header('Location: index.php');
                exit();
            } else {
                $errors[] = 'حدث خطأ أثناء حفظ البيانات.';
            }

        } catch (Exception $e) {
            error_log($e->getMessage());
            $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="../../index.php">الرئيسية</a></li>
                <li class="breadcrumb-item"><a href="index.php">الأقسام</a></li>
                <li class="breadcrumb-item active" aria-current="page">إضافة قسم</li>
            </ol>
        </nav>
    </div>

    <div class="card shadow-sm">
        <div class="card-header bg-primary text-white">
            <h5 class="mb-0"><i class="fas fa-building me-2"></i>بيانات القسم</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): ?>
                            <li><?php echo htmlspecialchars($error); ?></li>
                        <?php endforeach; ?>
                    </ul>
                </div>
            <?php endif; ?>

            <form method="POST" action="">
                <div class="row g-3">
                    
                    <div class="col-12"><h6 class="text-muted border-bottom pb-2 mb-3">ربط القسم بالكلية</h6></div>

                    <div class="col-md-6">
                        <label for="college_id" class="form-label">الكلية التابع لها <span class="text-danger">*</span></label>
                        <select class="form-select" id="college_id" name="college_id" required>
                            <option value="" disabled selected>-- اختر الكلية --</option>
                            <?php if (!empty($colleges_list)): ?>
                                <?php foreach ($colleges_list as $college): ?>
                                    <option value="<?php echo htmlspecialchars($college['College_ID']); ?>" 
                                        <?php echo ($data['college_id'] == $college['College_ID']) ? 'selected' : ''; ?>>
                                        <?php echo htmlspecialchars($college['College']); ?>
                                    </option>
                                <?php endforeach; ?>
                            <?php endif; ?>
                        </select>
                    </div>

                    <div class="col-md-6">
                        <label for="department_name" class="form-label">اسم القسم (Departement) <span class="text-danger">*</span></label>
                        <input type="text" class="form-control" id="department_name" name="department_name" 
                               value="<?php echo htmlspecialchars($data['department_name']); ?>" 
                               placeholder="مثال: هندسة البرمجيات" required>
                    </div>

                </div>

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

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