<?php
// delete_faculty.php

// 1. بدء الجلسة
if (session_status() == PHP_SESSION_NONE) {
    session_start();
}

include '../../includes/header.php'; 

// 2. التحقق من الصلاحيات
checkLogin();

// السماح بالحذف إذا كان لديه صلاحية الكلية أو صلاحية خاصة بالأساتذة
if (!hasPermission('edit_college') && !hasPermission('delete_faculty')) {
    $_SESSION['error_message'] = 'ليس لديك صلاحية لحذف بيانات التدريسيين.';
    header('Location: index.php');
    exit();
}

// 3. التحقق من المعرف
if (isset($_GET['id']) && is_numeric($_GET['id'])) {
    $id = (int)$_GET['id'];
    $db = getDB();

    try {
        $pdo = method_exists($db, 'getConnection') ? $db->getConnection() : $db;
        
        // بدء معاملة لضمان حذف البيانات من الجدولين معاً
        $pdo->beginTransaction();

        // 1. حذف الوثائق أولاً (بسبب المفتاح الخارجي إن وجد)
        $sql_docs = "DELETE FROM faculty_docs WHERE Teacher_ID = ?";
        $stmt_docs = $pdo->prepare($sql_docs);
        $stmt_docs->execute([$id]);

        // 2. حذف التدريسي
        $sql_faculty = "DELETE FROM faculty WHERE Teacher_ID = ?";
        $stmt_faculty = $pdo->prepare($sql_faculty);
        $stmt_faculty->execute([$id]);

        $pdo->commit();
        $_SESSION['success_message'] = 'تم حذف التدريسي وكافة وثائقه بنجاح.';

    } catch (Exception $e) {
        if (isset($pdo) && $pdo->inTransaction()) {
            $pdo->rollBack();
        }
        error_log($e->getMessage());
        $_SESSION['error_message'] = 'حدث خطأ أثناء الحذف: ' . $e->getMessage();
    }
} else {
    $_SESSION['error_message'] = 'رقم المعرف غير صحيح.';
}

// 4. العودة للصفحة
header('Location: index.php');
exit();
?>
