<?php
// diagnosticar_login.php - Diagnóstico completo do login

session_start();

// Desabilitar qualquer redirecionamento automático
ini_set('display_errors', 1);
error_reporting(E_ALL);

echo "<!DOCTYPE html>
<html>
<head>
    <title>Diagnóstico de Login</title>
    <style>
        body { font-family: monospace; padding: 20px; background: #f0f0f0; }
        .section { background: white; margin: 20px 0; padding: 20px; border-radius: 5px; box-shadow: 0 2px 5px rgba(0,0,0,0.1); }
        .success { color: green; }
        .error { color: red; }
        .warning { color: orange; }
        pre { background: #f5f5f5; padding: 10px; border-radius: 5px; overflow: auto; }
        table { border-collapse: collapse; width: 100%; }
        th, td { border: 1px solid #ddd; padding: 8px; text-align: left; }
        th { background: #f2f2f2; }
    </style>
</head>
<body>
    <h1>🔍 Diagnóstico de Login</h1>";

// ===== SEÇÃO 1: SESSÃO ===== //
echo "<div class='section'>";
echo "<h2>1. Sessão Atual</h2>";
echo "<p><strong>Session ID:</strong> " . session_id() . "</p>";
echo "<p><strong>Session Status:</strong> " . session_status() . "</p>";
echo "<p><strong>Session Name:</strong> " . session_name() . "</p>";
echo "<p><strong>Session Save Path:</strong> " . session_save_path() . "</p>";

if (is_writable(session_save_path())) {
    echo "<p class='success'>✅ Diretório de sessão gravável</p>";
} else {
    echo "<p class='error'>❌ Diretório de sessão NÃO gravável!</p>";
}

echo "<h3>Dados da Sessão:</h3>";
if (empty($_SESSION)) {
    echo "<p class='warning'>⚠️ Sessão vazia</p>";
} else {
    echo "<pre>";
    print_r($_SESSION);
    echo "</pre>";
}
echo "</div>";

// ===== SEÇÃO 2: CONEXÕES ===== //
echo "<div class='section'>";
echo "<h2>2. Conexões com Banco de Dados</h2>";

// Testar conexão principal
echo "<h3>Conexão Principal (tvitec62_son):</h3>";
if (file_exists('conexao.php')) {
    require_once 'conexao.php';
    if (isset($conn) && $conn instanceof mysqli) {
        if ($conn->ping()) {
            echo "<p class='success'>✅ Conexão principal OK</p>";
            $result = $conn->query("SELECT COUNT(*) as total FROM usuarios");
            $row = $result->fetch_assoc();
            echo "<p>Total de usuários: " . $row['total'] . "</p>";
        } else {
            echo "<p class='error'>❌ Conexão principal perdida</p>";
        }
    } else {
        echo "<p class='error'>❌ Variável \$conn não definida</p>";
    }
} else {
    echo "<p class='error'>❌ Arquivo conexao.php não encontrado</p>";
}

// Testar conexão testes
echo "<h3>Conexão Testes (tvitec62_son_teste):</h3>";
if (file_exists('conexao_teste.php')) {
    require_once 'conexao_teste.php';
    if (isset($conn_teste) && $conn_teste instanceof mysqli) {
        if ($conn_teste->ping()) {
            echo "<p class='success'>✅ Conexão testes OK</p>";
            $result = $conn_teste->query("SELECT COUNT(*) as total FROM usuarios");
            $row = $result->fetch_assoc();
            echo "<p>Total de usuários: " . $row['total'] . "</p>";
            
            // Listar emails de teste
            $result = $conn_teste->query("SELECT id, email, nome, tenant_id FROM usuarios LIMIT 10");
            if ($result->num_rows > 0) {
                echo "<h4>Usuários de teste:</h4>";
                echo "<table>";
                echo "<tr><th>ID</th><th>Nome</th><th>Email</th><th>tenant_id</th></tr>";
                while ($row = $result->fetch_assoc()) {
                    echo "<tr>";
                    echo "<td>" . $row['id'] . "</td>";
                    echo "<td>" . htmlspecialchars($row['nome']) . "</td>";
                    echo "<td>" . htmlspecialchars($row['email']) . "</td>";
                    echo "<td>" . $row['tenant_id'] . "</td>";
                    echo "</tr>";
                }
                echo "</table>";
            }
        } else {
            echo "<p class='error'>❌ Conexão testes perdida</p>";
        }
    } else {
        echo "<p class='error'>❌ Variável \$conn_teste não definida</p>";
    }
} else {
    echo "<p class='error'>❌ Arquivo conexao_teste.php não encontrado</p>";
}
echo "</div>";

// ===== SEÇÃO 3: TESTE DE LOGIN MANUAL ===== //
echo "<div class='section'>";
echo "<h2>3. Teste de Login Manual</h2>";

if (isset($_GET['testar_email'])) {
    $email_teste = $_GET['testar_email'];
    echo "<h3>Testando email: " . htmlspecialchars($email_teste) . "</h3>";
    
    // Testar no banco principal
    if (isset($conn) && $conn instanceof mysqli) {
        $stmt = $conn->prepare("SELECT id, nome, email, tenant_id FROM usuarios WHERE email = ?");
        $stmt->bind_param("s", $email_teste);
        $stmt->execute();
        $result = $stmt->get_result();
        
        if ($result->num_rows > 0) {
            $user = $result->fetch_assoc();
            echo "<p class='success'>✅ Usuário encontrado no PRINCIPAL</p>";
            echo "<pre>" . print_r($user, true) . "</pre>";
        } else {
            echo "<p class='warning'>⚠️ Usuário NÃO encontrado no PRINCIPAL</p>";
        }
        $stmt->close();
    }
    
    // Testar no banco de testes
    if (isset($conn_teste) && $conn_teste instanceof mysqli) {
        $stmt = $conn_teste->prepare("SELECT id, nome, email, tenant_id FROM usuarios WHERE email = ?");
        $stmt->bind_param("s", $email_teste);
        $stmt->execute();
        $result = $stmt->get_result();
        
        if ($result->num_rows > 0) {
            $user = $result->fetch_assoc();
            echo "<p class='success'>✅ Usuário encontrado no TESTES</p>";
            echo "<pre>" . print_r($user, true) . "</pre>";
            
            // Verificar tenant
            if (!empty($user['tenant_id'])) {
                $stmt2 = $conn_teste->prepare("SELECT * FROM tenants WHERE id = ?");
                $stmt2->bind_param("i", $user['tenant_id']);
                $stmt2->execute();
                $result2 = $stmt2->get_result();
                
                if ($result2->num_rows > 0) {
                    $tenant = $result2->fetch_assoc();
                    echo "<p class='success'>✅ Tenant encontrado</p>";
                    echo "<pre>" . print_r($tenant, true) . "</pre>";
                } else {
                    echo "<p class='error'>❌ Tenant ID " . $user['tenant_id'] . " NÃO encontrado!</p>";
                }
                $stmt2->close();
            }
        } else {
            echo "<p class='warning'>⚠️ Usuário NÃO encontrado no TESTES</p>";
        }
        $stmt->close();
    }
}

echo "<form method='GET'>";
echo "<input type='email' name='testar_email' placeholder='Digite um email para testar' required style='padding:8px; width:300px;'>";
echo "<button type='submit' style='padding:8px; margin-left:10px;'>Testar Email</button>";
echo "</form>";
echo "</div>";

// ===== SEÇÃO 4: TESTE DE REDIRECIONAMENTO ===== //
echo "<div class='section'>";
echo "<h2>4. Teste de Redirecionamento</h2>";
echo "<p><a href='teste_redirecionamento.php' target='_blank'>Criar sessão de teste e redirecionar</a></p>";
echo "</div>";

echo "</body></html>";

// Fechar conexões
if (isset($conn)) $conn->close();
if (isset($conn_teste)) $conn_teste->close();
?>