<?php
session_start();
if (!isset($_SESSION['user'])) {
    header('Location: ../auth/login.php');
    exit;
}

require_once('../config/db.php');

// التأكد من استدعاء الهيدر لتعريف دالة الترجمة والمتغيرات الأساسية
include('../includes/header.php'); 

if (!isset($_GET['student_id'])) {
    die(__('error_student_id_missing'));
}

$student_id = (int) $_GET['student_id'];

// جلب بيانات الطالب
$student_stmt = $conn->prepare("SELECT * FROM students WHERE id = ?");
$student_stmt->execute([$student_id]);
$student = $student_stmt->fetch(PDO::FETCH_ASSOC);

if (!$student) {
    die(__('error_student_not_found'));
}

// حساب السعر الكلي للكورسات
$total_price_stmt = $conn->prepare("
    SELECT SUM(c.price) FROM enrollments e
    JOIN courses c ON e.course_id = c.id
    WHERE e.student_id = ?
");
$total_price_stmt->execute([$student_id]);
$total_price = $total_price_stmt->fetchColumn() ?? 0;

// حساب المبلغ المدفوع والخصومات السابقة
$total_paid_stmt = $conn->prepare("SELECT SUM(amount_paid + discount) FROM payments WHERE student_id = ?");
$total_paid_stmt->execute([$student_id]);
$total_paid = $total_paid_stmt->fetchColumn() ?? 0;

$remaining = $total_price - $total_paid;
$error = '';
$success = '';

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $amount_paid = floatval($_POST['amount_paid']);
    $discount = floatval($_POST['discount'] ?? 0);
    $payment_date = $_POST['payment_date'];
    $payment_method = $_POST['payment_method'];

    if ($amount_paid < 0 || $discount < 0) {
        $error = __('error_invalid_amounts');
    } elseif (($amount_paid + $discount) > $remaining + 0.01) { 
        $error = __('error_payment_exceeds_remaining');
    } else {
        $stmt = $conn->prepare("INSERT INTO payments (student_id, amount_paid, discount, payment_date, payment_method) VALUES (?, ?, ?, ?, ?)");
        $stmt->execute([$student_id, $amount_paid, $discount, $payment_date, $payment_method]);
        $payment_id = $conn->lastInsertId();

        $success = __('success_payment_recorded');
        $total_paid += $amount_paid + $discount;
        $remaining -= $amount_paid + $discount;

        // تسجيل عمولة المسوق
        if (!empty($student['marketing_source'])) {
            $marketer_stmt = $conn->prepare("SELECT id, commission_percent FROM marketers WHERE name = ?");
            $marketer_stmt->execute([$student['marketing_source']]);
            $marketer = $marketer_stmt->fetch(PDO::FETCH_ASSOC);

            if ($marketer) {
                $check_commission = $conn->prepare("SELECT COUNT(*) FROM marketer_commissions WHERE student_id = ?");
                $check_commission->execute([$student_id]);
                $already_counted = $check_commission->fetchColumn();

                if (!$already_counted) {
                    $commission_amount = $marketer['commission_percent'] ?? 0;
                    $conn->prepare("INSERT INTO marketer_commissions (marketer_id, student_id, payment_id, commission_amount) VALUES (?, ?, ?, ?)")
                        ->execute([$marketer['id'], $student_id, $payment_id, $commission_amount]);
                }
            }
        }
    }
}
?>

<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@400;600;700;800&display=swap" rel="stylesheet">

