<?php
require_once 'conexao.php';
require_once 'verificador_fluxos_automatizados.php';
session_start();

// DEBUG: Verificar sessão
error_log("🔍 DEBUG SESSÃO - tenant_id: " . ($_SESSION['tenant_id'] ?? 'NULL'));
error_log("🔍 DEBUG SESSÃO - usuario_id: " . ($_SESSION['usuario_id'] ?? 'NULL'));
error_log("🔍 DEBUG SESSÃO - logado: " . ($_SESSION['logado'] ?? 'NULL'));

// Verificar se o usuário está logado
if (!isset($_SESSION['logado'])) {
    header('Location: login.php');
    exit;
}

$tenant_id = $_SESSION['tenant_id'];
$usuario_id = $_SESSION['usuario_id'];

// DEBUG: Mostrar na tela também
echo "<!-- DEBUG: tenant_id = $tenant_id, usuario_id = $usuario_id -->";

$resultado_teste = null;

// Testar configurações
if (isset($_POST['testar_configuracoes'])) {
    $resultado_teste = testarConfiguracaoEmail($conn, $tenant_id, $usuario_id);
}

// Testar envio real
if (isset($_POST['testar_envio'])) {
    $email_teste = $_POST['email_teste'] ?? '';
    if (!empty($email_teste)) {
        $assunto = "Teste de E-mail - Fluxos Automatizados";
        $mensagem = "Este é um e-mail de teste do sistema de fluxos automatizados.\n\n";
        $mensagem .= "Data/Hora: " . date('d/m/Y H:i:s') . "\n";
        $mensagem .= "Tenant ID: $tenant_id\n";
        $mensagem .= "Usuário ID: $usuario_id";
        
        $enviado = enviarEmailReal($conn, $email_teste, $assunto, $mensagem, $tenant_id, $usuario_id);
        
        if ($enviado) {
            $resultado_teste = ['success' => true, 'message' => '✅ E-mail de teste enviado com sucesso!'];
        } else {
            $resultado_teste = ['success' => false, 'message' => '❌ Falha no envio do e-mail de teste'];
        }
    } else {
        $resultado_teste = ['success' => false, 'message' => '❌ Por favor, informe um e-mail para teste'];
    }
}

// Buscar configurações atuais
$configuracoes = carregarConfiguracoesEmailReal($conn, $tenant_id, $usuario_id);
?>

