<?php
/**
 * Teste - Simular App Android enviando GPS
 * Este script simula o app Android enviando posições GPS em tempo real
 */

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

// Configurações
$API_URL = 'https://sistemas.pinheiroempresas.com.br/controlefrota/backend-php/api-simples-v2.php';
$VIAGEM_ID = 1; // ID da viagem para teste

// Verificar se cURL está disponível
if (!function_exists('curl_init')) {
    die('<div style="color: red; padding: 20px;">❌ Erro: cURL não está instalado no servidor</div>');
}

echo "<h2>🚗 Simulador de GPS - App Android</h2>";
echo "<p>Simulando envio de posições GPS do app Android para o servidor...</p>";

// Simular trajeto em Aracaju/SE
$pontosGPS = [
    ['lat' => -10.9472, 'lng' => -37.0731, 'local' => 'Centro de Aracaju'],
    ['lat' => -10.9450, 'lng' => -37.0710, 'local' => 'Av. Hermes Fontes'],
    ['lat' => -10.9420, 'lng' => -37.0680, 'local' => 'Shopping Jardins'],
    ['lat' => -10.9380, 'lng' => -37.0650, 'local' => 'Universidade Tiradentes'],
    ['lat' => -10.9350, 'lng' => -37.0620, 'local' => 'Bairro Farolândia'],
    ['lat' => -10.9320, 'lng' => -37.0590, 'local' => 'Terminal Rodoviário'],
    ['lat' => -10.9290, 'lng' => -37.0560, 'local' => 'Aeroporto'},
];

echo "<div style='background: #f8f9fa; padding: 15px; border-radius: 8px; margin: 10px 0;'>";
echo "<h4>📍 Trajeto Simulado:</h4>";
foreach ($pontosGPS as $i => $ponto) {
    echo "<p><strong>Ponto " . ($i + 1) . ":</strong> {$ponto['local']} ({$ponto['lat']}, {$ponto['lng']})</p>";
}
echo "</div>";

// Função para enviar posição
function enviarPosicao($url, $viagemId, $lat, $lng, $velocidade = null) {
    $dados = [
        'viagem_id' => $viagemId,
        'latitude' => $lat,
        'longitude' => $lng,
        'velocidade' => $velocidade,
        'precisao' => rand(3, 10),
        'altitude' => rand(10, 50),
        'bearing' => rand(0, 360)
    ];
    
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url . '?acao=atualizar-posicao');
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($dados));
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
        'Content-Type: application/json',
        'User-Agent: ControleApp-Android/1.0'
    ]);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_TIMEOUT, 30);
    
    $response = curl_exec($ch);
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
    
    return ['code' => $httpCode, 'response' => $response];
}

echo "<h3>🔄 Enviando Posições GPS...</h3>";

foreach ($pontosGPS as $i => $ponto) {
    $velocidade = rand(20, 80); // Velocidade simulada entre 20-80 km/h
    
    echo "<div style='border-left: 4px solid #007bff; padding: 10px; margin: 10px 0; background: white;'>";
    echo "<strong>📡 Enviando Ponto " . ($i + 1) . ":</strong> {$ponto['local']}<br>";
    echo "<small>Lat: {$ponto['lat']}, Lng: {$ponto['lng']}, Velocidade: {$velocidade} km/h</small><br>";
    
    $resultado = enviarPosicao($API_URL, $VIAGEM_ID, $ponto['lat'], $ponto['lng'], $velocidade);
    
    if ($resultado['code'] == 200) {
        $data = json_decode($resultado['response'], true);
        if ($data && $data['sucesso']) {
            echo "<span style='color: green;'>✅ Sucesso!</span> ";
            echo "Total de pontos: {$data['dados']['total_pontos']}<br>";
            echo "<small>Resposta: {$data['mensagem']}</small>";
        } else {
            echo "<span style='color: red;'>❌ Erro na API:</span> " . ($data['mensagem'] ?? 'Erro desconhecido');
        }
    } else {
        echo "<span style='color: red;'>❌ Erro HTTP {$resultado['code']}:</span> " . $resultado['response'];
    }
    
    echo "</div>";
    
    // Aguardar 2 segundos entre envios (simular movimento real)
    if ($i < count($pontosGPS) - 1) {
        echo "<p style='color: #666; font-style: italic;'>⏳ Aguardando 2 segundos...</p>";
        sleep(2);
    }
}

echo "<hr>";
echo "<h3>🧪 Testar Rastreamento</h3>";
echo "<p>Agora acesse o dashboard para ver os pontos GPS no mapa:</p>";
echo "<a href='https://sistemas.pinheiroempresas.com.br/controlefrota/backend-php/admin/dashboard.html' target='_blank' style='background: #007bff; color: white; padding: 10px 20px; text-decoration: none; border-radius: 5px;'>🗺️ Abrir Dashboard</a>";

echo "<hr>";
echo "<h3>📊 Status da API</h3>";

// Testar endpoint de rastreamento
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $API_URL . '?acao=rastreamento');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

if ($httpCode == 200) {
    $data = json_decode($response, true);
    if ($data && $data['sucesso']) {
        echo "<div style='background: #d4edda; border: 1px solid #c3e6cb; color: #155724; padding: 10px; border-radius: 5px;'>";
        echo "<strong>✅ API de Rastreamento Funcionando!</strong><br>";
        echo "Viagens ativas: " . count($data['dados']) . "<br>";
        
        if (!empty($data['dados'])) {
            $viagem = $data['dados'][0];
            echo "Primeira viagem: {$viagem['cliente']} ({$viagem['total_pontos']} pontos GPS)";
        }
        echo "</div>";
    } else {
        echo "<div style='background: #f8d7da; border: 1px solid #f5c6cb; color: #721c24; padding: 10px; border-radius: 5px;'>";
        echo "<strong>❌ Erro na API:</strong> " . ($data['mensagem'] ?? 'Erro desconhecido');
        echo "</div>";
    }
} else {
    echo "<div style='background: #f8d7da; border: 1px solid #f5c6cb; color: #721c24; padding: 10px; border-radius: 5px;'>";
    echo "<strong>❌ Erro HTTP {$httpCode}</strong>";
    echo "</div>";
}

echo "<hr>";
echo "<p><strong>💡 Dica:</strong> Para integrar com o app Android real, use o endpoint:</p>";
echo "<code>POST {$API_URL}?acao=atualizar-posicao</code>";
echo "<p>O app deve enviar JSON com: viagem_id, latitude, longitude (e opcionalmente velocidade, precisao, altitude, bearing)</p>";
?> 
