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

// تضمين الملف الذي يحتوي على فئة Database والدوال المساعدة
include '../../includes/header.php';

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

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

// مجلدات حفظ الملفات
$upload_dir = 'uploads/attachments/';
$profile_picture_dir = 'uploads/profile_pictures/';

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

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

// 💡 جلب مسارات الملفات والمرفقات قبل الحذف
try {
    $employee_data = $db->select("SELECT profile_picture, attachment1, attachment2, attachment3 FROM employees WHERE id = ?", [$employeeId]);

    if (empty($employee_data)) {
        $_SESSION['error_message'] = "الموظف غير موجود.";
        header('Location: index.php');
        exit();
    }
    
    $employee = $employee_data[0];

    // 💡 بدء عملية الحذف باستخدام دالة delete() المناسبة
    $deleted_count = $db->delete("DELETE FROM employees WHERE id = ?", [$employeeId]);

    // إذا تم الحذف بنجاح من قاعدة البيانات، نقوم بحذف الملفات
    if ($deleted_count > 0) {
        // حذف الصورة الشخصية
        if (!empty($employee['profile_picture']) && file_exists($employee['profile_picture'])) {
            unlink($employee['profile_picture']);
        }
        // حذف المرفقات
        for ($i = 1; $i <= 3; $i++) {
            $attachment_path = $employee['attachment' . $i];
            if (!empty($attachment_path) && file_exists($attachment_path)) {
                unlink($attachment_path);
            }
        }
        
        $_SESSION['success_message'] = 'تم حذف الموظف بنجاح!';
    } else {
        $_SESSION['error_message'] = 'فشل حذف الموظف. قد يكون الموظف غير موجود.';
    }

} catch (Exception $e) {
    error_log("Database error: " . $e->getMessage());
    $_SESSION['error_message'] = "حدث خطأ في قاعدة البيانات أثناء الحذف.";
}

// العودة إلى صفحة قائمة الموظفين
header('Location: index.php');
exit();
?>
