<?php
session_start();
// منع الأخطاء العشوائية من إفساد رد الـ JSON
ini_set('display_errors', 0);
header('Content-Type: application/json; charset=utf-8');

require_once 'db_connect.php';

try {
    if ($conn->connect_error) throw new Exception('فشل الاتصال بالقاعدة');

    $role = $_POST['role'] ?? '';
    $name = $conn->real_escape_string(trim($_POST['name'] ?? ''));
    $phone = $conn->real_escape_string(trim($_POST['phone'] ?? ''));
    $email = $conn->real_escape_string(trim($_POST['email'] ?? ''));
    $country = $conn->real_escape_string(trim($_POST['country'] ?? ''));
    $password = $conn->real_escape_string($_POST['password'] ?? '');

    if (empty($name) || empty($phone) || empty($password)) {
        throw new Exception('يرجى إكمال الحقول الأساسية.');
    }

    // 1. معالجة تسجيل المدرس
    if ($role === 'teacher') {
        $spec = $conn->real_escape_string($_POST['spec'] ?? '');
        
        // --- التعديل الجديد هنا ---
        // استبدال المسافات في الاسم بشرطة سفلية ليكون الرابط احترافياً وبدون %20
        $safe_name = str_replace(' ', '_', trim($name)); 
        // توليد المعرف: teacher + الاسم + رقم فريد
        $slug = 'teacher_' . $safe_name . '_' . time(); 
        // -------------------------
        
        $sql = "INSERT INTO teachers (teacher_name, display_name, phone, email, country, password, specialization, account_status, role) 
                VALUES (?, ?, ?, ?, ?, ?, ?, 'pending', 'teacher')";
        $stmt = $conn->prepare($sql);
        if (!$stmt) throw new Exception('خطأ في تحضير استعلام المدرس: ' . $conn->error);
        
        $stmt->bind_param("sssssss", $slug, $name, $phone, $email, $country, $password, $spec);
        
        if ($stmt->execute()) {
            $_SESSION['teacher_slug'] = $slug;
            // 🎯 تم التعديل هنا: التوجيه للرابط النظيف (بدون .php)
            echo json_encode(['status' => 'success', 'message' => 'أهلاً بك أستاذ ' . $name, 'redirect' => $slug]);
        } else {
            throw new Exception('خطأ في قاعدة بيانات المدرسين: ' . $conn->error);
        }
    }

    // 2. معالجة تسجيل الطالب
    elseif ($role === 'student') {
        $stage = $conn->real_escape_string($_POST['stage'] ?? '');
        $sync_id = 'RM-' . date('y') . '-' . rand(1000, 9999);
        
        // --- الإضافة الجديدة للطالب هنا ---
        $safe_name = str_replace(' ', '_', trim($name));
        // تشكيل الرابط الجميل: student_الاسم_المعرف
        $beautiful_url = 'student_' . $safe_name . '_' . $sync_id;
        // ---------------------------------

        $sql = "INSERT INTO students (student_id, student_name, phone, password, stage, role) VALUES (?, ?, ?, ?, ?, 'student')";
        $stmt = $conn->prepare($sql);
        if (!$stmt) throw new Exception('خطأ في تحضير استعلام الطالب: ' . $conn->error);
        
        $stmt->bind_param("sssss", $sync_id, $name, $phone, $password, $stage);
        
        if ($stmt->execute()) {
            $_SESSION['student_id'] = $sync_id;
            // 🎯 تم التعديل هنا: التوجيه للرابط النظيف الخاص بالطالب
            echo json_encode(['status' => 'success', 'message' => 'تم إنتاج معرفك: ' . $sync_id, 'redirect' => $beautiful_url]);
        } else {
            throw new Exception('هذا الرقم مسجل مسبقاً.');
        }
    }
} catch (Exception $e) {
    echo json_encode(['status' => 'error', 'message' => $e->getMessage()]);
}
?>