<?php 
session_start(); // সেশন শুরু করা হলো

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

$current_isp_id = $_SESSION['isp_id'];

include 'config.php';
date_default_timezone_set('Asia/Dhaka'); 

// ২. ডাটাবেস থেকে বর্তমান আইএসপির নিজস্ব SMS সেটিংস ও ব্র্যান্ডিং তথ্য তুলে আনা
$settings_res = mysqli_query($conn, "SELECT * FROM isp_settings WHERE isp_id = '$current_isp_id' LIMIT 1");
$isp_settings = mysqli_fetch_assoc($settings_res);

if (!$isp_settings) {
    die("আপনার আইএসপি সেটিংস (SMS/Branding) কনফিগার করা নেই। অনুগ্রহ করে অ্যাডমিন প্যানেল থেকে সেটিংস আপডেট করুন।");
}

// জাভাস্ক্রিপ্ট মেসেজের জন্য ডাইনামিক ডাটা প্রস্তুতকরণ
$company_name = $isp_settings['company_name'] ?? 'Our ISP';
$portal_url   = $isp_settings['portal_url'] ?? $_SERVER['HTTP_HOST'];
$support_no   = $isp_settings['support_phone'] ?? '01XXXXXXXXX';
$payment_info = $isp_settings['payment_instructions'] ?? 'Contact office for payment.';
$sms_secret   = $isp_settings['sms_api_key'] ?? ''; // আপনার থার্ডপার্টি গেটওয়ের সিক্রেট কি
$sms_senderid = $isp_settings['sms_sender_id'] ?? '';

// আজকের তারিখ ডিফল্ট হিসেবে সেট করা হলো
$target_date = $_GET['target_date'] ?? date('Y-m-d');
$safe_date = mysqli_real_escape_string($conn, $target_date);

// ৩. শুধুমাত্র বর্তমান আইএসপি-র নির্দিষ্ট তারিখে কতজনের মেয়াদ শেষ হবে তা খোঁজার কুয়েরি (SaaS Isolated)
$query = "SELECT * FROM customers WHERE isp_id = '$current_isp_id' AND DATE(expiry_date) = '$safe_date' ORDER BY id ASC";
$result = mysqli_query($conn, $query);
$total_count = mysqli_num_rows($result);
?>

