<?php
session_start();

// ১. লগইন এবং মাল্টি-টেন্যান্ট সেশন চেক
if (!isset($_SESSION['loggedin']) || $_SESSION['loggedin'] !== true || !isset($_SESSION['isp_id'])) {
    header("Location: login.php");
    exit;
}

// রোল চেক (Super Admin এবং স্টাফ অ্যাক্সেস কন্ট্রোল)
$user_role = $_SESSION['role'] ?? 'Stuff';
if ($user_role !== 'Super Admin') {
    $_SESSION['msg_error'] = "আপনার এই ফাইলটি এক্সপোর্ট করার অনুমতি নেই!";
    header("Location: all.php"); 
    exit;
}

$current_isp_id = $_SESSION['isp_id'];

include 'config.php';

// ২. ডাটাবেস স্ক্রিনশট অনুযায়ী সবগুলো কলাম কুয়েরি করা হলো
$query = "SELECT customer_id, name, phone, password, nid_no, bill_amount, expiry_date, package, connection_date, balance, address, area, status 
          FROM customers 
          WHERE isp_id = '$current_isp_id' 
          ORDER BY id ASC";

$result = mysqli_query($conn, $query);

if (!$result) {
    die("ডাটাবেস থেকে তথ্য সংগ্রহ করতে সমস্যা হয়েছে।");
}

// ৩. ব্রাউজারকে CSV ফাইল ডাউনলোডের হেডার পাঠানো
$filename = "customer_list_isp_" . $current_isp_id . "_" . date('Y-m-d') . ".csv";

header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename="' . $filename . '"');

// ৪. আউটপুট স্ট্রিম ওপেন করা
$output = fopen('php://output', 'w');

// UTF-8 BOM যুক্ত করা (যাতে এক্সেল ফাইলে বাংলা লেখা বা নাম ভেঙে না যায়)
fprintf($output, chr(0xEF).chr(0xBB).chr(0xBF));

// ৫. ডাটাবেস অনুযায়ী CSV ফাইলের কলাম হেডার সেট করা
fputcsv($output, array(
    'Customer ID', 
    'Name', 
    'Phone', 
    'Password', 
    'NID No',
    'Bill Amount', 
    'Expiry Date', 
    'Package',
    'Connection Date',
    'Balance',
    'Address',
    'Area', 
    'Status'
));

// ৬. লুপের মাধ্যমে ডাটা রাইট করা
while ($row = mysqli_fetch_assoc($result)) {
    // তারিখ ফরম্যাট সুন্দর করা (dd-mm-yyyy)
    if (!empty($row['expiry_date']) && $row['expiry_date'] != '0000-00-00') {
        $row['expiry_date'] = date("d-M-Y", strtotime($row['expiry_date']));
    }
    if (!empty($row['connection_date']) && $row['connection_date'] != '0000-00-00') {
        $row['connection_date'] = date("d-M-Y", strtotime($row['connection_date']));
    }
    
    fputcsv($output, $row);
}

// স্ট্রিম বন্ধ করা
fclose($output);
exit;
?>