<?php
session_start();

// 1. إدارة اللغة والجلسة
if (isset($_GET['lang'])) {
    $_SESSION['lang'] = $_GET['lang'];
}
$lang = $_SESSION['lang'] ?? 'ar';
$is_ar = ($lang === 'ar');
$dir = $is_ar ? 'rtl' : 'ltr';

// نصوص الترجمة
$texts = [
    'ar' => [
        'title' => 'إدارة سعر الصرف - أسامة إلكتريك',
        'header' => 'تحديث سعر الصرف اليومي',
        'sub_header' => 'تعديل قيمة الدولار مقابل الليرة اللبنانية/السورية',
        'home' => 'الرئيسية',
        'current_rate' => 'سعر الصرف الحالي',
        'new_rate' => 'سعر الصرف الجديد',
        'update_btn' => 'تحديث السعر الآن',
        'history_title' => 'سجل التغييرات الأخيرة',
        'date' => 'التاريخ والوقت',
        'rate' => 'السعر (1$ = ?)',
        'success' => 'تم تحديث سعر الصرف وتسجيله في السجل',
        'chart_label' => 'حركة سعر الصرف',
        'lira' => 'ل.ل'
    ],
    'en' => [
        'title' => 'Exchange Rate - Osama Electric',
        'header' => 'Daily Exchange Rate Update',
        'sub_header' => 'Adjust USD value against LBP/SYP',
        'home' => 'Home',
        'current_rate' => 'Current Rate',
        'new_rate' => 'New Exchange Rate',
        'update_btn' => 'Update Rate Now',
        'history_title' => 'Recent Changes History',
        'date' => 'Date & Time',
        'rate' => 'Rate (1$ = ?)',
        'success' => 'Exchange rate updated and logged',
        'chart_label' => 'Rate Movement',
        'lira' => 'L.L'
    ]
];

// 2. تضمين ملف الاتصال PDO
if (file_exists('db.php')) {
    include 'db.php';
} else {
    die("Error: db.php not found.");
}

$message = '';

// 3. معالجة تحديث سعر الصرف
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['update_rate'])) {
    try {
        $new_rate = $_POST['usd_to_lbp'];

        // أ. تحديث القيمة العالمية في جدول settings (ليستخدمها النظام في الفواتير)
        $stmt_set = $pdo->prepare("UPDATE settings SET setting_value = ? WHERE setting_key = 'exchange_rate'");
        $stmt_set->execute([$new_rate]);

        // ب. تسجيل التغيير في جدول exchange_rates (لحفظ السجل التاريخي)
        $stmt_his = $pdo->prepare("INSERT INTO exchange_rates (usd_to_lbp) VALUES (?)");
        $stmt_his->execute([$new_rate]);

        $message = $texts[$lang]['success'];
    } catch (PDOException $e) {
        $message = "Error: " . $e->getMessage();
    }
}

// 4. جلب البيانات للعرض
try {
    // السعر الحالي من الإعدادات
    $current_rate = $pdo->query("SELECT setting_value FROM settings WHERE setting_key = 'exchange_rate'")->fetchColumn() ?: 0;
    
    // آخر 10 تغييرات للسجل والرسم البياني
    $history = $pdo->query("SELECT * FROM exchange_rates ORDER BY created_at DESC LIMIT 10")->fetchAll();
    
    // تجهيز بيانات الرسم البياني (عكس الترتيب ليكون زمنياً من الأقدم للأحدث)
    $chart_data = array_reverse($history);
} catch (PDOException $e) {
    $current_rate = 0; $history = []; $chart_data = [];
}
?>

