<?php
session_start();

// --- نظام جلب اللغة ---
$current_lang = $_SESSION['lang'] ?? 'ar';
$lang_file = "../languages/" . $current_lang . ".php";
$translations = file_exists($lang_file) ? include($lang_file) : [];

// ✅ التحقق من تسجيل الدخول
if (!isset($_SESSION['user'])) {
    header('Location: ../auth/login.php');
    exit;
}

require_once('../config/db.php');

$error = '';
$success = '';

// جلب قائمة المسوقين
$marketers = $conn->query("SELECT id, name FROM marketers ORDER BY name ASC")->fetchAll(PDO::FETCH_ASSOC);

// بيانات الحقول الافتراضية
$form_data = [
    'full_name' => $_POST['full_name'] ?? '',
    'phone' => $_POST['phone'] ?? '',
    'guardian_phone' => $_POST['guardian_phone'] ?? '',
    'national_id' => $_POST['national_id'] ?? '',
    'email' => $_POST['email'] ?? '',
    'gender' => $_POST['gender'] ?? '',
    'birth_date' => $_POST['birth_date'] ?? '',
    'address' => $_POST['address'] ?? '',
    'address_details' => $_POST['address_details'] ?? '',
    'study_system' => $_POST['study_system'] ?? '',
    'marketer_id' => $_POST['marketer_id'] ?? '',
];

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $full_name        = trim($form_data['full_name']);
    $phone            = trim($form_data['phone']);
    $guardian_phone   = trim($form_data['guardian_phone']);
    $national_id      = trim($form_data['national_id']);
    $email            = trim($form_data['email']);
    $gender           = $form_data['gender'];
    $birth_date       = $form_data['birth_date'];
    $address          = $form_data['address'];
    $address_details  = trim($form_data['address_details']);
    $study_system     = $form_data['study_system'];
    $marketer_id      = $form_data['marketer_id'] ?: null;

    // ===========================
    // التحقق من صحة البيانات (مترجم)
    // ===========================
    if ($full_name === '') {
        $error = $translations['error_name_required'] ?? "🚫 الاسم الكامل مطلوب.";
    } elseif ($phone === '') {
        $error = $translations['error_phone_required'] ?? "🚫 رقم الهاتف مطلوب.";
    } elseif (!preg_match('/^[0-9]{10}$/', $phone)) {
        $error = $translations['error_phone_10_digits'] ?? "🚫 رقم الهاتف يجب أن يكون 10 أرقام.";
    } elseif ($national_id === '') {
        $error = $translations['error_id_required'] ?? "🚫 الرقم الوطني مطلوب.";
    } elseif (!preg_match('/^[0-9]{10,15}$/', $national_id)) {
        $error = $translations['error_national_id_invalid'] ?? "🚫 الرقم الوطني غير صالح.";
    } elseif ($birth_date === '' || strtotime($birth_date) > time()) {
        $error = $translations['error_future_date'] ?? "🚫 تاريخ الميلاد غير صالح.";
    }

    if ($error === '') {
        try {
            // التحقق من تكرار الرقم الوطني
            $stmtCheck = $conn->prepare("SELECT COUNT(*) FROM students WHERE national_id = ?");
            $stmtCheck->execute([$national_id]);
            if ($stmtCheck->fetchColumn() > 0) {
                $error = ($translations['error_national_id_exists'] ?? "🚫 الرقم الوطني مسجل مسبقاً: ") . $national_id;
            } else {
                // جلب اسم المسوق
                $marketer_name = null;
                if ($marketer_id) {
                    foreach ($marketers as $m) {
                        if ($m['id'] == $marketer_id) { $marketer_name = $m['name']; break; }
                    }
                }

                // توليد اسم المستخدم المتسلسل
                $stmtMax = $conn->query("SELECT username FROM students WHERE username LIKE 'student%' ORDER BY id DESC LIMIT 1");
                $lastUser = $stmtMax->fetchColumn();
                if ($lastUser) {
                    preg_match('/student(\d+)/', $lastUser, $matches);
                    $num = isset($matches[1]) ? intval($matches[1]) + 1 : 1;
                } else { $num = 1; }
                $username = 'student' . str_pad($num, 3, '0', STR_PAD_LEFT);
                $password = password_hash('123', PASSWORD_DEFAULT);

                // إضافة الطالب
                $stmt = $conn->prepare("
                    INSERT INTO students 
                    (full_name, phone, guardian_phone, national_id, email, gender, birth_date, address, address_details, study_system, marketer_id, marketing_source, username, password)
                    VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
                ");
                $stmt->execute([
                    $full_name, $phone, $guardian_phone ?: null, $national_id, $email ?: null,
                    $gender, $birth_date, $address, $address_details ?: null, $study_system,
                    $marketer_id, $marketer_name ?: null, $username, $password
                ]);

                $success = ($translations['add_success_msg'] ?? "✅ تم إضافة الطالب بنجاح. اسم المستخدم: ") . "**{$username}**";
                $form_data = array_fill_keys(array_keys($form_data), ''); // تفريغ النموذج
            }
        } catch (PDOException $e) { $error = "❌ DB Error: " . $e->getMessage(); }
    }
}
?>

