<?php
/**
 * 🔍 TESTE API DEBUG
 * 
 * Script para testar a API e identificar o erro específico
 */

header('Content-Type: text/html; charset=utf-8');

// Incluir funções de URL automática
require_once 'funcoes-url.php';

echo "<h1>🔍 TESTE API DEBUG</h1>";

// 1. Testar a API diretamente
echo "<h2>📡 1. Testando API listar_viagens_completas</h2>";

$url = urlApi('listar_viagens_completas');
echo "<p><strong>URL:</strong> $url</p>";

// Capturar erros
$context = stream_context_create([
    'http' => [
        'ignore_errors' => true,
        'timeout' => 30
    ]
]);

$response = file_get_contents($url, false, $context);

echo "<h3>📊 Resposta da API:</h3>";
echo "<pre style='background: #f5f5f5; padding: 10px; border-radius: 5px; max-height: 400px; overflow-y: auto;'>";
echo htmlspecialchars($response);
echo "</pre>";

// 2. Verificar se há erros no log
echo "<h2>📋 2. Verificando Log de Erros</h2>";

$log_file = ini_get('error_log');
if ($log_file && file_exists($log_file)) {
    echo "<p><strong>Log de erros:</strong> $log_file</p>";
    
    // Ler as últimas linhas do log
    $log_lines = file($log_file);
    $recent_lines = array_slice($log_lines, -20); // Últimas 20 linhas
    
    echo "<pre style='background: #f0f0f0; padding: 10px; border-radius: 5px; max-height: 300px; overflow-y: auto;'>";
    foreach ($recent_lines as $line) {
        if (strpos($line, 'api-simples-v2') !== false || strpos($line, 'listar_viagens') !== false) {
            echo htmlspecialchars($line);
        }
    }
    echo "</pre>";
} else {
    echo "<p style='color: orange;'>⚠️ Log de erros não encontrado</p>";
}

// 3. Testar conexão com banco
echo "<h2>🔌 3. Testando Conexão com Banco</h2>";

try {
    $pdo = new PDO(
        "mysql:host=localhost;dbname=pinheir3_controle_frotasV1.1;charset=utf8mb4",
        "pinheir3_admin",
        "080880Gelboy"
    );
    
    echo "<p style='color: green;'>✅ Conexão com banco OK</p>";
    
    // Testar a consulta SQL diretamente
    $sql = "SELECT COUNT(*) as total FROM viagens WHERE data_fim IS NOT NULL";
    $stmt = $pdo->prepare($sql);
    $stmt->execute();
    $result = $stmt->fetch();
    
    echo "<p><strong>Total de viagens finalizadas:</strong> {$result['total']}</p>";
    
} catch (Exception $e) {
    echo "<p style='color: red;'>❌ Erro na conexão: " . $e->getMessage() . "</p>";
}

// 4. Verificar se o arquivo da API existe
echo "<h2>📁 4. Verificando Arquivo da API</h2>";

$api_file = "api-simples-v2.php";
if (file_exists($api_file)) {
    echo "<p style='color: green;'>✅ Arquivo $api_file existe</p>";
    
    $file_size = filesize($api_file);
    echo "<p><strong>Tamanho:</strong> " . number_format($file_size) . " bytes</p>";
    
    $file_time = filemtime($api_file);
    echo "<p><strong>Última modificação:</strong> " . date('Y-m-d H:i:s', $file_time) . "</p>";
} else {
    echo "<p style='color: red;'>❌ Arquivo $api_file não encontrado</p>";
}

echo "<hr>";
echo "<p><em>Teste realizado em: " . date('Y-m-d H:i:s') . "</em></p>";
?>