<!DOCTYPE html>
<html lang="bn">
<head>
    <meta charset="UTF-8">
    <title>Expiry Date Checker | SaaS ISP Portal</title>
    <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap" rel="stylesheet">
    <style>
        :root { --primary: #4f46e5; --success: #10b981; --danger: #ef4444; --dark: #1f2937; --warning: #f59e0b; }
        body { font-family: 'Inter', sans-serif; background: #f9fafb; margin: 0; }
        .main { padding: 40px; max-width: 1200px; margin: 0 auto; width: 100%; box-sizing: border-box; }
        .back-btn { text-decoration: none; color: var(--primary); font-weight: 600; font-size: 14px; display: inline-block; margin-bottom: 20px; }
        
        .filter-box { background: white; padding: 25px; border-radius: 12px; box-shadow: 0 1px 3px rgba(0,0,0,0.1); margin-bottom: 30px; display: flex; gap: 20px; align-items: flex-end; }
        .form-group { display: flex; flex-direction: column; gap: 5px; }
        .form-group label { font-size: 12px; color: #6b7280; font-weight: 600; }
        .form-group input { padding: 10px; border: 1px solid #e5e7eb; border-radius: 8px; font-family: 'Inter'; font-size: 14px; }
        .btn-filter { background: var(--primary); color: white; padding: 11px 20px; border-radius: 8px; border: none; font-weight: 600; cursor: pointer; font-size: 14px; }
        
        .summary-card { background: white; padding: 20px; border-radius: 12px; box-shadow: 0 1px 3px rgba(0,0,0,0.1); border-left: 4px solid var(--warning); margin-bottom: 20px; max-width: 300px; }
        .summary-card h3 { font-size: 13px; color: #6b7280; margin: 0; }
        .summary-card p { font-size: 24px; font-weight: 600; margin: 10px 0 0; }

        .table-box { background: white; border-radius: 12px; overflow: hidden; box-shadow: 0 1px 3px rgba(0,0,0,0.1); }
        table { width: 100%; border-collapse: collapse; }
        th, td { padding: 15px; text-align: left; border-bottom: 1px solid #f3f4f6; }
        th { background: #f9fafb; font-size: 12px; color: #4b5563; }
        .badge { padding: 5px 10px; border-radius: 20px; font-size: 11px; font-weight: bold; }
        .badge-active { background: #d1fae5; color: #065f46; }
        .badge-expired { background: #fee2e2; color: #991b1b; }
        .no-data { padding: 30px; text-align: center; color: #9ca3af; font-size: 14px; }
        
        .btn-msg { background: #25d366; color: white; border: none; padding: 6px 12px; border-radius: 6px; font-weight: 600; cursor: pointer; font-size: 12px; transition: background 0.2s; }
        .btn-msg:hover { background: #128c7e; }
    </style>

    <script>
    function sendExpiryMessage(phone, name, customerId, expiryDate, button) {
        if (confirm("আপনি কি " + name + " কে বিলিং মেসেজ পাঠাতে চান?")) {
            
            // পিএইচপি থেকে ডাইনামিকালি সেটিংস ডেটা জাভাস্ক্রিপ্ট ভেরিয়েবলে পাস করা হয়েছে
            var companyName = <?php echo json_encode($company_name); ?>;
            var portalUrl = <?php echo json_encode($portal_url); ?>;
            var supportNo = <?php echo json_encode($support_no); ?>;
            var paymentInstructions = <?php echo json_encode($payment_info); ?>;
            var secretKey = <?php echo json_encode($sms_secret); ?>;
            
            // মেসেজ ফরম্যাট সম্পূর্ণ ডাইনামিক ও টেন্যান্ট কাস্টমাইজড
            var messageText = "Dear " + name + ",\nYour internet bill will expire on " + expiryDate + ". Please pay your bill quickly to avoid disconnection.\n\nMost Ref. " + customerId + "\n" + paymentInstructions + "\n\nCustomer Portal: " + portalUrl + "\n\nFor Bill and Connection Complain Call: " + supportNo + "\nThanks For Using " + companyName;
            
            // ডাটা ক্লিনিং
            var cleanPhone = phone.replace(/[^0-9]/g, '');
            if (cleanPhone.length === 11 && cleanPhone.startsWith('01')) {
                cleanPhone = '88' + cleanPhone;
            }

            // API URL (আপনার গেটওয়ের API সিক্রেটটি ডাটাবেস থেকে ডাইনামিকালি বসে যাবে)
            var apiUrl = "https://wa.nux.my.id/api/sendSMS?to=" + encodeURIComponent(cleanPhone) + "&msg=" + encodeURIComponent(messageText) + "&sim=0&secret=" + encodeURIComponent(secretKey);
            
            // বাটন লক করা
            var originalText = button.innerHTML;
            button.innerHTML = "Sending...";
            button.disabled = true;

            // API হিট করা
            fetch(apiUrl)
            .then(response => {
                alert(name + " কে সফলভাবে মেসেজ পাঠানো হয়েছে!");
                button.innerHTML = "Sent ✓";
                button.style.background = "#6b7280";
            })
            .catch(error => {
                alert("মেসেজ পাঠানো যায়নি। API বা ইন্টারনেট চেক করুন।");
                button.innerHTML = originalText;
                button.disabled = false;
            });
        }
    }
    </script>
</head>
<body>

<div class="main">
    <a href="index.php" class="back-btn">← ড্যাশবোর্ডে ফিরে যান</a>
    
    <div style="display:flex; justify-content:space-between; align-items:center; margin-bottom:20px;">
        <h1>তারিখ অনুযায়ী বিলিং চেক</h1>
    </div>

    <div class="filter-box">
        <form method="GET" style="display: flex; gap: 15px; align-items: flex-end;">
            <div class="form-group">
                <label>বিলিং/মেয়াদ শেষের তারিখ সিলেক্ট করুন</label>
                <input type="date" name="target_date" value="<?php echo htmlspecialchars($target_date); ?>" required>
            </div>
            <button type="submit" class="btn-filter">গ্রাহক তালিকা দেখুন</button>
        </form>
    </div>

    <div class="summary-card">
        <h3>নির্বাচিত তারিখে মোট মেয়াদোত্তীর্ণ (Expiry)</h3>
        <p><?php echo $total_count; ?> জন</p>
    </div>

    <div class="table-box">
        <table>
            <thead>
                <tr>
                    <th>User ID</th>
                    <th>Name</th>
                    <th>Phone</th>
                    <th>Address</th>
                    <th>Bill Amount</th>
                    <th>Expiry Date</th>
                    <th>Status</th>
                    <th>Action</th>
                </tr>
            </thead>
            <tbody>
                <?php if ($total_count > 0): ?>
                    <?php while($row = mysqli_fetch_assoc($result)): ?>
                    <tr>
                        <td><strong><?php echo htmlspecialchars($row['customer_id']); ?></strong></td>
                        <td><?php echo htmlspecialchars($row['name']); ?></td>
                        <td><?php echo htmlspecialchars($row['phone']); ?></td>
                        <td><?php echo htmlspecialchars($row['address']); ?></td>
                        <td><?php echo number_format($row['bill_amount'], 0); ?> TK</td>
                        <td><span style="color: var(--danger); font-weight: 600;"><?php echo date("d-M-Y", strtotime($row['expiry_date'])); ?></span></td>
                        <td><span class="badge <?php echo ($row['status'] == 'active') ? 'badge-active' : 'badge-expired'; ?>"><?php echo strtoupper($row['status']); ?></span></td>
                        <td>
                            <button class="btn-msg" onclick="sendExpiryMessage('<?php echo $row['phone']; ?>', '<?php echo $row['name']; ?>', '<?php echo $row['customer_id']; ?>', '<?php echo date('Y-m-d', strtotime($row['expiry_date'])); ?>', this)">
                                Send SMS
                            </button>
                        </td>
                    </tr>
                    <?php endwhile; ?>
                <?php else: ?>
                    <tr>
                        <td colspan="8" class="no-data">উক্ত তারিখে কোনো গ্রাহকের মেয়াদ শেষ হওয়ার রেকর্ড পাওয়া যায়নি।</td>
                    </tr>
                <?php endif; ?>
            </tbody>
        </table>
    </div>
</div>

</body>
</html>