<?php
// تفعيل التخزين المؤقت للمخرجات لمنع خطأ (Headers already sent)
ob_start(); 

// تفعيل عرض الأخطاء للتطوير
ini_set('display_errors', 1);
error_reporting(E_ALL);

$pageTitle = 'حذف مادة من الجدول';
include '../../includes/header.php';

if (session_status() == PHP_SESSION_NONE) {
    session_start();
}
checkLogin();

// التحقق من الصلاحيات (اختياري، يمكنك تفعيله إذا كان لديك نظام صلاحيات)
// if (!hasPermission('delete_schedule')) {
//     $_SESSION['error_message'] = 'ليس لديك صلاحية للحذف.';
//     ob_end_clean();
//     header('Location: index.php');
//     exit();
// }

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

$schedule_id = (int)$_GET['id'];
$db = getDB();

try {
    $pdo = method_exists($db, 'getConnection') ? $db->getConnection() : $db;
    
    // تنفيذ عملية الحذف
    $sql = "DELETE FROM schedule WHERE Schedule_ID = :id";
    $stmt = $pdo->prepare($sql);
    $stmt->bindParam(':id', $schedule_id, PDO::PARAM_INT);
    
    if ($stmt->execute()) {
        $_SESSION['success_message'] = 'تم حذف المادة من الجدول بنجاح.';
    } else {
        $_SESSION['error_message'] = 'حدث خطأ غير متوقع ولم يتم حذف المادة.';
    }
} catch (Exception $e) {
    $_SESSION['error_message'] = 'خطأ في قاعدة البيانات: ' . $e->getMessage();
}

// مسح أي مخرجات HTML قادمة من ملف header.php
ob_end_clean(); 

// إعادة التوجيه إلى الصفحة السابقة (للحفاظ على فلتر القسم والمرحلة المفتوح)
if (isset($_SERVER['HTTP_REFERER']) && !empty($_SERVER['HTTP_REFERER'])) {
    header('Location: ' . $_SERVER['HTTP_REFERER']);
} else {
    // في حال لم يكن الرابط السابق متوفراً، العودة للصفحة الرئيسية للجدول
    header('Location: index.php');
}
exit();
?>