<?php
// Configurações
$dbPath = '/www/wwwroot/lcan.thefullnet.com.br/api/.ansdb.db';
$db = new SQLite3($dbPath);

// Função para verificar se a conta está online com cURL
function verificarUsuarioCurl($username, $password) {
    $url = "http://life.dyndns-ip.org/player_api.php?username=$username&password=$password";
    
    // Inicializa a sessão cURL
    $ch = curl_init();
    
    // Configura a URL e a opção para retornar o resultado
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    
    // Executa a requisição cURL
    $response = curl_exec($ch);
    curl_close($ch);
    
    $data = json_decode($response, true);
    $conexoes = isset($data['user_info']['active_cons']) ? $data['user_info']['active_cons'] : 0;
    return $conexoes > 0 ? $conexoes : 0;
}

// Função para obter clientes online
function obterClientesOnline($db) {
    $stmt = $db->prepare("SELECT title, username, password, mac_address FROM ibo");
    $result = $stmt->execute();

    $onlineUsers = [];
    $onlineCount = 0;

    while ($row = $result->fetchArray(SQLITE3_ASSOC)) {
        $conexoes = verificarUsuarioCurl($row['username'], $row['password']); // Usa o cURL para verificar
        if ($conexoes > 0) {
            $onlineUsers[] = [
                'nome' => $row['title'],
                'mac' => $row['mac_address'],
                'conexoes' => $conexoes
            ];
            $onlineCount++;
        }
    }

    return [
        'total_online' => $onlineCount,
        'clientes_online' => $onlineUsers
    ];
}

// Obter dados dos clientes online
$dados_online = obterClientesOnline($db);
$total_online = $dados_online['total_online'];
$clientes_online = $dados_online['clientes_online'];

// Retorna os dados em formato JSON
echo json_encode([
    'total_online' => $total_online,
    'clientes_online' => $clientes_online
]);
?>
