<?php
session_start();
include 'config.php'; // আপনার ডাটাবেজ কানেকশন ফাইল

// ১. সিকিউরিটি ও ফিক্সড ISP ID নির্ধারণ (SaaS Isolation)
if (!isset($_SESSION['isp_id'])) {
    $_SESSION['isp_id'] = 1; // টেস্ট করার জন্য আপাতত ID = 1 ফিক্সড করা হলো
}
$isp_id = $_SESSION['isp_id'];

$message = "";
$msg_class = "";

// ==========================================
// ২. মাইক্রোটিক সেটিংস আপডেট লজিক
// ==========================================
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['update_mikrotik'])) {
    $mikrotik_ip    = mysqli_real_escape_string($conn, $_POST['mikrotik_ip']);
    $mikrotik_user  = mysqli_real_escape_string($conn, $_POST['mikrotik_user']);
    $mikrotik_pass  = mysqli_real_escape_string($conn, $_POST['mikrotik_pass']);
    $mikrotik_port  = intval($_POST['mikrotik_port']);
    $whatsapp_secret= mysqli_real_escape_string($conn, $_POST['whatsapp_secret']);
    $whatsapp_sim   = intval($_POST['whatsapp_sim']);

    $update_query = "UPDATE isp_settings SET 
                     mikrotik_ip = '$mikrotik_ip', mikrotik_user = '$mikrotik_user', 
                     mikrotik_pass = '$mikrotik_pass', mikrotik_port = '$mikrotik_port',
                     whatsapp_secret = '$whatsapp_secret', whatsapp_sim = '$whatsapp_sim'
                     WHERE isp_id = '$isp_id'";
                     
    if (mysqli_query($conn, $update_query)) {
        $message = "MikroTik এবং WhatsApp কনফিগারেশন সফলভাবে আপডেট হয়েছে।";
        $msg_class = "success";
    } else {
        $message = "ত্রুটি! ডাটা সেভ করা সম্ভব হয়নি।";
        $msg_class = "danger";
    }
}

// ==========================================
// ৩. এরিয়া (Area) যুক্ত ও এডিট করার লজিক
// ==========================================
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['add_area'])) {
    $area_name = mysqli_real_escape_string($conn, $_POST['area_name']);
    $remarks   = mysqli_real_escape_string($conn, $_POST['remarks']);
    mysqli_query($conn, "INSERT INTO area_list (isp_id, area_name, remarks, created_at) VALUES ('$isp_id', '$area_name', '$remarks', NOW())");
    $message = "নতুন এরিয়া সফলভাবে যুক্ত হয়েছে।"; $msg_class = "success";
}

if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['edit_area'])) {
    $area_id   = intval($_POST['area_id']);
    $area_name = mysqli_real_escape_string($conn, $_POST['area_name']);
    $remarks   = mysqli_real_escape_string($conn, $_POST['remarks']);
    mysqli_query($conn, "UPDATE area_list SET area_name = '$area_name', remarks = '$remarks' WHERE id = '$area_id' AND isp_id = '$isp_id'");
    $message = "এরিয়া সফলভাবে আপডেট করা হয়েছে।"; $msg_class = "success";
}

// ==========================================
// ৪. প্যাকেজ (Packages) যুক্ত ও এডিট করার লজিক
// ==========================================
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['add_package'])) {
    $package_name = mysqli_real_escape_string($conn, $_POST['package_name']);
    $price        = floatval($_POST['price']);

    if (!empty($package_name)) {
        mysqli_query($conn, "INSERT INTO packages (isp_id, package_name, price, created_at) VALUES ('$isp_id', '$package_name', '$price', NOW())");
        $message = "নতুন প্যাকেজ সফলভাবে যুক্ত হয়েছে।"; $msg_class = "success";
    }
}