<!DOCTYPE html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Testar Configurações de E-mail</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
    <div class="container mt-4">
        <h1>🔧 Testar Configurações de E-mail</h1>
        
        <?php if ($resultado_teste): ?>
            <div class="alert alert-<?php echo $resultado_teste['success'] ? 'success' : 'danger'; ?> mt-3">
                <?php echo $resultado_teste['message']; ?>
            </div>
        <?php endif; ?>
        
        <div class="card mt-4">
            <div class="card-header">
                <h5>Configurações e Debug</h5>
            </div>
            <div class="card-body">
                <div class="alert alert-info">
                    <strong>Informações da Sessão:</strong><br>
                    Tenant ID: <?php echo $tenant_id; ?><br>
                    Usuário ID: <?php echo $usuario_id; ?>
                </div>
                
                <?php 
                // Buscar configurações de forma mais direta para debug
                $debug_config = null;
                
                // Tentativa 1: Busca específica
                $stmt = $conn->prepare("SELECT * FROM configuracoes_email WHERE tenant_id = ? AND usuario_id = ?");
                $stmt->bind_param("ii", $tenant_id, $usuario_id);
                $stmt->execute();
                $result = $stmt->get_result();
                if ($result->num_rows > 0) {
                    $debug_config = $result->fetch_assoc();
                    echo '<div class="alert alert-success">✅ Configuração específica encontrada!</div>';
                }
                $stmt->close();
                
                // Tentativa 2: Busca por tenant
                if (!$debug_config) {
                    $stmt = $conn->prepare("SELECT * FROM configuracoes_email WHERE tenant_id = ? LIMIT 1");
                    $stmt->bind_param("i", $tenant_id);
                    $stmt->execute();
                    $result = $stmt->get_result();
                    if ($result->num_rows > 0) {
                        $debug_config = $result->fetch_assoc();
                        echo '<div class="alert alert-warning">⚠️ Usando configuração do tenant (não específica do usuário)</div>';
                    }
                    $stmt->close();
                }
                
                // Tentativa 3: Listar todas
                if (!$debug_config) {
                    echo '<div class="alert alert-danger">❌ Nenhuma configuração encontrada</div>';
                    
                    echo '<h6>Configurações disponíveis no banco:</h6>';
                    $stmt_all = $conn->prepare("SELECT id, tenant_id, usuario_id, email_remetente FROM configuracoes_email");
                    $stmt_all->execute();
                    $result_all = $stmt_all->get_result();
                    
                    if ($result_all->num_rows > 0) {
                        echo '<table class="table table-sm">';
                        echo '<tr><th>ID</th><th>Tenant</th><th>Usuário</th><th>E-mail</th></tr>';
                        while ($row = $result_all->fetch_assoc()) {
                            echo "<tr>
                                <td>{$row['id']}</td>
                                <td>{$row['tenant_id']}</td>
                                <td>{$row['usuario_id']}</td>
                                <td>{$row['email_remetente']}</td>
                            </tr>";
                        }
                        echo '</table>';
                    } else {
                        echo '<p>Nenhuma configuração no banco de dados</p>';
                    }
                    $stmt_all->close();
                } else {
                    // Mostrar configurações encontradas
                    echo '<h6>Configurações Carregadas:</h6>';
                    echo '<table class="table table-bordered">';
                    echo '<tr><th>Servidor SMTP</th><td>' . htmlspecialchars($debug_config['servidor_smtp']) . '</td></tr>';
                    echo '<tr><th>Porta</th><td>' . htmlspecialchars($debug_config['porta_smtp']) . '</td></tr>';
                    echo '<tr><th>Usuário SMTP</th><td>' . htmlspecialchars($debug_config['usuario_smtp']) . '</td></tr>';
                    echo '<tr><th>E-mail Remetente</th><td>' . htmlspecialchars($debug_config['email_remetente']) . '</td></tr>';
                    echo '<tr><th>Nome Remetente</th><td>' . htmlspecialchars($debug_config['nome_remetente']) . '</td></tr>';
                    echo '<tr><th>Criptografia</th><td>' . htmlspecialchars($debug_config['criptografia']) . '</td></tr>';
                    echo '</table>';
                }
                ?>
            </div>
        </div>
        
        <div class="card mt-4">
            <div class="card-header">
                <h5>Testes</h5>
            </div>
            <div class="card-body">
                <form method="POST" class="mb-4">
                    <button type="submit" name="testar_configuracoes" class="btn btn-primary">
                        🔍 Testar Conexão SMTP
                    </button>
                    <small class="text-muted ms-2">Testa apenas a conexão com o servidor SMTP</small>
                </form>
                
                <form method="POST">
                    <div class="row">
                        <div class="col-md-6">
                            <label for="email_teste" class="form-label">E-mail para Teste</label>
                            <input type="email" class="form-control" id="email_teste" name="email_teste" 
                                   placeholder="seu-email@exemplo.com" required>
                        </div>
                        <div class="col-md-6 d-flex align-items-end">
                            <button type="submit" name="testar_envio" class="btn btn-success">
                                📧 Testar Envio Real
                            </button>
                        </div>
                    </div>
                    <small class="text-muted">Envia um e-mail real para testar todo o processo</small>
                </form>
            </div>
        </div>
        
        <div class="card mt-4">
            <div class="card-header">
                <h5>Próximos Passos</h5>
            </div>
            <div class="card-body">
                <ol>
                    <li>Teste a conexão SMTP primeiro</li>
                    <li>Se a conexão funcionar, teste o envio real</li>
                    <li>Se ambos funcionarem, os fluxos automatizados devem enviar e-mails</li>
                    <li>Verifique os logs em <code>logs/email_fluxos.log</code></li>
                </ol>
                
                <a href="fluxos_automatizados.php" class="btn btn-outline-primary">
                    ← Voltar para Fluxos Automatizados
                </a>
            </div>
        </div>
    </div>
</body>
</html>