<?php
require_once 'config.php';

// অ্যাডমিন কিনা তা চেক করা
if (!isset($_SESSION['role']) || $_SESSION['role'] !== 'admin') {
    header("Location: index.php");
    exit;
}

$message = '';

// পোর্ট ফরোয়ার্ডিং সেটিংস সংরক্ষণ করার লজিক
if (isset($_POST['save_settings'])) {
    $router_ip = $conn->real_escape_string($_POST['router_ip']);
    $external_port = intval($_POST['external_port']);
    $internal_ip = $conn->real_escape_string($_POST['internal_ip']);
    $internal_port = intval($_POST['internal_port']);
    $protocol = $conn->real_escape_string($_POST['protocol']);
    $status = $conn->real_escape_string($_POST['status']);

    $sql = "INSERT INTO router_settings (router_ip, external_port, internal_ip, internal_port, protocol, status) 
            VALUES ('$router_ip', $external_port, '$internal_ip', $internal_port, '$protocol', '$status')";
    
    if ($conn->query($sql)) {
        $message = "<div class='alert alert-success'>পোর্ট ফরোয়ার্ডিং সেটিংস সফলভাবে রাউটার কনফিগারেশন তালিকায় সংরক্ষিত হয়েছে।</div>";
    } else {
        $message = "<div class='alert alert-danger'>ত্রুটি: " . $conn->error . "</div>";
    }
}

// কোনো পোর্ট ফরোয়ার্ডিং রুল ডিলিট করার লজিক
if (isset($_GET['delete_rule'])) {
    $rule_id = intval($_GET['delete_rule']);
    $conn->query("DELETE FROM router_settings WHERE id=$rule_id");
    $message = "<div class='alert alert-success'>পোর্ট ফরোয়ার্ডিং নিয়মটি তালিকা থেকে মুছে ফেলা হয়েছে।</div>";
}

// নিবন্ধিত গ্রাহকদের তালিকা নিয়ে আসা
$users_res = $conn->query("SELECT u.username, u.bandwidth_allocated, p.name as package_name FROM users u LEFT JOIN packages p ON u.package_id = p.id WHERE u.role='user'");

