<?php
header('Content-Type: application/json');
include 'config.php';
include 'routeros_api.class.php';

$m_ip = "103.61.240.38"; 
$m_user = "test"; 
$m_pass = "test"; 
$m_port = 8729;

if (isset($_GET['username'])) {
    // জাভাস্ক্রিপ্ট থেকে পাঠানো ভ্যালুটি এখানে রিসিভ হচ্ছে (যা মূলত টেবিলের customer_id)
    $customer_id = $_GET['username']; 
    
    $api = new RouterosAPI();
    
    if ($api->connect($m_ip, $m_user, $m_pass, $m_port)) {
        
        // যেহেতু আপনার customer_id-ই মাইক্রোটিকের নাম, তাই সম্ভাব্য ইন্টারফেস ফরম্যাটগুলো চেক করা হচ্ছে
        $interface_options = [
            "<ppp-" . $customer_id . ">",
            $customer_id,
            "pppoe-" . $customer_id
        ];
        
        $final_interface = null;
        
        // মাইক্রোটিকে আসলেই কোন ইন্টারফেস নামে আছে তা যাচাই করা
        foreach ($interface_options as $opt) {
            $check = $api->comm("/interface/print", ["?name" => $opt]);
            if (!empty($check)) {
                $final_interface = $opt;
                break;
            }
        }
        
        // যদি ইন্টারফেস সরাসরি না পাওয়া যায়, তবে একটিভ কানেকশন থেকে ডাইনামিক নাম খোঁজা
        if (!$final_interface) {
            $active_user = $api->comm("/ppp/active/print", ["?name" => $customer_id]);
            if (!empty($active_user) && isset($active_user[0]['interface'])) {
                $final_interface = $active_user[0]['interface'];
            }
        }

        // ইন্টারফেস পাওয়া গেলে লাইভ ট্রাফিক ডাটা নিয়ে আসা
        if ($final_interface) {
            $traffic = $api->comm("/interface/monitor-traffic", [
                "interface" => $final_interface,
                "once" => ""
            ]);
            $api->disconnect();

            if (isset($traffic[0])) {
                // bps থেকে Mbps-এ কনভার্ট (সরাসরি ইন্টারফেস মনিটরের ক্ষেত্রে rx = download, tx = upload)
                $rx = round(($traffic[0]['rx-bits-per-second'] ?? 0) / 1000000, 2); 
                $tx = round(($traffic[0]['tx-bits-per-second'] ?? 0) / 1000000, 2); 
                
                echo json_encode([
                    'success' => true, 
                    'download' => $rx, 
                    'upload' => $tx,
                    'detected_interface' => $final_interface
                ]);
                exit;
            }
        }
        
        $api->disconnect();
        echo json_encode(['success' => false, 'message' => 'Interface not active or found for ' . $customer_id]);
    } else {
        echo json_encode(['success' => false, 'message' => 'API Connection Failed']);
    }
} else {
    echo json_encode(['success' => false, 'message' => 'Username/Customer ID required']);
}
exit;