if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['edit_package'])) {
    $package_id   = intval($_POST['package_id']);
    $package_name = mysqli_real_escape_string($conn, $_POST['package_name']);
    $price        = floatval($_POST['price']);

    mysqli_query($conn, "UPDATE packages SET package_name = '$package_name', price = '$price' WHERE id = '$package_id' AND isp_id = '$isp_id'");
    $message = "প্যাকেজ সফলভাবে আপডেট করা হয়েছে।"; $msg_class = "success";
}

// ৫. এরিয়া এবং প্যাকেজ ডিলিট অ্যাকশন
if (isset($_GET['delete_area'])) {
    mysqli_query($conn, "DELETE FROM area_list WHERE id = ".intval($_GET['delete_area'])." AND isp_id = '$isp_id'");
    header("Location: edit_profile.php?msg=deleted"); exit();
}
if (isset($_GET['delete_package'])) {
    mysqli_query($conn, "DELETE FROM packages WHERE id = ".intval($_GET['delete_package'])." AND isp_id = '$isp_id'");
    header("Location: edit_profile.php?msg=deleted"); exit();
}

if (isset($_GET['msg']) && $_GET['msg'] == 'deleted') {
    $message = "আইটেমটি সফলভাবে মুছে ফেলা হয়েছে।";
    $msg_class = "success";
}

// ৬. ডাটাবেজ থেকে রিয়েল-টাইম ডাটা রিড করা
$isp_info = mysqli_fetch_assoc(mysqli_query($conn, "SELECT * FROM isps WHERE id = '$isp_id'"));
$mt_info  = mysqli_fetch_assoc(mysqli_query($conn, "SELECT * FROM isp_settings WHERE isp_id = '$isp_id'"));
$areas    = mysqli_query($conn, "SELECT * FROM area_list WHERE isp_id = '$isp_id' ORDER BY id DESC");
$packages = mysqli_query($conn, "SELECT * FROM packages WHERE isp_id = '$isp_id' ORDER BY id DESC");

// ==========================================
// ৭. LIVE MIKROTIK CONNECTION STATUS CHECK
// ==========================================
$mikrotik_online = false;
if (!empty($mt_info['mikrotik_ip']) && !empty($mt_info['mikrotik_port'])) {
    $connection = @fsockopen($mt_info['mikrotik_ip'], $mt_info['mikrotik_port'], $errno, $errstr, 2);
    if ($connection) {
        $mikrotik_online = true;
        fclose($connection);
    }
}
?>

