<?php
session_start();

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

include 'config.php';
include 'routeros_api.class.php';

$current_isp_id = $_SESSION['isp_id'];

if (isset($_GET['username'])) {
    $username = mysqli_real_escape_string($conn, $_GET['username']);
    
    // ২. সিকিউরিটি এবং ডেটা আইসোলেশন চেক: ইউজারটি বর্তমান আইএসপি-র কিনা তা ডাটাবেস থেকে নিশ্চিত করা
    $user_check = mysqli_query($conn, "SELECT id FROM customers WHERE customer_id = '$username' AND isp_id = '$current_isp_id' LIMIT 1");
    
    if (mysqli_num_rows($user_check) === 0) {
        echo "<script>alert('অ্যাক্সেস ডিনাইড: এই ইউজারটি আপনার আইএসপির অধীনে পাওয়া যায়নি!'); window.location.href='index.php';</script>";
        exit;
    }
    
    // ৩. ডাটাবেস থেকে বর্তমান আইএসপির মাইক্রোটিক রাউটার সেটিংস তুলে আনা
    $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) {
        echo "<script>alert('আপনার মাইক্রোটিক রাউটার সেটিংস কনফিগার করা নেই!'); window.location.href='index.php';</script>";
        exit;
    }

    $m_ip   = $isp_settings['mikrotik_ip']; 
    $m_user = $isp_settings['mikrotik_user']; 
    $m_pass = $isp_settings['mikrotik_pass']; 
    $m_port = $isp_settings['mikrotik_port'];

    $api = new RouterosAPI();

    if ($api->connect($m_ip, $m_user, $m_pass, $m_port)) {
        
        // ১. পিপিওপি সিক্রেট থেকে ইউজারকে ডিজেবল করা
        $api->comm("/ppp/secret/set", array(
            "numbers" => $username,
            "disabled" => "yes"
        ));

        // ২. বর্তমানে অনলাইনে থাকলে তাকে কিক মারা বা সেশন রিমুভ করা
        $active_users = $api->comm("/ppp/active/print", array(
            "?name" => $username
        ));

        if (!empty($active_users)) {
            $api->comm("/ppp/active/remove", array(
                ".id" => $active_users[0][".id"]
            ));
        }
        
        // ৩. ডাটাবেসে স্ট্যাটাস আপডেট করা (isp_id ও customer_id ম্যাচ করে)
        mysqli_query($conn, "UPDATE customers SET status='deactivated' WHERE customer_id = '$username' AND isp_id = '$current_isp_id'");
        
        $api->disconnect();
        
        echo "<script>alert('ইউজারকে সফলভাবে ডিসকানেক্ট এবং ব্লক করা হয়েছে।'); window.location.href='index.php';</script>";
    } else {
        echo "<script>alert('আপনার রাউটারে কানেক্ট করা যায়নি!'); window.location.href='index.php';</script>";
    }
}
?>