<?php
/**
 * Simular Polling do App
 * Simula o que o app deveria fazer ao buscar notificações
 */

// Configurações de conexão com banco
$host = 'localhost';
$dbname = 'pinheir3_controle_frotasV1.1';
$username = 'pinheir3_admin';
$password = '080880Gelboy';

try {
    // Conectar ao banco
    $pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8mb4", $username, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    echo "📱 SIMULAÇÃO DE POLLING DO APP\n";
    echo "==============================\n\n";
    
    // Simular busca de notificações não lidas (como o app faria)
    $userId = '1'; // ID do gestor registrado
    
    echo "🔍 Buscando notificações para usuário: $userId\n";
    
    $stmt = $pdo->prepare("
        SELECT id, titulo, mensagem, tipo, solicitacao_id, lida, data_envio 
        FROM notificacoes_push 
        WHERE user_id = ? AND lida = FALSE 
        ORDER BY data_envio DESC
    ");
    $stmt->execute([$userId]);
    $notificacoes = $stmt->fetchAll(PDO::FETCH_ASSOC);
    
    if (empty($notificacoes)) {
        echo "❌ Nenhuma notificação não lida encontrada\n";
    } else {
        echo "✅ " . count($notificacoes) . " notificações não lidas encontradas:\n\n";
        
        foreach ($notificacoes as $notif) {
            echo "📨 Notificação ID: {$notif['id']}\n";
            echo "   Título: {$notif['titulo']}\n";
            echo "   Mensagem: {$notif['mensagem']}\n";
            echo "   Tipo: {$notif['tipo']}\n";
            echo "   Data: {$notif['data_envio']}\n";
            echo "   ---\n\n";
        }
        
        echo "🎯 O APP DEVERIA MOSTRAR ESTAS NOTIFICAÇÕES!\n";
        echo "===========================================\n";
        echo "Se o app não está mostrando, o problema pode ser:\n";
        echo "1. ❌ App não está fazendo polling\n";
        echo "2. ❌ Notificações locais desabilitadas\n";
        echo "3. ❌ Serviço de background não ativo\n";
        echo "4. ❌ Permissões do Android\n\n";
    }
    
    // Simular API que o app deveria chamar
    echo "🔗 API que o app deveria chamar:\n";
    echo "https://sistemas.pinheiroempresas.com.br/controlefrota/backend-php/api/gestao/notificacoes.php?acao=nao_lidas&user_id=$userId\n\n";
    
    // Testar a API
    echo "🧪 Testando a API...\n";
    $apiUrl = "https://sistemas.pinheiroempresas.com.br/controlefrota/backend-php/api/gestao/notificacoes.php?acao=nao_lidas&user_id=$userId";
    
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $apiUrl);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    
    $response = curl_exec($ch);
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
    
    echo "📊 Response Code: $httpCode\n";
    if ($response !== false) {
        echo "📄 Response: " . substr($response, 0, 200) . "...\n";
    } else {
        echo "❌ Erro ao acessar API\n";
    }
    
    echo "\n🔧 DIAGNÓSTICO:\n";
    echo "===============\n";
    echo "✅ Banco: Funcionando\n";
    echo "✅ Notificações: Existem\n";
    echo "✅ Gestor: Registrado\n";
    echo "❓ API: Precisa verificar\n";
    echo "❓ App: Precisa testar\n\n";
    
    echo "📱 PRÓXIMOS PASSOS:\n";
    echo "==================\n";
    echo "1. 📱 Abra o app no celular\n";
    echo "2. 🔄 Puxe para baixo para atualizar\n";
    echo "3. 🔍 Verifique se aparece a notificação\n";
    echo "4. 📋 Se não aparecer, verifique os logs do app\n";
    echo "5. ⚙️ Verifique configurações de notificação do Android\n\n";
    
    echo "✅ Simulação concluída!\n";
    
} catch (PDOException $e) {
    echo "❌ ERRO DE CONEXÃO COM BANCO:\n";
    echo "=============================\n";
    echo "Erro: " . $e->getMessage() . "\n";
} catch (Exception $e) {
    echo "❌ ERRO GERAL:\n";
    echo "==============\n";
    echo "Erro: " . $e->getMessage() . "\n";
}
?> 