// সংরক্ষিত পোর্ট ফরোয়ার্ডিং নিয়মের তালিকা নিয়ে আসা
$rules_res = $conn->query("SELECT * FROM router_settings ORDER BY id DESC");
?>
<!DOCTYPE html>
<html lang="bn">
<head>
    <meta charset="UTF-8">
    <title>অ্যাডমিন প্যানেল</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <div class="container">
        <div class="nav">
            <a href="admin.php">অ্যাডমিন ড্যাশবোর্ড</a>
            <a href="logout.php" style="float:right;">লগআউট (<?php echo htmlspecialchars($_SESSION['username']); ?>)</a>
        </div>

        <h2>অ্যাডমিন কন্ট্রোল প্যানেল</h2>
        <?php echo $message; ?>

        <!-- পোর্ট ফরোয়ার্ডিং ইনপুট ফর্ম -->
        <div style="background: #fdfdfd; border: 1px solid #ddd; padding: 20px; border-radius: 8px; margin-bottom: 30px;">
            <h3>ম্যানুয়াল রাউটার পোর্ট ফরোয়ার্ডিং সেটিংস</h3>
            <form method="POST" action="">
                <div class="form-group">
                    <label>রাউটার আইপি (Router WAN/LAN IP)</label>
                    <input type="text" name="router_ip" placeholder="উদা: 192.168.0.1" class="form-control" required>
                </div>
                <div class="form-group" style="display: flex; gap: 10px;">
                    <div style="flex: 1;">
                        <label>এক্সটার্নাল পোর্ট (External Port)</label>
                        <input type="number" name="external_port" placeholder="উদা: 8080" class="form-control" required>
                    </div>
                    <div style="flex: 1;">
                        <label>ইন্টারনাল পোর্ট (Internal Port)</label>
                        <input type="number" name="internal_port" placeholder="উদা: 80" class="form-control" required>
                    </div>
                </div>
                <div class="form-group">
                    <label>টার্গেট লোকাল আইপি (Target/Internal Host IP)</label>
                    <input type="text" name="internal_ip" placeholder="উদা: 192.168.0.100" class="form-control" required>
                </div>
                <div class="form-group" style="display: flex; gap: 10px;">
                    <div style="flex: 1;">
                        <label>প্রোটোকল (Protocol)</label>
                        <select name="protocol" class="form-control">
                            <option value="TCP">TCP</option>
                            <option value="UDP">UDP</option>
                            <option value="BOTH">BOTH (TCP/UDP)</option>
                        </select>
                    </div>
                    <div style="flex: 1;">
                        <label>অবস্থা (Status)</label>
                        <select name="status" class="form-control">
                            <option value="Enabled">Enabled (সক্রিয়)</option>
                            <option value="Disabled">Disabled (নিষ্ক্রিয়)</option>
                        </select>
                    </div>
                </div>
                <button type="submit" name="save_settings" class="btn">সেটিংস সংরক্ষণ করুন</button>
            </form>
        </div>

        <!-- পোর্ট ফরোয়ার্ডিং ডাটা টেবিল -->
        <h3>সংরক্ষিত পোর্ট ফরোয়ার্ডিং নিয়মাবলী</h3>
        <table>
            <thead>
                <tr>
                    <th>রাউটার আইপি</th>
                    <th>এক্সটার্নাল পোর্ট</th>
                    <th>লোকাল আইপি</th>
                    <th>ইন্টারনাল পোর্ট</th>
                    <th>প্রোটোকল</th>
                    <th>স্ট্যাটাস</th>
                    <th>অ্যাকশন</th>
                </tr>
            </thead>
            <tbody>
                <?php if ($rules_res->num_rows > 0): ?>
                    <?php while($rule = $rules_res->fetch_assoc()): ?>
                        <tr>
                            <td><?php echo htmlspecialchars($rule['router_ip']); ?></td>
                            <td><?php echo htmlspecialchars($rule['external_port']); ?></td>
                            <td><?php echo htmlspecialchars($rule['internal_ip']); ?></td>
                            <td><?php echo htmlspecialchars($rule['internal_port']); ?></td>
                            <td><?php echo htmlspecialchars($rule['protocol']); ?></td>
                            <td>
                                <span style="color: <?php echo $rule['status'] == 'Enabled' ? 'green' : 'red'; ?>; font-weight: bold;">
                                    <?php echo htmlspecialchars($rule['status']); ?>
                                </span>
                            </td>
                            <td>
                                <a href="admin.php?delete_rule=<?php echo $rule['id']; ?>" class="btn btn-danger" style="padding: 5px 10px; font-size: 12px;" onclick="return confirm('আপনি কি নিশ্চিত যে এই নিয়মটি বাদ দিতে চান?');">মুছে ফেলুন</a>
                            </td>
                        </tr>
                    <?php endwhile; ?>
                <?php else: ?>
                    <tr>
                        <td colspan="7" style="text-align: center;">কোনো পোর্ট ফরোয়ার্ডিং কনফিগারেশন পাওয়া যায়নি।</td>
                    </tr>
                <?php endif; ?>
            </tbody>
        </table>

        <!-- গ্রাহকদের ব্যান্ডউইথ তথ্য -->
        <h3 style="margin-top: 40px;">নিবন্ধিত গ্রাহক তালিকা এবং ব্যান্ডউইথ ব্যবহার</h3>
        <table>
            <thead>
                <tr>
                    <th>গ্রাহকের নাম</th>
                    <th>সক্রিয় প্যাকেজ</th>
                    <th>বরাদ্দকৃত গতি (Bandwidth)</th>
                </tr>
            </thead>
            <tbody>
                <?php if ($users_res->num_rows > 0): ?>
                    <?php while($user = $users_res->fetch_assoc()): ?>
                        <tr>
                            <td><?php echo htmlspecialchars($user['username']); ?></td>
                            <td><?php echo $user['package_name'] ? htmlspecialchars($user['package_name']) : 'কোনো সক্রিয় প্যাকেজ নেই'; ?></td>
                            <td><?php echo htmlspecialchars($user['bandwidth_allocated']); ?> Mbps</td>
                        </tr>
                    <?php endwhile; ?>
                <?php else: ?>
                    <tr>
                        <td colspan="3" style="text-align: center;">এখনও কোনো সাধারণ গ্রাহক অ্যাকাউন্ট তৈরি করা হয়নি।</td>
                    </tr>
                <?php endif; ?>
            </tbody>
        </table>
    </div>
</body>
</html>