<!DOCTYPE html>
<html lang="bn">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>প্রোফাইল কনফিগারেশন প্যানেল</title>
    <link href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap" rel="stylesheet">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
    
    <style>
        :root {
            --primary: #4f46e5;
            --primary-hover: #4338ca;
            --bg-main: #f8fafc;
            --card-bg: #ffffff;
            --text-main: #0f172a;
            --text-muted: #64748b;
            --success: #10b981;
            --danger: #ef4444;
            --warning: #f59e0b;
            --border: #e2e8f0;
        }

        body {
            font-family: 'Plus Jakarta Sans', sans-serif;
            background-color: var(--bg-main);
            color: var(--text-main);
            margin: 0;
            padding: 0;
            display: block; /* সাইডবার নেই তাই ব্লক করা হলো */
        }

        /* মেইন কন্টেন্ট এরিয়া - সাইডবার মার্জিন রিমুভ করা হয়েছে */
        .main-content {
            max-width: 1000px; /* স্ক্রিনে সুন্দর দেখানোর জন্য একটি স্ট্যান্ডার্ড উইডথ দেওয়া হলো */
            margin: 40px auto;
            padding: 0 20px;
            box-sizing: border-box;
        }

        .header-dashboard {
            background: var(--card-bg);
            padding: 24px;
            border-radius: 16px;
            border: 1px solid var(--border);
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 32px;
        }
        .profile-meta h2 { margin: 0; font-size: 22px; font-weight: 700; }
        .profile-meta p { margin: 4px 0 0 0; color: var(--text-muted); font-size: 14px; }

        /* ড্যাশবোর্ড গ্রিড পরিবর্তন করে সিঙ্গেল কলাম লিনিয়ার লেআউট করা হলো */
        .dashboard-container {
            display: flex;
            flex-direction: column;
            gap: 30px;
        }

        /* কার্ড থিম */
        .card {
            background: var(--card-bg);
            border-radius: 16px;
            border: 1px solid var(--border);
            padding: 28px;
            box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.02);
        }
        .card-title {
            font-size: 16px;
            font-weight: 700;
            margin-top: 0;
            margin-bottom: 24px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            color: #1e293b;
        }

        /* লাইভ স্ট্যাটাস ব্যাজ */
        .status-badge {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 6px 14px;
            border-radius: 30px;
            font-size: 12px;
            font-weight: 700;
            text-transform: uppercase;
        }
        .status-online { background: rgba(16, 185, 129, 0.1); color: var(--success); border: 1px solid rgba(16, 185, 129, 0.2); }
        .status-offline { background: rgba(239, 68, 68, 0.1); color: var(--danger); border: 1px solid rgba(239, 68, 68, 0.2); animation: pulse-red 2s infinite; }

        @keyframes pulse-red {
            0% { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.4); }
            70% { box-shadow: 0 0 0 8px rgba(239, 68, 68, 0); }
            100% { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0); }
        }

        /* ফর্ম কন্ট্রোল */
        .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
        .form-group { margin-bottom: 20px; }
        label { display: block; margin-bottom: 8px; font-size: 13px; font-weight: 600; color: #475569; }
        input {
            width: 100%;
            padding: 11px 16px;
            border: 1px solid var(--border);
            border-radius: 10px;
            box-sizing: border-box;
            font-size: 14px;
            color: var(--text-main);
            transition: all 0.2s;
        }
        input:focus {
            outline: none;
            border-color: var(--primary);
            box-shadow: 0 0 0 4px rgba(79, 70, 229, 0.1);
        }
        input[readonly] { background: #f1f5f9; color: #94a3b8; cursor: not-allowed; }

        /* বাটন ডিজাইন */
        .btn {
            background: var(--primary);
            color: white;
            border: none;
            padding: 12px 24px;
            border-radius: 10px;
            font-weight: 600;
            cursor: pointer;
            font-size: 14px;
            display: inline-flex;
            align-items: center;
            gap: 8px;
            transition: all 0.2s;
        }
        .btn:hover { background: var(--primary-hover); }
        .btn-success { background: var(--success); }
        .btn-success:hover { background: #059669; }

        /* আধুনিক ডেটা টেবিল */
        .table-responsive { width: 100%; overflow-x: auto; margin-top: 15px; }
        table { width: 100%; border-collapse: collapse; text-align: left; }
        th, td { padding: 14px 16px; border-bottom: 1px solid var(--border); font-size: 14px; }
        th { background: #f8fafc; color: #64748b; font-weight: 600; font-size: 12px; text-transform: uppercase; letter-spacing: 0.5px; }
        tr:last-child td { border-bottom: none; }
        tr:hover td { background-color: #f8fafc; }

        .actions { display: flex; gap: 12px; }
        .btn-icon {
            border: none;
            background: none;
            cursor: pointer;
            font-size: 14px;
            padding: 6px;
            border-radius: 6px;
            transition: background 0.2s;
        }
        .btn-edit { color: var(--primary); }
        .btn-edit:hover { background: rgba(79, 70, 229, 0.08); }
        .btn-delete { color: var(--danger); }
        .btn-delete:hover { background: rgba(239, 68, 68, 0.08); }

        /* পপআপ টোস্ট মেসেজ নোটিফিকেশন */
        .toast-container {
            position: fixed;
            top: 24px;
            right: 24px;
            z-index: 1000;
        }
        .toast {
            background: white;
            padding: 16px 24px;
            border-radius: 12px;
            box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1);
            display: flex;
            align-items: center;
            gap: 12px;
            border-left: 4px solid var(--success);
            animation: slideIn 0.3s ease-out forwards;
        }
        .toast.danger { border-left-color: var(--danger); }
        @keyframes slideIn { from { transform: translateX(100%); opacity: 0; } to { transform: translateX(0); opacity: 1; } }
        
        /* রেসপন্সিভনেস এর জন্য ছোট স্ক্রিনে ১টি কলাম জাস্টিফাই করা */
        @media (max-width: 768px) {
            .form-row { grid-template-columns: 1fr; gap: 0; }
        }
    </style>
</head>
<body>

<div class="main-content">
    
    <div class="header-dashboard">
        <div class="profile-meta">
            <h2><?php echo htmlspecialchars($isp_info['company_name'] ?? 'ISP প্যানেল'); ?></h2>
            <p><i class="fa-solid fa-user-tie"></i> প্রোপ্রাইটর: <?php echo htmlspecialchars($isp_info['owner_name'] ?? 'N/A'); ?> | <i class="fa-solid fa-phone"></i> হেল্পলাইন: <?php echo htmlspecialchars($isp_info['phone'] ?? 'N/A'); ?></p>
        </div>
        <div>
            <?php if($mikrotik_online): ?>
                <span class="status-badge status-online"><i class="fa-solid fa-cloud"></i> সিস্টেম অনলাইন</span>
            <?php else: ?>
                <span class="status-badge status-offline"><i class="fa-solid fa-cloud-broken"></i> সিস্টেম অ্যালার্ট</span>
            <?php endif; ?>
        </div>
    </div>

    <?php if(!empty($message)): ?>
        <div class="toast-container" id="toastBox">
            <div class="toast <?php echo $msg_class == 'danger' ? 'danger' : ''; ?>">
                <i class="fa-solid <?php echo $msg_class == 'danger' ? 'fa-circle-xmark' : 'fa-circle-check'; ?>" style="color: <?php echo $msg_class == 'danger' ? 'var(--danger)' : 'var(--success)'; ?>; font-size: 18px;"></i>
                <span style="font-size: 14px; font-weight: 500;"><?php echo $message; ?></span>
            </div>
        </div>
    <?php endif; ?>

    <div class="dashboard-container">
        
        <div class="card">
            <div class="card-title">
                <span style="display:flex; align-items:center; gap:10px;"><i class="fa-solid fa-server" style="color: var(--primary);"></i> MikroTik API কনফিগারেশন</span>
                <?php if($mikrotik_online): ?>
                    <span class="status-badge status-online"><i class="fa-solid fa-circle-check"></i> Connected</span>
                <?php else: ?>
                    <span class="status-badge status-offline"><i class="fa-solid fa-circle-exclamation"></i> Disconnected</span>
                <?php endif; ?>
            </div>
            
            <form method="POST" action="" onsubmit="showLoading(this)">
                <div class="form-group">
                    <label>অপরিবর্তনযোগ্য ইউজার টোকেন (Fixed ISP ID)</label>
                    <input type="text" value="ISP-SYSTEM-SECURE-ID: #<?php echo $isp_id; ?>" readonly>
                </div>
                <div class="form-row">
                    <div class="form-group">
                        <label>মাইক্রোটিক রাউটার আইপি (Router IP)</label>
                        <input type="text" name="mikrotik_ip" value="<?php echo htmlspecialchars($mt_info['mikrotik_ip'] ?? ''); ?>" required placeholder="e.g. 103.61.240.38">
                    </div>
                    <div class="form-group">
                        <label>API পোর্ট</label>
                        <input type="number" name="mikrotik_port" value="<?php echo htmlspecialchars($mt_info['mikrotik_port'] ?? '8728'); ?>" required>
                    </div>
                </div>
                <div class="form-row">
                    <div class="form-group">
                        <label>API ইউজারনেম</label>
                        <input type="text" name="mikrotik_user" value="<?php echo htmlspecialchars($mt_info['mikrotik_user'] ?? ''); ?>" required placeholder="username">
                    </div>
                    <div class="form-group">
                        <label>API পাসওয়ার্ড</label>
                        <input type="password" name="mikrotik_pass" value="<?php echo htmlspecialchars($mt_info['mikrotik_pass'] ?? ''); ?>" required placeholder="••••••••">
                    </div>
                </div>
                <div class="form-group">
                    <label>WhatsApp Gateway API Secret Key</label>
                    <input type="text" name="whatsapp_secret" value="<?php echo htmlspecialchars($mt_info['whatsapp_secret'] ?? ''); ?>" placeholder="your_secret_token">
                </div>
                <button type="submit" name="update_mikrotik" class="btn"><i class="fa-solid fa-floppy-disk"></i> সেটিংস সেভ করুন</button>
            </form>
        </div>

        <div class="card">
            <div class="card-title" id="area-title"><i class="fa-solid fa-map-location-dot" style="color: #f59e0b;"></i> নতুন কভারেজ এরিয়া (Area) যুক্ত করুন</div>
            <form method="POST" action="">
                <input type="hidden" name="area_id" id="area_id" value="">
                <div class="form-row">
                    <div class="form-group"><label>এরিয়ার নাম</label><input type="text" name="area_name" id="area_name" required placeholder="e.g. Dhanmondi Zone A"></div>
                    <div class="form-group"><label>সংক্ষিপ্ত মন্তব্য (Remarks)</label><input type="text" name="remarks" id="remarks" placeholder="e.g. Main Hub Point"></div>
                </div>
                <button type="submit" name="add_area" id="areaBtn" class="btn btn-success"><i class="fa-solid fa-plus"></i> এরিয়া সংরক্ষণ করুন</button>
            </form>
            
            <h3 style="font-size: 14px; margin-top: 30px; margin-bottom: 12px; color: var(--text-muted);">বিদ্যমান কভারেজ এরিয়া তালিকা</h3>
            <div class="table-responsive">
                <table>
                    <thead><tr><th>ID</th><th>এরিয়ার নাম</th><th>মন্তব্য</th><th>অ্যাকশন</th></tr></thead>
                    <tbody>
                        <?php while($row = mysqli_fetch_assoc($areas)): ?>
                        <tr>
                            <td>#<?php echo $row['id']; ?></td>
                            <td><strong><?php echo htmlspecialchars($row['area_name']); ?></strong></td>
                            <td style="color: var(--text-muted);"><?php echo htmlspecialchars($row['remarks']); ?></td>
                            <td class="actions">
                                <button onclick="editArea(<?php echo $row['id']; ?>, '<?php echo urlencode($row['area_name']); ?>', '<?php echo urlencode($row['remarks']); ?>')" class="btn-icon btn-edit" title="এডিট"><i class="fa-solid fa-pen-to-square"></i></button>
                                <a href="edit_profile.php?delete_area=<?php echo $row['id']; ?>" onclick="return confirm('নিশ্চিত ডিলিট করবেন?')" class="btn-icon btn-delete" title="ডিলিট"><i class="fa-solid fa-trash-can"></i></a>
                            </td>
                        </tr>
                        <?php endwhile; ?>
                    </tbody>
                </table>
            </div>
        </div>

        <div class="card">
            <div class="card-title" id="pkg-title"><i class="fa-solid fa-box-open" style="color: var(--success);"></i> নতুন ইন্টারনেট প্যাকেজ প্রোফাইল</div>
            <form method="POST" action="">
                <input type="hidden" name="package_id" id="package_id" value="">
                <div class="form-group">
                    <label>প্যাকেজের নাম (MikroTik Profile Name Exact)</label>
                    <input type="text" name="package_name" id="package_name" required placeholder="e.g. 20Mbps_500tk">
                </div>
                <div class="form-group">
                    <label>মাসিক বিলের পরিমাণ (Price BDT)</label>
                    <input type="number" step="0.01" name="price" id="price" required placeholder="500.00">
                </div>
                <button type="submit" name="add_package" id="pkgBtn" class="btn btn-success"><i class="fa-solid fa-square-plus"></i> প্যাকেজ তৈরি করুন</button>
            </form>

            <h3 style="font-size: 14px; margin-top: 35px; margin-bottom: 12px; color: var(--text-muted);">অ্যাক্টিভ বিলিং প্যাকেজসমূহ</h3>
            <div class="table-responsive">
                <table>
                    <thead><tr><th>ID</th><th>প্রোফাইল নেম</th><th>মূল্য</th><th>অ্যাকশন</th></tr></thead>
                    <tbody>
                        <?php if(mysqli_num_rows($packages) > 0): ?>
                            <?php while($pkg = mysqli_fetch_assoc($packages)): ?>
                            <tr>
                                <td>#<?php echo $pkg['id']; ?></td>
                                <td><span style="font-weight: 600; color: #1e293b;"><?php echo htmlspecialchars($pkg['package_name']); ?></span></td>
                                <td><strong style="color: var(--primary);"><?php echo htmlspecialchars($pkg['price']); ?> ৳</strong></td>
                                <td class="actions">
                                    <button onclick="editPackage(<?php echo $pkg['id']; ?>, '<?php echo urlencode($pkg['package_name']); ?>', '<?php echo $pkg['price']; ?>')" class="btn-icon btn-edit"><i class="fa-solid fa-pen-to-square"></i></button>
                                    <a href="edit_profile.php?delete_package=<?php echo $pkg['id']; ?>" onclick="return confirm('প্যাকেজটি মুছে ফেলতে চান?')" class="btn-icon btn-delete"><i class="fa-solid fa-trash-can"></i></a>
                                </td>
                            </tr>
                            <?php endwhile; ?>
                        <?php else: ?>
                            <tr><td colspan="4" style="text-align:center; color: var(--text-muted);">কোনো প্যাকেজ স্ক্যান করা হয়নি।</td></tr>
                        <?php endif; ?>
                    </tbody>
                </table>
            </div>
        </div>

    </div>
</div>

<script>
// ১. মেসেজ টোস্টটি ৪ সেকেন্ড পর অটো হাইড করার ইন্টারেকশন
setTimeout(() => {
    const toast = document.getElementById('toastBox');
    if(toast) { toast.style.display = 'none'; }
}, 4000);

// ২. এরিয়া এডিট রিকোয়েস্ট হ্যান্ডলার
function editArea(id, name, remarks) {
    document.getElementById('area-title').innerHTML = "<i class='fa-solid fa-pen-to-square' style='color:#f59e0b;'></i> কভারেজ এরিয়া মডিফাই করুন - ID #" + id;
    document.getElementById('area_id').value = id;
    document.getElementById('area_name').value = decodeURIComponent(name);
    document.getElementById('remarks').value = decodeURIComponent(remarks);
    document.getElementById('areaBtn').name = "edit_area";
    document.getElementById('areaBtn').innerHTML = "<i class='fa-solid fa-rotate'></i> ডাটা আপডেট করুন";
}

// ৩. প্যাকেজ প্রোফাইল এডিট হ্যান্ডলার
function editPackage(id, name, price) {
    document.getElementById('pkg-title').innerHTML = "<i class='fa-solid fa-pen-to-square' style='color:var(--success);'></i> প্যাকেজ কনফিগারেশন চেঞ্জ - ID #" + id;
    document.getElementById('package_id').value = id;
    document.getElementById('package_name').value = decodeURIComponent(name);
    document.getElementById('price').value = price;
    document.getElementById('pkgBtn').name = "edit_package";
    document.getElementById('pkgBtn').innerHTML = "<i class='fa-solid fa-rotate'></i> প্যাকেজ আপডেট করুন";
}

// ৪. ফর্ম সাবমিট করার সময় প্রফেশনাল লোডিং অ্যানিমেশন 
function showLoading(form) {
    const btn = form.querySelector('.btn');
    btn.style.opacity = '0.7';
    btn.innerHTML = "<i class='fa-solid fa-spinner fa-spin'></i> প্রসেসিং হচ্ছে, অপেক্ষা করুন...";
}
</script>

</body>
</html>