<!DOCTYPE html>
<html lang="<?= $lang ?>" dir="<?= $dir ?>">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title><?= $texts[$lang]['title'] ?></title>
    <script src="https://cdn.tailwindcss.com"></script>
    <link href="https://fonts.googleapis.com/css2?family=Cairo:wght@400;600;700;900&display=swap" rel="stylesheet">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
    <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
    <style>
        body { font-family: 'Cairo', sans-serif; background-color: #f0f2f5; }
        .glass-card { background: rgba(255, 255, 255, 0.9); backdrop-filter: blur(10px); }
    </style>
</head>
<body class="pb-12 text-slate-800">

    <div class="container mx-auto px-4 py-8 max-w-5xl">
        <!-- Header -->
        <div class="bg-white p-8 rounded-[2.5rem] shadow-sm mb-8 flex flex-col md:flex-row justify-between items-center gap-6 border border-slate-100">
            <div class="flex items-center gap-5">
                <div class="w-16 h-16 bg-blue-600 text-white rounded-2xl flex items-center justify-center text-3xl shadow-xl shadow-blue-100">
                    <i class="fas fa-sync-alt"></i>
                </div>
                <div>
                    <h1 class="text-2xl font-black text-slate-800"><?= $texts[$lang]['header'] ?></h1>
                    <p class="text-sm text-slate-400 font-bold"><?= $texts[$lang]['sub_header'] ?></p>
                </div>
            </div>
            <a href="dashboard.php" class="bg-slate-100 text-slate-600 px-8 py-3 rounded-2xl font-bold hover:bg-slate-200 transition">
                <?= $texts[$lang]['home'] ?>
            </a>
        </div>

        <?php if($message): ?>
            <div class="bg-blue-600 text-white p-5 rounded-2xl mb-8 border border-blue-700 flex items-center gap-3 font-bold shadow-lg shadow-blue-100 animate-bounce">
                <i class="fas fa-check-circle text-xl"></i> <?= $message ?>
            </div>
        <?php endif; ?>

        <div class="grid grid-cols-1 lg:grid-cols-3 gap-8">
            <!-- Left Side: Update Form -->
            <div class="lg:col-span-1 space-y-8">
                <div class="bg-white p-8 rounded-[2.5rem] shadow-sm border border-slate-100">
                    <div class="text-center mb-8">
                        <p class="text-xs font-black text-slate-400 uppercase tracking-widest mb-2"><?= $texts[$lang]['current_rate'] ?></p>
                        <h2 class="text-4xl font-black text-blue-600"><?= number_format($current_rate) ?> <small class="text-sm"><?= $texts[$lang]['lira'] ?></small></h2>
                    </div>

                    <form method="POST" class="space-y-6">
                        <input type="hidden" name="update_rate" value="1">
                        <div>
                            <label class="block text-xs font-black text-slate-400 mb-2 uppercase tracking-widest"><?= $texts[$lang]['new_rate'] ?></label>
                            <input type="number" name="usd_to_lbp" value="<?= $current_rate ?>" required 
                                   class="w-full p-4 bg-slate-50 rounded-2xl border-none focus:ring-2 focus:ring-blue-500 font-black text-2xl text-center text-slate-700 shadow-inner">
                        </div>
                        <button type="submit" class="w-full p-5 bg-blue-600 hover:bg-blue-700 text-white rounded-2xl font-black shadow-lg shadow-blue-100 transition transform active:scale-95 flex items-center justify-center gap-3">
                            <?= $texts[$lang]['update_btn'] ?>
                        </button>
                    </form>
                </div>

                <div class="bg-slate-800 p-8 rounded-[2.5rem] shadow-xl text-white">
                    <h4 class="font-bold mb-4 flex items-center gap-2 text-blue-400">
                        <i class="fas fa-info-circle"></i> تنبيه تقني
                    </h4>
                    <p class="text-xs leading-relaxed opacity-70">
                        تغيير سعر الصرف سيؤثر على الفواتير التي سيتم إصدارها من هذه اللحظة فصاعداً. الفواتير القديمة ستحتفظ بسعر الصرف الذي صدرت به.
                    </p>
                </div>
            </div>

            <!-- Right Side: History & Chart -->
            <div class="lg:col-span-2 space-y-8">
                <!-- Chart -->
                <div class="bg-white p-8 rounded-[2.5rem] shadow-sm border border-slate-100">
                    <h5 class="font-black text-slate-700 mb-6 flex items-center gap-2">
                        <i class="fas fa-chart-line text-blue-500"></i> <?= $texts[$lang]['chart_label'] ?>
                    </h5>
                    <div class="h-64">
                        <canvas id="rateChart"></canvas>
                    </div>
                </div>

                <!-- History Table -->
                <div class="bg-white rounded-[2.5rem] shadow-sm border border-slate-100 overflow-hidden">
                    <div class="p-6 bg-slate-50 border-b border-slate-100">
                        <h5 class="font-black text-slate-700"><?= $texts[$lang]['history_title'] ?></h5>
                    </div>
                    <div class="overflow-x-auto">
                        <table class="w-full text-<?= $is_ar ? 'right' : 'left' ?>">
                            <thead class="bg-slate-50/50 text-slate-400 text-[10px] font-black uppercase tracking-widest">
                                <tr>
                                    <th class="p-5"><?= $texts[$lang]['date'] ?></th>
                                    <th class="p-5 text-center"><?= $texts[$lang]['rate'] ?></th>
                                </tr>
                            </thead>
                            <tbody class="divide-y divide-slate-50">
                                <?php foreach($history as $h): ?>
                                <tr class="hover:bg-blue-50/20 transition">
                                    <td class="p-5 text-sm font-bold text-slate-500 italic"><?= $h['created_at'] ?></td>
                                    <td class="p-5 text-center">
                                        <span class="font-black text-slate-800"><?= number_format($h['usd_to_lbp']) ?></span>
                                        <small class="text-slate-400 text-[10px]"><?= $texts[$lang]['lira'] ?></small>
                                    </td>
                                </tr>
                                <?php endforeach; ?>
                                <?php if(empty($history)): ?>
                                    <tr><td colspan="2" class="p-10 text-center text-slate-300 italic font-bold">لا توجد بيانات مسجلة في السجل</td></tr>
                                <?php endif; ?>
                            </tbody>
                        </table>
                    </div>
                </div>
            </div>
        </div>
    </div>

    <script>
        const ctx = document.getElementById('rateChart').getContext('2d');
        const labels = <?= json_encode(array_map(function($h) { return date('m/d H:i', strtotime($h['created_at'])); }, $chart_data)) ?>;
        const dataValues = <?= json_encode(array_map(function($h) { return $h['usd_to_lbp']; }, $chart_data)) ?>;

        new Chart(ctx, {
            type: 'line',
            data: {
                labels: labels,
                datasets: [{
                    label: '<?= $texts[$lang]['chart_label'] ?>',
                    data: dataValues,
                    borderColor: '#2563eb',
                    backgroundColor: 'rgba(37, 99, 235, 0.1)',
                    borderWidth: 4,
                    pointBackgroundColor: '#fff',
                    pointBorderColor: '#2563eb',
                    pointBorderWidth: 2,
                    pointRadius: 4,
                    tension: 0.4,
                    fill: true
                }]
            },
            options: {
                responsive: true,
                maintainAspectRatio: false,
                plugins: { legend: { display: false } },
                scales: {
                    y: { 
                        grid: { display: true, color: '#f1f5f9' },
                        ticks: { font: { family: 'Cairo', weight: 'bold' } }
                    },
                    x: { 
                        grid: { display: false },
                        ticks: { font: { family: 'Cairo', size: 10 } }
                    }
                }
            }
        });
    </script>
</body>
</html>