<?php
echo "<h1>Teste de Conectividade da API</h1>";

// Teste 1: Verificar se a API responde
echo "<h2>1. Testando resposta da API</h2>";

$url = "https://sistemas.pinheiroempresas.com.br/controlefrota/backend-php/admin/api-monitoramento.php?acao=listar&pagina=1&itens_por_pagina=5";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$error = curl_error($ch);
curl_close($ch);

echo "URL: $url<br>";
echo "HTTP Code: $httpCode<br>";
echo "Curl Error: " . ($error ?: 'Nenhum') . "<br>";

if ($response) {
    echo "<p style='color: green;'>✅ API respondeu!</p>";
    echo "Tamanho da resposta: " . strlen($response) . " bytes<br>";
    
    // Tentar decodificar JSON
    $data = json_decode($response, true);
    if ($data) {
        echo "<p style='color: green;'>✅ JSON válido!</p>";
        if (isset($data['success'])) {
            if ($data['success']) {
                echo "<p style='color: green;'>✅ API funcionando corretamente!</p>";
                echo "Total de solicitações: " . ($data['data']['total'] ?? 'N/A') . "<br>";
            } else {
                echo "<p style='color: red;'>❌ API retornou erro: " . ($data['message'] ?? 'Erro desconhecido') . "</p>";
            }
        } else {
            echo "<p style='color: orange;'>⚠️ Resposta não tem formato esperado</p>";
        }
    } else {
        echo "<p style='color: red;'>❌ Resposta não é JSON válido</p>";
        echo "Primeiros 500 caracteres da resposta:<br>";
        echo "<pre>" . htmlspecialchars(substr($response, 0, 500)) . "</pre>";
    }
} else {
    echo "<p style='color: red;'>❌ API não respondeu</p>";
}

// Teste 2: Verificar se o arquivo da API existe
echo "<h2>2. Verificando arquivo da API</h2>";

$apiFile = "admin/api-monitoramento.php";
if (file_exists($apiFile)) {
    echo "<p style='color: green;'>✅ Arquivo da API existe</p>";
    echo "Tamanho: " . filesize($apiFile) . " bytes<br>";
} else {
    echo "<p style='color: red;'>❌ Arquivo da API não encontrado</p>";
}

// Teste 3: Verificar configuração do banco
echo "<h2>3. Verificando configuração do banco</h2>";

$configFile = "config/database.php";
if (file_exists($configFile)) {
    echo "<p style='color: green;'>✅ Arquivo de configuração existe</p>";
} else {
    echo "<p style='color: red;'>❌ Arquivo de configuração não encontrado</p>";
}

// Teste 4: Verificar Response.php
echo "<h2>4. Verificando Response.php</h2>";

$responseFile = "src/Utils/Response.php";
if (file_exists($responseFile)) {
    echo "<p style='color: green;'>✅ Response.php existe</p>";
} else {
    echo "<p style='color: red;'>❌ Response.php não encontrado</p>";
}

// Teste 5: Testar conexão direta com banco
echo "<h2>5. Testando conexão com banco</h2>";

try {
    require_once 'config/database.php';
    $pdo = Database::getConnection();
    echo "<p style='color: green;'>✅ Conexão com banco OK</p>";
    
    // Testar query simples
    $stmt = $pdo->query("SELECT COUNT(*) as total FROM solicitacoes");
    $result = $stmt->fetch(PDO::FETCH_ASSOC);
    echo "Total de solicitações no banco: " . $result['total'] . "<br>";
    
} catch (Exception $e) {
    echo "<p style='color: red;'>❌ Erro na conexão com banco: " . $e->getMessage() . "</p>";
}

echo "<h2>6. Links para teste</h2>";
echo "<ul>";
echo "<li><a href='https://sistemas.pinheiroempresas.com.br/controlefrota/backend-php/admin/api-monitoramento.php?acao=listar' target='_blank'>API Direta</a></li>";
echo "<li><a href='https://sistemas.pinheiroempresas.com.br/controlefrota/backend-php/admin/monitoramento-solicitacoes.html' target='_blank'>Tela de Monitoramento</a></li>";
echo "</ul>";
?> 
