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

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

// 1. التحقق من تسجيل الدخول
checkLogin();

// 2. التحقق من الصلاحيات
if (!hasPermission('delete_student')) {
    $_SESSION['error_message'] = 'ليس لديك صلاحية لحذف الطلاب.';
    header('Location: index.php');
    exit();
}

// 3. التحقق من وجود ID في الرابط
if (isset($_GET['id']) && is_numeric($_GET['id'])) {
    $id = (int)$_GET['id'];
    $db = getDB();

    try {
        // التحقق من وجود الطالب (اختياري، للتأكد فقط)
        $check = $db->select("SELECT id FROM students WHERE id = ? LIMIT 1", [$id]);
        if (empty($check)) {
            $_SESSION['error_message'] = 'الطالب غير موجود.';
            header('Location: index.php');
            exit();
        }

        // 4. الحذف من جدول الوثائق أولاً (students_doc)
        // لأن Student_ID في جدول الوثائق مرتبط بـ id الطالب
        $doc_sql = "DELETE FROM students_doc WHERE Student_ID = ?";
        if (method_exists($db, 'delete')) {
            $db->delete($doc_sql, [$id]);
        } else {
            $stmt = $db->prepare($doc_sql);
            $stmt->execute([$id]);
        }

        // 5. الحذف من جدول الطلاب (students)
        $student_sql = "DELETE FROM students WHERE id = ?";
        if (method_exists($db, 'delete')) {
            $db->delete($student_sql, [$id]);
        } else {
            $stmt = $db->prepare($student_sql);
            $stmt->execute([$id]);
        }

        $_SESSION['success_message'] = 'تم حذف الطالب وجميع وثائقه بنجاح.';

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

// 6. العودة للصفحة الرئيسية
header('Location: index.php');
exit();
?>