<style>
    body { font-family: 'Cairo', sans-serif; background-color: #f8fafc; }
    .form-card { border-radius: 1.5rem; }
    .stat-card { border-radius: 1rem; transition: all 0.3s ease; }
    .input-field { transition: all 0.2s ease; }
    .input-field:focus { transform: translateY(-2px); }
</style>

<?php include('../includes/navbar.php'); ?>

<div class="min-h-screen pb-16" dir="<?= $dir ?>">
    <div class="max-w-4xl mx-auto py-10 px-4 sm:px-6 lg:px-8">
        
        <div class="mb-8 flex flex-col md:flex-row md:items-center md:justify-between gap-4">
            <div>
                <h2 class="text-3xl font-black text-gray-800"><?= __('add_payment_title') ?></h2>
                <p class="text-gray-500 mt-1"><?= __('recording_payment_for') ?>: <span class="text-indigo-600 font-bold"><?= htmlspecialchars($student['full_name']) ?></span></p>
            </div>
            <a href="report.php" class="inline-flex items-center bg-white border border-gray-200 text-gray-600 px-5 py-2.5 rounded-xl font-bold hover:bg-gray-50 transition shadow-sm">
                <i class="fas <?= $dir == 'rtl' ? 'fa-arrow-right ml-2' : 'fa-arrow-left mr-2' ?>"></i> <?= __('back_to_report') ?>
            </a>
        </div>

        <?php if ($error): ?>
            <div class="bg-red-50 border-<?= $dir == 'rtl' ? 'r' : 'l' ?>-4 border-red-500 text-red-700 p-4 rounded-xl mb-6 flex items-center shadow-sm">
                <i class="fas fa-exclamation-circle <?= $dir == 'rtl' ? 'ml-3' : 'mr-3' ?> text-xl"></i>
                <span class="font-bold"><?= $error ?></span>
            </div>
        <?php endif; ?>

        <?php if ($success): ?>
            <div class="bg-emerald-50 border-<?= $dir == 'rtl' ? 'r' : 'l' ?>-4 border-emerald-500 text-emerald-700 p-4 rounded-xl mb-6 flex items-center shadow-sm">
                <i class="fas fa-check-circle <?= $dir == 'rtl' ? 'ml-3' : 'mr-3' ?> text-xl"></i>
                <span class="font-bold"><?= $success ?></span>
            </div>
        <?php endif; ?>

        <div class="grid grid-cols-1 md:grid-cols-3 gap-4 mb-8">
            <div class="stat-card bg-white p-5 border border-gray-100 shadow-sm">
                <p class="text-gray-500 text-xs font-bold mb-1"><?= __('total_courses_price') ?></p>
                <p class="text-xl font-black text-gray-800"><?= number_format($total_price, 2) ?> <span class="text-sm font-normal text-gray-400"><?= __('currency_symbol') ?></span></p>
            </div>
            <div class="stat-card bg-emerald-50 p-5 border border-emerald-100 shadow-sm">
                <p class="text-emerald-600 text-xs font-bold mb-1"><?= __('total_paid') ?></p>
                <p class="text-xl font-black text-emerald-700"><?= number_format($total_paid, 2) ?> <span class="text-sm font-normal text-emerald-400"><?= __('currency_symbol') ?></span></p>
            </div>
            <div class="stat-card bg-orange-50 p-5 border border-orange-100 shadow-sm">
                <p class="text-orange-600 text-xs font-bold mb-1"><?= __('remaining_amount') ?></p>
                <p class="text-xl font-black text-orange-700"><?= number_format($remaining, 2) ?> <span class="text-sm font-normal text-orange-400"><?= __('currency_symbol') ?></span></p>
            </div>
        </div>

        <div class="bg-white form-card shadow-xl overflow-hidden border border-gray-100">
            <div class="bg-indigo-600 p-6">
                <h3 class="text-white font-bold flex items-center">
                    <i class="fas fa-file-invoice-dollar <?= $dir == 'rtl' ? 'ml-3' : 'mr-3' ?> text-xl"></i>
                    <?= __('new_payment_details') ?>
                </h3>
            </div>
            
            <form method="POST" class="p-8 grid grid-cols-1 md:grid-cols-2 gap-6">
                <div class="space-y-2">
                    <label class="block text-sm font-bold text-gray-700"><?= __('amount_paid_label') ?></label>
                    <div class="relative">
                        <span class="absolute inset-y-0 <?= $dir == 'rtl' ? 'right-0 pr-4' : 'left-0 pl-4' ?> flex items-center text-gray-400">
                            <i class="fas fa-money-bill-wave"></i>
                        </span>
                        <input type="number" name="amount_paid" step="0.01" min="0" max="<?= $remaining ?>" required
                               class="input-field w-full <?= $dir == 'rtl' ? 'pr-12 pl-4' : 'pl-12 pr-4' ?> py-3 rounded-xl border-gray-200 focus:border-indigo-500 focus:ring-4 focus:ring-indigo-500/10 shadow-sm">
                    </div>
                </div>

                <div class="space-y-2">
                    <label class="block text-sm font-bold text-gray-700"><?= __('discount_label') ?></label>
                    <div class="relative">
                        <span class="absolute inset-y-0 <?= $dir == 'rtl' ? 'right-0 pr-4' : 'left-0 pl-4' ?> flex items-center text-gray-400">
                            <i class="fas fa-tag"></i>
                        </span>
                        <input type="number" name="discount" step="0.01" min="0" max="<?= $remaining ?>" value="0"
                               class="input-field w-full <?= $dir == 'rtl' ? 'pr-12 pl-4' : 'pl-12 pr-4' ?> py-3 rounded-xl border-gray-200 focus:border-indigo-500 focus:ring-4 focus:ring-indigo-500/10 shadow-sm">
                    </div>
                </div>

                <div class="space-y-2">
                    <label class="block text-sm font-bold text-gray-700"><?= __('payment_date_label') ?></label>
                    <div class="relative">
                        <span class="absolute inset-y-0 <?= $dir == 'rtl' ? 'right-0 pr-4' : 'left-0 pl-4' ?> flex items-center text-gray-400">
                            <i class="fas fa-calendar-alt"></i>
                        </span>
                        <input type="date" name="payment_date" value="<?= date('Y-m-d') ?>" required
                               class="input-field w-full <?= $dir == 'rtl' ? 'pr-12 pl-4' : 'pl-12 pr-4' ?> py-3 rounded-xl border-gray-200 focus:border-indigo-500 focus:ring-4 focus:ring-indigo-500/10 shadow-sm">
                    </div>
                </div>

                <div class="space-y-2">
                    <label class="block text-sm font-bold text-gray-700"><?= __('payment_method_label') ?></label>
                    <div class="relative">
                        <span class="absolute inset-y-0 <?= $dir == 'rtl' ? 'right-0 pr-4' : 'left-0 pl-4' ?> flex items-center text-gray-400">
                            <i class="fas fa-wallet"></i>
                        </span>
                        <select name="payment_method" required
                                 class="input-field w-full <?= $dir == 'rtl' ? 'pr-12 pl-4' : 'pl-12 pr-4' ?> py-3 rounded-xl border-gray-200 focus:border-indigo-500 focus:ring-4 focus:ring-indigo-500/10 shadow-sm appearance-none">
                            <option value="نقداً"><?= __('method_cash') ?></option>
                            <option value="فيزا"><?= __('method_visa') ?></option>
                            <option value="كليك"><?= __('method_cliq') ?></option>
                            <option value="تحويل بنكي"><?= __('method_bank') ?></option>
                        </select>
                    </div>
                </div>

                <div class="md:col-span-2 pt-4">
                    <button type="submit" class="w-full bg-indigo-600 hover:bg-indigo-700 text-white font-black py-4 rounded-xl shadow-lg shadow-indigo-200 transition-all transform active:scale-95 flex items-center justify-center">
                        <i class="fas fa-save <?= $dir == 'rtl' ? 'ml-2' : 'mr-2' ?>"></i> <?= __('save_payment_btn') ?>
                    </button>
                </div>
            </form>
        </div>
    </div>
</div>

<?php include('../includes/footer.php'); ?>