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

echo "<h1>🎯 Teste com Credenciais Descobertas</h1>";
echo "<p>Testando com as credenciais encontradas no código do sistema.</p>";

// Credenciais descobertas no código
$config = [
    'host' => 'localhost',
    'dbname' => 'pinheir3_controle_frotasV1.1',
    'user' => 'pinheir3_admin',
    'pass' => '080880Gelboy'
];

echo "<h3>🧪 Testando Configuração Descoberta</h3>";
echo "<p><strong>Host:</strong> {$config['host']}</p>";
echo "<p><strong>Banco:</strong> {$config['dbname']}</p>";
echo "<p><strong>Usuário:</strong> {$config['user']}</p>";
echo "<p><strong>Senha:</strong> 080880Gelboy</p>";

try {
    $pdo = new PDO(
        "mysql:host={$config['host']};dbname={$config['dbname']};charset=utf8",
        $config['user'],
        $config['pass']
    );
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    echo "<div style='background: #d4edda; padding: 15px; border-radius: 5px; margin: 20px 0;'>";
    echo "<h3>🎉 CONEXÃO FUNCIONOU!</h3>";
    
    // Testar consultas básicas
    $stmt = $pdo->query("SHOW TABLES");
    $tabelas = $stmt->fetchAll(PDO::FETCH_COLUMN);
    echo "<p><strong>Tabelas encontradas:</strong> " . implode(', ', $tabelas) . "</p>";
    
    // Verificar dados das tabelas principais
    if (in_array('usuarios', $tabelas)) {
        $stmt = $pdo->query("SELECT COUNT(*) as total FROM usuarios");
        $totalUsuarios = $stmt->fetch()['total'];
        echo "<p>👥 Usuários: $totalUsuarios registros</p>";
        
        if ($totalUsuarios > 0) {
            $stmt = $pdo->query("SELECT id, nome, email FROM usuarios LIMIT 3");
            $usuarios = $stmt->fetchAll();
            echo "<p><strong>Usuários cadastrados:</strong></p>";
            echo "<ul>";
            foreach ($usuarios as $user) {
                echo "<li>{$user['nome']} ({$user['email']})</li>";
            }
            echo "</ul>";
        }
    }
    
    if (in_array('motoristas', $tabelas)) {
        $stmt = $pdo->query("SELECT COUNT(*) as total FROM motoristas");
        $totalMotoristas = $stmt->fetch()['total'];
        echo "<p>🚗 Motoristas: $totalMotoristas registros</p>";
        
        if ($totalMotoristas > 0) {
            $stmt = $pdo->query("SELECT id, nome, usuario, status FROM motoristas");
            $motoristas = $stmt->fetchAll();
            echo "<p><strong>Motoristas cadastrados:</strong></p>";
            echo "<ul>";
            foreach ($motoristas as $motorista) {
                echo "<li>{$motorista['nome']} (usuário: {$motorista['usuario']}, status: {$motorista['status']})</li>";
            }
            echo "</ul>";
        }
    }
    
    if (in_array('viagens', $tabelas)) {
        $stmt = $pdo->query("SELECT COUNT(*) as total FROM viagens");
        $totalViagens = $stmt->fetch()['total'];
        echo "<p>📍 Viagens: $totalViagens registros</p>";
        
        // Verificar viagens órfãs
        $stmt = $pdo->query("
            SELECT COUNT(*) as total 
            FROM viagens v 
            LEFT JOIN usuarios u ON v.tecnico_id = u.id 
            LEFT JOIN motoristas m ON v.tecnico_id = m.nome
            WHERE u.id IS NULL AND m.nome IS NULL
        ");
        $viagensOrfas = $stmt->fetch()['total'];
        echo "<p>⚠️ Viagens órfãs: $viagensOrfas</p>";
        
        // Mostrar alguns técnicos das viagens
        $stmt = $pdo->query("SELECT DISTINCT tecnico_id, COUNT(*) as total FROM viagens GROUP BY tecnico_id ORDER BY total DESC LIMIT 5");
        $tecnicos = $stmt->fetchAll();
        echo "<p><strong>Técnicos nas viagens:</strong></p>";
        echo "<ul>";
        foreach ($tecnicos as $tecnico) {
            echo "<li>{$tecnico['tecnico_id']} ({$tecnico['total']} viagens)</li>";
        }
        echo "</ul>";
    }
    
    echo "</div>";
    
    // Gerar scripts corrigidos com as credenciais corretas
    echo "<h2>🔄 Atualizando Scripts com Credenciais Corretas</h2>";
    
    // 1. Atualizar verificar-tecnicos.php
    $verificarTecnicos = "<?php
header('Content-Type: application/json; charset=utf-8');

// Configuração correta descoberta
\$host = 'localhost';
\$dbname = 'pinheir3_controle_frotasV1.1';
\$username = 'pinheir3_admin';
\$password = '080880Gelboy';

try {
    \$pdo = new PDO(\"mysql:host=\$host;dbname=\$dbname;charset=utf8\", \$username, \$password);
    \$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    \$resultado = [];
    
    // 1. Verificar técnicos únicos nas viagens
    \$stmt = \$pdo->query(\"SELECT DISTINCT tecnico_id, COUNT(*) as total_viagens FROM viagens GROUP BY tecnico_id ORDER BY total_viagens DESC\");
    \$tecnicosViagens = \$stmt->fetchAll(PDO::FETCH_ASSOC);
    \$resultado['tecnicos_em_viagens'] = \$tecnicosViagens;
    
    // 2. Verificar usuários cadastrados (tabela unificada)
    \$stmt = \$pdo->query(\"SELECT id, nome, COALESCE(matricula, 'N/A') as matricula, ativo as status FROM usuarios ORDER BY nome\");
    \$usuariosCadastrados = \$stmt->fetchAll(PDO::FETCH_ASSOC);
    \$resultado['usuarios_cadastrados'] = \$usuariosCadastrados;
    
    // 3. Verificar motoristas cadastrados (tabela antiga)
    \$stmt = \$pdo->query(\"SELECT id, nome, matricula, status FROM motoristas ORDER BY nome\");
    \$motoristasCadastrados = \$stmt->fetchAll(PDO::FETCH_ASSOC);
    \$resultado['motoristas_cadastrados'] = \$motoristasCadastrados;
    
    // 4. Verificar viagens com técnico não identificado
    \$stmt = \$pdo->query(\"
        SELECT v.id, v.cliente, v.tecnico_id, v.data_inicio, 
               COALESCE(u.nome, COALESCE(m.nome, 'NÃO ENCONTRADO')) as tecnico_nome
        FROM viagens v
        LEFT JOIN usuarios u ON v.tecnico_id = u.id
        LEFT JOIN motoristas m ON v.tecnico_id = m.nome
        WHERE u.nome IS NULL AND m.nome IS NULL
        ORDER BY v.data_inicio DESC
        LIMIT 10
    \");
    \$viagensSemTecnico = \$stmt->fetchAll(PDO::FETCH_ASSOC);
    \$resultado['viagens_sem_tecnico'] = \$viagensSemTecnico;
    
    // 5. Verificar viagens com técnico identificado
    \$stmt = \$pdo->query(\"
        SELECT v.id, v.cliente, v.tecnico_id, v.data_inicio, 
               COALESCE(u.nome, m.nome) as tecnico_nome
        FROM viagens v
        LEFT JOIN usuarios u ON v.tecnico_id = u.id
        LEFT JOIN motoristas m ON v.tecnico_id = m.nome
        WHERE (u.nome IS NOT NULL OR m.nome IS NOT NULL)
        ORDER BY v.data_inicio DESC
        LIMIT 5
    \");
    \$viagensComTecnico = \$stmt->fetchAll(PDO::FETCH_ASSOC);
    \$resultado['viagens_com_tecnico'] = \$viagensComTecnico;
    
    // 6. Estatísticas finais
    \$stmt = \$pdo->query(\"SELECT COUNT(*) as total FROM viagens\");
    \$resultado['total_viagens'] = \$stmt->fetch()['total'];
    
    \$stmt = \$pdo->query(\"SELECT COUNT(*) as total FROM usuarios\");
    \$resultado['total_usuarios'] = \$stmt->fetch()['total'];
    
    \$stmt = \$pdo->query(\"SELECT COUNT(*) as total FROM motoristas\");
    \$resultado['total_motoristas'] = \$stmt->fetch()['total'];
    
    // Contar viagens órfãs
    \$stmt = \$pdo->query(\"
        SELECT COUNT(*) as total 
        FROM viagens v 
        LEFT JOIN usuarios u ON v.tecnico_id = u.id 
        LEFT JOIN motoristas m ON v.tecnico_id = m.nome
        WHERE u.id IS NULL AND m.nome IS NULL
    \");
    \$resultado['viagens_orfas'] = \$stmt->fetch()['total'];
    
    echo json_encode([
        'sucesso' => true,
        'dados' => \$resultado
    ], JSON_PRETTY_PRINT);
    
} catch (Exception \$e) {
    echo json_encode([
        'sucesso' => false,
        'mensagem' => \$e->getMessage()
    ]);
}
?>";

    file_put_contents('verificar-tecnicos.php', $verificarTecnicos);
    echo "<p>✅ verificar-tecnicos.php atualizado</p>";
    
    // 2. Atualizar script de unificação
    $unificacao = file_get_contents('unificar-usuarios-motoristas.php');
    $unificacao = str_replace("'G3r@ld0P!nh3!r0'", "'080880Gelboy'", $unificacao);
    file_put_contents('unificar-usuarios-motoristas.php', $unificacao);
    echo "<p>✅ unificar-usuarios-motoristas.php atualizado</p>";
    
    echo "<h3>🎯 Próximos Passos</h3>";
    echo "<ol>";
    echo "<li><a href='verificar-tecnicos.html' style='color: #007bff;'>Testar Verificação de Técnicos</a> (deve funcionar agora)</li>";
    echo "<li><a href='unificar-usuarios.html' style='color: #007bff;'>Executar Unificação de Usuários</a></li>";
    echo "<li><a href='corrigir-api-completa.php' style='color: #007bff;'>Corrigir APIs</a></li>";
    echo "</ol>";
    
} catch (Exception $e) {
    echo "<div style='background: #f8d7da; padding: 15px; border-radius: 5px; margin: 20px 0;'>";
    echo "<h3>❌ Ainda Falhou</h3>";
    echo "<p><strong>Erro:</strong> " . $e->getMessage() . "</p>";
    echo "<p>Vamos tentar outras alternativas...</p>";
    
    // Tentar outras variações da senha
    $senhasParaTestar = [
        '080880gelboy',
        'Gelboy080880',
        'gelboy080880',
        '080880',
        'Gelboy',
        'gelboy'
    ];
    
    echo "<h4>🔍 Testando Variações da Senha</h4>";
    foreach ($senhasParaTestar as $senha) {
        try {
            $pdoTeste = new PDO(
                "mysql:host=localhost;dbname=pinheir3_controle_frotasV1.1;charset=utf8",
                'pinheir3_admin',
                $senha
            );
            echo "<p style='color: green;'>✅ FUNCIONOU com senha: $senha</p>";
            break;
        } catch (Exception $e2) {
            echo "<p style='color: red;'>❌ Falhou com senha: $senha</p>";
        }
    }
    echo "</div>";
}

echo "<hr>";
echo "<p><a href='dashboard.html'>🔗 Voltar ao Dashboard</a></p>";
?> 
