<?php
session_start();
header('Content-Type: application/json');
require_once('../config/db.php');

// 1. نظام جلب اللغة وتفعيل الترجمة
$current_lang = $_SESSION['lang'] ?? 'ar';
$lang_file = "../languages/" . $current_lang . ".php";
$translations = file_exists($lang_file) ? include($lang_file) : [];

// دالة الترجمة السريعة لملفات الـ JSON (تدعم استبدال المتغيرات)
function __($key, $replace = []) {
    global $translations;
    $text = $translations[$key] ?? $key;
    if (!empty($replace)) {
        foreach ($replace as $f => $v) {
            $text = str_replace(":" . $f, $v, $text);
        }
    }
    return $text;
}

$response = ['success' => false, 'message' => ''];

// 2. التحقق من تسجيل الدخول
if (!isset($_SESSION['user'])) {
    $response['message'] = __('error_unauthorized');
    echo json_encode($response);
    exit;
}

$student_id = $_GET['id'] ?? null;

if (!$student_id || !is_numeric($student_id)) {
    $response['message'] = __('error_missing_id');
    echo json_encode($response);
    exit;
}

try {
    /**
     * المصفوفة المترجمة لفحص القيود
     * تأكد من وجود مفاتيح label_enrollments و label_payments في ملفات اللغة
     */
    $tables = [
        'enrollments' => __('label_enrollments'),
        'payments'    => __('label_payments'),
    ];

    foreach ($tables as $table => $label) {
        // فحص وجود الجدول في قاعدة البيانات لتجنب الأخطاء البرمجية
        $checkTable = $conn->query("SHOW TABLES LIKE '$table'");
        if ($checkTable->rowCount() > 0) {
            $stmt = $conn->prepare("SELECT COUNT(*) FROM $table WHERE student_id = ?");
            $stmt->execute([$student_id]);
            if ($stmt->fetchColumn() > 0) {
                // استخدام رسالة منع الحذف المترجمة مع استبدال اسم الجدول
                $response['message'] = __('error_cannot_delete_linked', ['label' => $label]);
                echo json_encode($response);
                exit;
            }
        }
    }

    // 3. تنفيذ الحذف الفعلي
    $deleteStmt = $conn->prepare("DELETE FROM students WHERE id = ?");
    $deleteStmt->execute([$student_id]);

    if ($deleteStmt->rowCount() > 0) {
        $response['success'] = true;
        $response['message'] = __('delete_student_success_msg');
    } else {
        $response['message'] = __('error_student_not_found');
    }

} catch (PDOException $e) {
    $response['message'] = __('error_technical') . ": " . $e->getMessage();
}

echo json_encode($response);
exit;