<?php
/**
 * Sistema de Notificações Local - Sem Firebase
 * Usa apenas notificações locais do Android
 */

// 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 "📱 SISTEMA DE NOTIFICAÇÕES LOCAL\n";
    echo "=================================\n\n";
    
    echo "🎯 Este sistema funciona SEM Firebase:\n";
    echo "   ✅ Notificações locais do Android\n";
    echo "   ✅ App mostra notificações quando aberto\n";
    echo "   ✅ Sistema de polling para verificar novas solicitações\n";
    echo "   ✅ Banco de dados para armazenar notificações\n\n";
    
    // Verificar tabelas
    echo "📋 Verificando tabelas...\n";
    
    $stmt = $pdo->query("SHOW TABLES LIKE 'notificacoes_push'");
    if ($stmt->rowCount() > 0) {
        echo "✅ Tabela notificacoes_push existe\n";
    } else {
        echo "❌ Tabela notificacoes_push não existe\n";
        echo "💡 Execute: php criar-tabela-notificacoes.php\n";
    }
    
    $stmt = $pdo->query("SHOW TABLES LIKE 'fcm_tokens'");
    if ($stmt->rowCount() > 0) {
        echo "✅ Tabela fcm_tokens existe\n";
    } else {
        echo "❌ Tabela fcm_tokens não existe\n";
        echo "💡 Execute: php criar-tabela-notificacoes.php\n";
    }
    
    // Verificar gestores
    echo "\n👥 Verificando gestores...\n";
    $stmt = $pdo->query("SELECT user_id FROM fcm_tokens WHERE user_type = 'gestor' AND ativo = TRUE");
    $gestores = $stmt->fetchAll(PDO::FETCH_ASSOC);
    if ($gestores) {
        echo "✅ " . count($gestores) . " gestores encontrados\n";
    } else {
        echo "❌ Nenhum gestor encontrado\n";
        echo "💡 Configure o app como 'gestor' primeiro\n";
    }
    
    // Verificar notificações
    echo "\n📨 Verificando notificações...\n";
    $stmt = $pdo->query("SELECT COUNT(*) as total FROM notificacoes_push");
    $result = $stmt->fetch(PDO::FETCH_ASSOC);
    $totalNotificacoes = $result['total'];
    echo "📊 Total de notificações: $totalNotificacoes\n";
    
    $stmt = $pdo->query("SELECT COUNT(*) as total FROM notificacoes_push WHERE lida = FALSE");
    $result = $stmt->fetch(PDO::FETCH_ASSOC);
    $totalNaoLidas = $result['total'];
    echo "📬 Não lidas: $totalNaoLidas\n";
    
    echo "\n🎯 COMO FUNCIONA (SEM FIREBASE):\n";
    echo "================================\n";
    echo "1. 📱 Motorista solicita viagem\n";
    echo "2. 💾 Sistema salva notificação no banco\n";
    echo "3. 🔄 App do gestor verifica novas notificações (polling)\n";
    echo "4. 📢 App mostra notificação local quando aberto\n";
    echo "5. ✅ Gestor vê a notificação na tela do app\n\n";
    
    echo "💡 VANTAGENS DO SISTEMA LOCAL:\n";
    echo "==============================\n";
    echo "✅ Não precisa de Firebase\n";
    echo "✅ Funciona offline\n";
    echo "✅ Mais simples de configurar\n";
    echo "✅ Controle total das notificações\n";
    echo "✅ Não depende de serviços externos\n\n";
    
    echo "⚠️  LIMITAÇÕES:\n";
    echo "==============\n";
    echo "❌ Notificação só aparece quando app está aberto\n";
    echo "❌ Não aparece como popup na tela\n";
    echo "❌ Precisa de polling (verificação periódica)\n\n";
    
    echo "🔧 CONFIGURAÇÃO NECESSÁRIA:\n";
    echo "===========================\n";
    echo "1. ✅ Tabelas criadas\n";
    echo "2. ✅ App configurado como gestor\n";
    echo "3. ✅ Sistema de polling implementado\n";
    echo "4. ✅ Notificações locais configuradas\n\n";
    
    echo "📱 PRÓXIMOS PASSOS:\n";
    echo "==================\n";
    echo "1. Configure o app como 'gestor'\n";
    echo "2. Teste o sistema de polling\n";
    echo "3. Verifique se as notificações aparecem no app\n";
    echo "4. Teste o fluxo completo\n\n";
    
    echo "✅ Sistema local configurado!\n";
    
} catch (PDOException $e) {
    echo "❌ ERRO DE CONEXÃO COM BANCO:\n";
    echo "=============================\n";
    echo "Erro: " . $e->getMessage() . "\n";
    echo "\n💡 Verifique:\n";
    echo "• Se o banco de dados está rodando\n";
    echo "• Se as credenciais estão corretas\n";
    echo "• Se o banco 'pinheir3_controle_frotasV1.1' existe\n";
} catch (Exception $e) {
    echo "❌ ERRO GERAL:\n";
    echo "==============\n";
    echo "Erro: " . $e->getMessage() . "\n";
}
?> 
