<?php
// إخفاء الأخطاء البرمجية حتى لا تكسر استجابة الـ JSON
error_reporting(0); 
session_start();

// الاتصال بقاعدة البيانات
require_once 'db_connect.php';

// استلام البيانات
$data = json_decode(file_get_contents('php://input'), true);

// 🚀 هذا هو السطر السحري: يقوم بتنظيف أي مسافات مخفية أو شوائب قبل إرسال الرد
ob_clean();
header('Content-Type: application/json; charset=utf-8');

if (!$data) {
    // 🚀 لاحظ إضافة JSON_UNESCAPED_UNICODE لكي تظهر اللغة العربية بوضوح
    echo json_encode(['status' => 'error', 'message' => 'لم يتم إرسال بيانات صالحة.'], JSON_UNESCAPED_UNICODE);
    exit;
}

$student_id = $conn->real_escape_string($data['student_id'] ?? '');
$old_name = $conn->real_escape_string($data['old_name'] ?? '');
$new_name = $conn->real_escape_string($data['new_name'] ?? '');
$old_stage = $conn->real_escape_string($data['old_stage'] ?? '');
$new_stage = $conn->real_escape_string($data['new_stage'] ?? '');

if (empty($student_id) || empty($new_name) || empty($new_stage)) {
    echo json_encode(['status' => 'error', 'message' => 'بعض البيانات مفقودة، يرجى المحاولة مجدداً.'], JSON_UNESCAPED_UNICODE);
    exit;
}

// فحص وجود طلب سابق
$check = $conn->query("SELECT id FROM profile_update_requests WHERE student_id = '$student_id' AND status = 'pending'");
if($check && $check->num_rows > 0) {
    echo json_encode(['status' => 'error', 'message' => 'عذراً، لديك طلب تعديل قيد المراجعة بالفعل. انتظر موافقة الإدارة.'], JSON_UNESCAPED_UNICODE);
    exit;
}

// حفظ الطلب الجديد
$sql = "INSERT INTO profile_update_requests (student_id, old_name, new_name, old_stage, new_stage) 
        VALUES ('$student_id', '$old_name', '$new_name', '$old_stage', '$new_stage')";

if ($conn->query($sql)) {
    echo json_encode(['status' => 'success', 'message' => 'تم رفع طلبك للإدارة بنجاح. بانتظار الموافقة.'], JSON_UNESCAPED_UNICODE);
} else {
    echo json_encode(['status' => 'error', 'message' => 'حدث خطأ في قاعدة البيانات أثناء الحفظ.'], JSON_UNESCAPED_UNICODE);
}
?>