<?php
require_once '../config.php';

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

// التحقق من وجود معرف المؤطر
if (!isset($_GET['id']) || !is_numeric($_GET['id'])) {
    setAlert('error', 'معرف المؤطر غير صالح');
    header('Location: ' . SITE_URL . '/coaches/index.php');
    exit;
}

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

// استعلام بيانات المؤطر
$query = "SELECT * FROM coaches WHERE id = :id";
$coach = fetchOne($query, [':id' => $coachId]);

// التحقق من وجود المؤطر
if (!$coach) {
    setAlert('error', 'المؤطر غير موجود');
    header('Location: ' . SITE_URL . '/coaches/index.php');
    exit;
}

try {
    // بدء المعاملة
    $db = initDatabase();
    $db->beginTransaction();
    
    // التحقق من وجود حصص تدريب مرتبطة بالمؤطر
    $query = "SELECT COUNT(*) as count FROM training_sessions WHERE coach_id = :coach_id";
    $result = fetchOne($query, [':coach_id' => $coachId]);
    
    if ($result['count'] > 0) {
        // تحديث حصص التدريب لإزالة ارتباطها بالمؤطر
        $query = "UPDATE training_sessions SET coach_id = NULL WHERE coach_id = :coach_id";
        update($query, [':coach_id' => $coachId]);
    }
    
    // حذف ارتباطات الفئات
    $query = "DELETE FROM coach_categories WHERE coach_id = :coach_id";
    delete($query, [':coach_id' => $coachId]);
    
    // حذف المؤطر
    $query = "DELETE FROM coaches WHERE id = :id";
    delete($query, [':id' => $coachId]);
    
    // حذف الصورة إذا كانت موجودة
    if (!empty($coach['photo'])) {
        $photoPath = COACHES_PHOTOS_PATH . '/' . $coach['photo'];
        if (file_exists($photoPath)) {
            unlink($photoPath);
        }
    }
    
    // تأكيد المعاملة
    $db->commit();
    
    // رسالة نجاح
    setAlert('success', 'تم حذف المؤطر بنجاح');
    
} catch (Exception $e) {
    // التراجع عن المعاملة في حالة حدوث خطأ
    $db->rollBack();
    setAlert('error', 'حدث خطأ أثناء حذف المؤطر: ' . $e->getMessage());
}

// إعادة التوجيه إلى صفحة المؤطرين
header('Location: ' . SITE_URL . '/coaches/index.php');
exit;
?>