<?php include('../includes/header.php'); ?>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css" />
<link href="https://fonts.googleapis.com/css2?family=Cairo:wght@300;400;500;600;700;800&display=swap" rel="stylesheet">
<?php include('../includes/navbar.php'); ?>

<div class="min-h-screen bg-gray-100 dark:bg-gray-900 pb-16 font-[Cairo] flex items-center justify-center" dir="<?= $current_lang == 'ar' ? 'rtl' : 'ltr' ?>">
    <div class="max-w-4xl mx-auto py-10 px-4 sm:px-6 lg:px-8 w-full">

        <div class="bg-white dark:bg-gray-800 shadow-2xl rounded-xl p-8 border-t-8 border-indigo-600">
            <h2 class="text-4xl font-extrabold mb-8 text-gray-800 dark:text-gray-100 text-center border-b pb-4 border-indigo-200 dark:border-indigo-900">
                <i class="fas fa-user-plus text-indigo-500 <?= $current_lang == 'ar' ? 'ml-3' : 'mr-3' ?>"></i> 
                <?= $translations['page_title'] ?? 'تسجيل طالب جديد' ?>
            </h2>

            <?php if ($error): ?>
                <div class="mb-6 bg-red-100 dark:bg-red-900 border border-red-400 text-red-700 dark:text-red-300 rounded-lg p-4 font-semibold shadow-md flex items-center">
                    <i class="fas fa-exclamation-triangle <?= $current_lang == 'ar' ? 'ml-2' : 'mr-2' ?> text-xl"></i>
                    <?= $error ?>
                </div>
            <?php elseif ($success): ?>
                <div class="mb-6 bg-green-100 dark:bg-green-900 border border-green-400 text-green-700 dark:text-green-300 rounded-lg p-4 font-semibold shadow-md flex items-center justify-between">
                    <div>
                        <i class="fas fa-check-circle <?= $current_lang == 'ar' ? 'ml-2' : 'mr-2' ?> text-xl"></i>
                        <?= $success ?>
                    </div>
                    <a href="list.php" class="bg-green-600 text-white px-4 py-2 rounded-lg hover:bg-green-700 transition font-normal shadow-lg">
                        <i class="fas fa-list-ul <?= $current_lang == 'ar' ? 'ml-2' : 'mr-2' ?>"></i> <?= $translations['view_list'] ?? 'عرض القائمة' ?>
                    </a>
                </div>
            <?php endif; ?>

            <form method="POST" action="" class="grid grid-cols-1 md:grid-cols-2 gap-8">
                
                <div class="md:col-span-2 text-2xl font-bold text-indigo-600 dark:text-indigo-400 border-b-2 border-indigo-200 dark:border-indigo-700 pb-2 mb-4">
                    <i class="fas fa-id-card <?= $current_lang == 'ar' ? 'ml-2' : 'mr-2' ?>"></i> <?= $translations['personal_info'] ?? 'البيانات الشخصية' ?>
                </div>
                
                <div class="form-group">
                    <label for="full_name" class="block mb-1 font-medium text-gray-700 dark:text-gray-300"><?= $translations['label_full_name'] ?? 'الاسم الكامل' ?> <span class="text-red-500">*</span></label>
                    <input type="text" id="full_name" name="full_name" required
                        value="<?= htmlspecialchars($form_data['full_name']) ?>"
                        placeholder="<?= $translations['ph_full_name'] ?? 'الاسم الثلاثي أو الرباعي' ?>"
                        class="w-full px-4 py-3 border border-gray-300 dark:border-gray-600 dark:bg-gray-700 dark:text-white rounded-lg focus:outline-none focus:ring-4 focus:ring-indigo-500/50 transition shadow-inner" />
                </div>

                <div class="form-group">
                    <label for="national_id" class="block mb-1 font-medium text-gray-700 dark:text-gray-300"><?= $translations['label_national_id'] ?? 'الرقم الوطني' ?> <span class="text-red-500">*</span></label>
                    <input type="text" id="national_id" name="national_id" required
                        value="<?= htmlspecialchars($form_data['national_id']) ?>"
                        placeholder="<?= $translations['ph_national_id'] ?? 'الرقم الوطني المكون من 10 أرقام' ?>"
                        class="w-full px-4 py-3 border border-gray-300 dark:border-gray-600 dark:bg-gray-700 dark:text-white rounded-lg focus:outline-none focus:ring-4 focus:ring-indigo-500/50 transition shadow-inner" />
                </div>
                
                <div class="form-group">
                    <label for="birth_date" class="block mb-1 font-medium text-gray-700 dark:text-gray-300"><?= $translations['label_birth_date'] ?? 'تاريخ الميلاد' ?> <span class="text-red-500">*</span></label>
                    <input type="date" id="birth_date" name="birth_date" required
                        value="<?= htmlspecialchars($form_data['birth_date']) ?>"
                        max="<?= date('Y-m-d') ?>" 
                        class="w-full px-4 py-3 border border-gray-300 dark:border-gray-600 dark:bg-gray-700 dark:text-white rounded-lg focus:outline-none focus:ring-4 focus:ring-indigo-500/50 transition shadow-inner" />
                </div>

                <div class="form-group">
                    <label for="gender" class="block mb-1 font-medium text-gray-700 dark:text-gray-300"><?= $translations['label_gender'] ?? 'الجنس' ?> <span class="text-red-500">*</span></label>
                    <select id="gender" name="gender" required
                        class="w-full px-4 py-3 border border-gray-300 dark:border-gray-600 dark:bg-gray-700 dark:text-white rounded-lg focus:outline-none focus:ring-4 focus:ring-indigo-500/50 transition shadow-inner">
                        <option value=""><?= $translations['select_option'] ?? '-- اختر --' ?></option>
                        <option value="ذكر" <?= ($form_data['gender'] === 'ذكر') ? 'selected' : '' ?>><?= $translations['male'] ?? 'ذكر' ?></option>
                        <option value="أنثى" <?= ($form_data['gender'] === 'أنثى') ? 'selected' : '' ?>><?= $translations['female'] ?? 'أنثى' ?></option>
                    </select>
                </div>
                
                <div class="md:col-span-2 text-2xl font-bold text-indigo-600 dark:text-indigo-400 border-b-2 border-indigo-200 dark:border-indigo-700 pb-2 mb-4 mt-6">
                    <i class="fas fa-phone-alt <?= $current_lang == 'ar' ? 'ml-2' : 'mr-2' ?>"></i> <?= $translations['contact_info'] ?? 'بيانات التواصل' ?>
                </div>

                <div class="form-group">
                    <label for="phone" class="block mb-1 font-medium text-gray-700 dark:text-gray-300"><?= $translations['label_phone'] ?? 'رقم الهاتف' ?> <span class="text-red-500">*</span></label>
                    <input type="text" id="phone" name="phone" required
                        value="<?= htmlspecialchars($form_data['phone']) ?>"
                        placeholder="<?= $translations['ph_phone'] ?? 'رقم الطالب (10 أرقام)' ?>"
                        class="w-full px-4 py-3 border border-gray-300 dark:border-gray-600 dark:bg-gray-700 dark:text-white rounded-lg focus:outline-none focus:ring-4 focus:ring-indigo-500/50 transition shadow-inner" />
                </div>
                
                <div class="form-group">
                    <label for="guardian_phone" class="block mb-1 font-medium text-gray-700 dark:text-gray-300"><?= $translations['label_guardian_phone'] ?? 'رقم هاتف ولي الأمر' ?></label>
                    <input type="text" id="guardian_phone" name="guardian_phone"
                        value="<?= htmlspecialchars($form_data['guardian_phone']) ?>"
                        placeholder="<?= $translations['ph_optional'] ?? 'اختياري' ?>"
                        class="w-full px-4 py-3 border border-gray-300 dark:border-gray-600 dark:bg-gray-700 dark:text-white rounded-lg focus:outline-none focus:ring-4 focus:ring-indigo-500/50 transition shadow-inner" />
                </div>
                
                <div class="form-group">
                    <label for="email" class="block mb-1 font-medium text-gray-700 dark:text-gray-300"><?= $translations['label_school_uni'] ?? 'اسم الجامعة / المدرسة' ?></label>
                    <input type="text" id="email" name="email"
                        value="<?= htmlspecialchars($form_data['email']) ?>"
                        placeholder="<?= $translations['ph_optional'] ?? 'اختياري' ?>"
                        class="w-full px-4 py-3 border border-gray-300 dark:border-gray-600 dark:bg-gray-700 dark:text-white rounded-lg focus:outline-none focus:ring-4 focus:ring-indigo-500/50 transition shadow-inner" />
                </div>
                
                <div class="form-group">
                    <label for="address_details" class="block mb-1 font-medium text-gray-700 dark:text-gray-300"><?= $translations['label_address_details'] ?? 'العنوان التفصيلي' ?></label>
                    <input type="text" id="address_details" name="address_details"
                        value="<?= htmlspecialchars($form_data['address_details']) ?>"
                        placeholder="<?= $translations['ph_address_details'] ?? 'مثل: الشارع، المبنى، رقم الشقة (اختياري)' ?>"
                        class="w-full px-4 py-3 border border-gray-300 dark:border-gray-600 dark:bg-gray-700 dark:text-white rounded-lg focus:outline-none focus:ring-4 focus:ring-indigo-500/50 transition shadow-inner" />
                </div>

                <div class="md:col-span-2 text-2xl font-bold text-indigo-600 dark:text-indigo-400 border-b-2 border-indigo-200 dark:border-indigo-700 pb-2 mb-4 mt-6">
                    <i class="fas fa-graduation-cap <?= $current_lang == 'ar' ? 'ml-2' : 'mr-2' ?>"></i> <?= $translations['study_marketing_info'] ?? 'بيانات الدراسة والتسويق' ?>
                </div>

                <div class="form-group">
                    <label for="address" class="block mb-1 font-medium text-gray-700 dark:text-gray-300"><?= $translations['label_branch'] ?? 'الفرع' ?> <span class="text-red-500">*</span></label>
                    <select id="address" name="address" required
                        class="w-full px-4 py-3 border border-gray-300 dark:border-gray-600 dark:bg-gray-700 dark:text-white rounded-lg focus:outline-none focus:ring-4 focus:ring-indigo-500/50 transition shadow-inner">
                        <option value=""><?= $translations['select_option'] ?? '-- اختر --' ?></option>
                        <option value="عمان" <?= ($form_data['address'] === 'عمان') ? 'selected' : '' ?>><?= $translations['branch_amman'] ?? 'عمان' ?></option>
                        <option value="اربد" <?= ($form_data['address'] === 'اربد') ? 'selected' : '' ?>><?= $translations['branch_irbid'] ?? 'اربد' ?></option>
                    </select>
                </div>

                <div class="form-group">
                    <label for="study_system" class="block mb-1 font-medium text-gray-700 dark:text-gray-300"><?= $translations['label_study_system'] ?? 'نظام الدراسة' ?> <span class="text-red-500">*</span></label>
                    <select id="study_system" name="study_system" required
                        class="w-full px-4 py-3 border border-gray-300 dark:border-gray-600 dark:bg-gray-700 dark:text-white rounded-lg focus:outline-none focus:ring-4 focus:ring-indigo-500/50 transition shadow-inner">
                        <option value=""><?= $translations['select_option'] ?? '-- اختر --' ?></option>
                        <option value="منتظم" <?= ($form_data['study_system'] === 'منتظم') ? 'selected' : '' ?>><?= $translations['regular'] ?? 'منتظم' ?></option>
                        <option value="منسحب" <?= ($form_data['study_system'] === 'منسحب') ? 'selected' : '' ?>><?= $translations['withdrawn'] ?? 'منسحب' ?></option>
                    </select>
                </div>

                <div class="form-group md:col-span-2">
                    <label for="marketer_id" class="block mb-1 font-medium text-gray-700 dark:text-gray-300"><?= $translations['label_marketer_name'] ?? 'اسم المسوّق' ?></label>
                    <select id="marketer_id" name="marketer_id"
                        class="w-full px-4 py-3 border border-gray-300 dark:border-gray-600 dark:bg-gray-700 dark:text-white rounded-lg focus:outline-none focus:ring-4 focus:ring-indigo-500/50 transition shadow-inner">
                        <option value=""><?= $translations['select_marketer_optional'] ?? '-- اختر المسوّق (اختياري) --' ?></option>
                        <?php foreach ($marketers as $m): ?>
                            <option value="<?= $m['id'] ?>" <?= ($form_data['marketer_id'] == $m['id']) ? 'selected' : '' ?>>
                                <?= htmlspecialchars($m['name']) ?>
                            </option>
                        <?php endforeach; ?>
                    </select>
                </div>

                <div class="md:col-span-2 flex flex-col sm:flex-row justify-between items-center gap-4 mt-6">
                    <a href="list.php"
                        class="w-full sm:w-1/3 text-center bg-gray-300 text-gray-800 font-semibold py-3 rounded-xl hover:bg-gray-400 transition shadow-md flex items-center justify-center order-2 sm:order-1 transform hover:scale-[1.01]">
                        <i class="fas <?= $current_lang == 'ar' ? 'fa-arrow-right ml-2' : 'fa-arrow-left mr-2' ?>"></i> 
                        <?= $translations['back_to_list'] ?? 'العودة إلى قائمة الطلاب' ?>
                    </a>
                    
                    <button type="submit"
                        class="w-full sm:w-2/3 bg-indigo-600 text-white font-bold py-3 rounded-xl hover:bg-indigo-700 transition shadow-lg transform hover:scale-[1.01] order-1 sm:order-2">
                        <i class="fas fa-save <?= $current_lang == 'ar' ? 'ml-2' : 'mr-2' ?>"></i> 
                        <?= $translations['update_button'] ?? 'إضافة الطالب وحفظ البيانات' ?>
                    </button>
                </div>
            </form>
        </div>
    </div>
</div>

<?php include('../includes/footer.php'); ?>