<?php
/**
 * Script para testar configuração do FCM
 */

require_once __DIR__ . '/config/bootstrap.php';

use ControleFrotas\Config\Database;

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

echo "<h1>🔥 Teste de Configuração FCM</h1>";
echo "<hr>";

try {
    echo "<h2>1. Verificando Chave do Servidor FCM</h2>";
    
    $fcmServerKey = Database::queryOne(
        "SELECT valor FROM configuracoes WHERE chave = 'fcm_server_key'"
    );
    
    if ($fcmServerKey && !empty($fcmServerKey['valor'])) {
        echo "<p style='color: green;'>✅ Chave do servidor FCM configurada</p>";
        echo "<p><strong>Chave:</strong> " . substr($fcmServerKey['valor'], 0, 20) . "...</p>";
    } else {
        echo "<p style='color: red;'>❌ Chave do servidor FCM não configurada</p>";
        echo "<p>Configure a chave na tabela configuracoes:</p>";
        echo "<pre>INSERT INTO configuracoes (chave, valor, descricao) VALUES ('fcm_server_key', 'SUA_CHAVE_AQUI', 'Chave do servidor FCM');</pre>";
    }
    
    echo "<h2>2. Verificando Tokens FCM</h2>";
    
    $tokens = Database::query(
        "SELECT user_id, device_id, platform, ultimo_uso FROM fcm_tokens WHERE ativo = TRUE ORDER BY ultimo_uso DESC LIMIT 10"
    );
    
    if (count($tokens) > 0) {
        echo "<p style='color: green;'>✅ Tokens FCM encontrados: " . count($tokens) . "</p>";
        
        echo "<table border='1' style='border-collapse: collapse; width: 100%;'>";
        echo "<tr><th>User ID</th><th>Device ID</th><th>Platform</th><th>Último Uso</th></tr>";
        
        foreach ($tokens as $token) {
            echo "<tr>";
            echo "<td>{$token['user_id']}</td>";
            echo "<td>{$token['device_id']}</td>";
            echo "<td>{$token['platform']}</td>";
            echo "<td>{$token['ultimo_uso']}</td>";
            echo "</tr>";
        }
        echo "</table>";
    } else {
        echo "<p style='color: orange;'>⚠️ Nenhum token FCM encontrado</p>";
        echo "<p>Configure o Firebase no app Android primeiro</p>";
    }
    
    echo "<h2>3. Teste de Envio de Notificação</h2>";
    
    if ($fcmServerKey && count($tokens) > 0) {
        echo "<p>Testando envio de notificação...</p>";
        
        // Pegar o primeiro token
        $primeiroToken = $tokens[0];
        
        // Simular envio de notificação
        $titulo = "Teste FCM Real";
        $mensagem = "Esta é uma notificação FCM real! " . date('H:i:s');
        
        $data = [
            'to' => $primeiroToken['user_id'], // Usar user_id como exemplo
            'notification' => [
                'title' => $titulo,
                'body' => $mensagem,
                'icon' => 'ic_notification',
                'sound' => 'default',
                'click_action' => 'FLUTTER_NOTIFICATION_CLICK'
            ],
            'data' => [
                'tipo' => 'teste',
                'timestamp' => time()
            ]
        ];
        
        echo "<p style='color: green;'>✅ Notificação preparada para envio</p>";
        echo "<p><strong>Título:</strong> $titulo</p>";
        echo "<p><strong>Mensagem:</strong> $mensagem</p>";
        echo "<p><strong>User ID:</strong> {$primeiroToken['user_id']}</p>";
        
    } else {
        echo "<p style='color: red;'>❌ Não é possível testar - configure FCM primeiro</p>";
    }
    
    echo "<hr>";
    echo "<h2>📋 Próximos Passos</h2>";
    
    if (!$fcmServerKey) {
        echo "<ol>";
        echo "<li>Configure a chave do servidor FCM no banco</li>";
        echo "<li>Configure o Firebase no app Android</li>";
        echo "<li>Teste o envio de notificações</li>";
        echo "</ol>";
    } elseif (count($tokens) == 0) {
        echo "<ol>";
        echo "<li>Configure o Firebase no app Android</li>";
        echo "<li>Reinstale o app e configure como gestor</li>";
        echo "<li>Verifique se os tokens estão sendo registrados</li>";
        echo "</ol>";
    } else {
        echo "<p style='color: green;'>✅ FCM configurado corretamente!</p>";
        echo "<p>Você pode enviar notificações push reais.</p>";
    }
    
    echo "<h3>🔗 Links Úteis</h3>";
    echo "<ul>";
    echo "<li><a href='https://console.firebase.google.com' target='_blank'>Firebase Console</a></li>";
    echo "<li><a href='CONFIGURAR-FIREBASE.md' target='_blank'>Guia de Configuração</a></li>";
    echo "<li><a href='verificar-tokens.php'>Verificar Tokens</a></li>";
    echo "</ul>";
    
} catch (Exception $e) {
    echo "<p style='color: red;'>❌ ERRO: " . $e->getMessage() . "</p>";
}
?> 
