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

// 1. Verifica login
if (!isset($_SESSION['usuario']) || empty($_SESSION['usuario'])) { header("Location: index.php"); exit; }
$login_atual = $_SESSION['usuario'];

// 2. Cria modelos se não existirem
$check = $connGeral->prepare("SELECT count(*) FROM email_modelo WHERE dono = ?");
$check->execute([$login_atual]);
if ($check->fetchColumn() == 0) {
    $padroes = [
        ['teste', 'Seu Teste Solicitado', "Olá, segue seu teste!\n\nUsuario: {login}\nSenha: {senha}\nValidade: {vencimento}\n\nLink: {app_url}", 1],
        ['novo_usuario', 'Bem Vindo!', "Seja bem vindo!\n\nUsuario: {login}\nSenha: {senha}\nValidade: {vencimento}", 1],
        ['vencimento', 'Aviso de Vencimento', "Olá {nome},\n\nSua assinatura vence dia {vencimento}. Renove agora.", 1],
        ['renovacao', 'Renovado com Sucesso', "Pagamento confirmado!\nSua nova validade é: {vencimento}.", 1]
    ];
    $ins = $connGeral->prepare("INSERT INTO email_modelo (tipo, assunto, mensagem, dono, ativo) VALUES (?, ?, ?, ?, ?)");
    foreach ($padroes as $p) { $ins->execute([$p[0], $p[1], $p[2], $login_atual, $p[3]]); }
}

$msg = "";

// 3. Salvar Modelo
if (isset($_POST['salvar_modelo'])) {
    $id = $_POST['id_modelo'];
    $assunto = $_POST['assunto'];
    $msg_txt = $_POST['mensagem'];
    $ativo = isset($_POST['ativo']) ? 1 : 0;

    $upd = $connGeral->prepare("UPDATE email_modelo SET assunto=?, mensagem=?, ativo=? WHERE id=? AND dono=?");
    if ($upd->execute([$assunto, $msg_txt, $ativo, $id, $login_atual])) {
        $msg = "<div class='alert alert-success fw-bold'><i class='fas fa-check'></i> Modelo salvo com sucesso!</div>";
    }
}

// 4. Salvar SMTP (AGORA COM GMAIL FIXO)
if (isset($_POST['salvar_smtp'])) {
    // FORÇAMOS O HOST A SER GMAIL
    $host = 'smtp.gmail.com'; 
    $email = $_POST['email']; 
    $senha = $_POST['senha']; 
    $porta = $_POST['porta'];
    
    // Verifica se existe
    $existe = $connGeral->prepare("SELECT id FROM smtp_config WHERE dono=?");
    $existe->execute([$login_atual]);
    
    if ($existe->rowCount() > 0) {
        $sql = "UPDATE smtp_config SET host=?, email=?, senha=?, porta=? WHERE dono=?";
    } else {
        $sql = "INSERT INTO smtp_config (host, email, senha, porta, dono) VALUES (?, ?, ?, ?, ?)";
    }
    $connGeral->prepare($sql)->execute([$host, $email, $senha, $porta, $login_atual]);
    $msg = "<div class='alert alert-success fw-bold'><i class='fas fa-check'></i> Configuração SMTP salva!</div>";
}

// 5. Testar Envio
if (isset($_POST['testar_envio'])) {
    $s = $connGeral->prepare("SELECT * FROM smtp_config WHERE dono=?");
    $s->execute([$login_atual]);
    $conf = $s->fetch(PDO::FETCH_ASSOC);
    
    if ($conf && strlen($conf['host']) > 2) {
         // Simulação visual de teste
         $msg = "<div class='alert alert-info fw-bold'><i class='fas fa-info-circle'></i> Testando conexão com: ".$conf['host']."</div>";
    } else {
         $msg = "<div class='alert alert-warning fw-bold'><i class='fas fa-exclamation-triangle'></i> Configure e SALVE o SMTP antes de testar.</div>";
    }
}

// Busca dados
$modelos = $connGeral->prepare("SELECT * FROM email_modelo WHERE dono = ?");
$modelos->execute([$login_atual]);
$lista = $modelos->fetchAll(PDO::FETCH_ASSOC);

$smtp = $connGeral->prepare("SELECT * FROM smtp_config WHERE dono = ?");
$smtp->execute([$login_atual]);
$config_smtp = $smtp->fetch(PDO::FETCH_ASSOC);

// Define valor padrão para porta se estiver vazio
$porta_padrao = isset($config_smtp['porta']) && !empty($config_smtp['porta']) ? $config_smtp['porta'] : '587';
?>

<!DOCTYPE html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Gerenciar Emails</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
    <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" rel="stylesheet">
    <style>
        body { background: #151521; color: #fff; font-family: 'Segoe UI', sans-serif; }
        
        .nav-tabs .nav-link { color: #aaa; font-weight: 500; font-size: 16px; border: 1px solid transparent; }
        .nav-tabs .nav-link.active { background: #7367f0; color: #fff; border-color: #7367f0; border-radius: 5px 5px 0 0; }
        
        .card-custom { background: #1e1e2d; border: 1px solid #444; border-radius: 0 0 8px 8px; box-shadow: 0 4px 15px rgba(0,0,0,0.3); }
        
        /* ESTILO DOS CAMPOS */
        .form-control { 
            background: #ffffff !important; 
            color: #000000 !important; 
            border: 2px solid #ccc; 
            font-weight: 600;
        }
        .form-control:focus { border-color: #7367f0; }
        
        /* CAMPO TRAVADO (READONLY) */
        .form-control[readonly] {
            background-color: #e9ecef !important; /* Cinza claro */
            color: #555 !important;
            cursor: not-allowed;
            border-color: #999;
        }
        
        label { color: #fff; font-weight: bold; margin-bottom: 5px; display: block; font-size: 14px; }
        .text-obs { color: #aaa; font-size: 12px; margin-top: 3px; }
        
        .btn-salvar { background: #28c76f; color: #fff; font-weight: bold; border: none; padding: 10px; }
        .btn-salvar:hover { background: #20a05a; }
        
        .titulo-secao { border-bottom: 2px solid #7367f0; padding-bottom: 10px; margin-bottom: 20px; color: #7367f0; font-size: 1.2rem; font-weight: bold; }
    </style>
</head>
<body class="p-3">

<div class="container" style="max-width: 900px;">
    <div class="d-flex justify-content-between align-items-center mb-4">
        <h3><i class="fas fa-envelope-open-text me-2"></i> Configuração de Email</h3>
        <a href="index.php" class="btn btn-outline-light btn-sm"><i class="fas fa-arrow-left"></i> Voltar</a>
    </div>

    <?= $msg ?>

    <ul class="nav nav-tabs mb-0" id="emailTabs" role="tablist">
        <li class="nav-item flex-grow-1 text-center">
            <button class="nav-link active w-100 py-3" id="smtp-tab" data-bs-toggle="tab" data-bs-target="#smtp" type="button">
                <i class="fas fa-server fa-lg me-2"></i> 1. SERVIDOR (SMTP)
            </button>
        </li>
        <li class="nav-item flex-grow-1 text-center">
            <button class="nav-link w-100 py-3" id="modelos-tab" data-bs-toggle="tab" data-bs-target="#modelos" type="button">
                <i class="fas fa-pen-nib fa-lg me-2"></i> 2. MENSAGENS
            </button>
        </li>
    </ul>

    <div class="tab-content card card-custom p-4" id="emailTabsContent">
        
        <div class="tab-pane fade show active" id="smtp">
            <h4 class="titulo-secao">Configuração do Gmail</h4>
            <div class="alert alert-secondary text-dark border-0">
                <i class="fas fa-lock"></i> O servidor está configurado fixo para <b>Gmail</b>. Preencha apenas seu email e senha.
            </div>
            
            <form method="POST">
                <div class="row g-3">
                    <div class="col-md-8">
                        <label>HOST / SERVIDOR (FIXO)</label>
                        <input type="text" name="host_display" class="form-control form-control-lg" value="smtp.gmail.com" readonly>
                        <div class="text-obs">Este campo não pode ser alterado.</div>
                    </div>
                    
                    <div class="col-md-4">
                        <label>PORTA</label>
                        <input type="number" name="porta" class="form-control form-control-lg" value="<?= $porta_padrao ?>">
                        <div class="text-obs">Padrão: 587 (TLS).</div>
                    </div>
                    
                    <div class="col-md-12">
                        <label>SEU EMAIL (GMAIL)</label>
                        <input type="email" name="email" class="form-control form-control-lg" placeholder="exemplo@gmail.com" value="<?= $config_smtp['email'] ?? '' ?>" required>
                    </div>
                    
                    <div class="col-md-12">
                        <label>SENHA DE APLICATIVO (APP PASSWORD)</label>
                        <input type="text" name="senha" class="form-control form-control-lg" placeholder="Digite a senha de app gerada no Google..." value="<?= $config_smtp['senha'] ?? '' ?>" required>
                        <div class="text-obs text-warning">
                            <i class="fas fa-exclamation-triangle"></i> Atenção: Não use sua senha normal! Use a "Senha de App" do Google.
                        </div>
                    </div>
                    
                    <div class="col-12 mt-4 d-flex gap-3">
                        <button type="submit" name="salvar_smtp" class="btn btn-salvar flex-grow-1"><i class="fas fa-save me-2"></i> SALVAR DADOS</button>
                        <button type="submit" name="testar_envio" class="btn btn-info text-white fw-bold"><i class="fas fa-bolt me-2"></i> TESTAR</button>
                    </div>
                </div>
            </form>
        </div>

        <div class="tab-pane fade" id="modelos">
            <h4 class="titulo-secao">Personalizar Mensagens Automáticas</h4>
            
            <div class="row g-4">
                <?php foreach($lista as $m): ?>
                <div class="col-md-12">
                    <div class="p-3 border rounded border-secondary" style="background: rgba(0,0,0,0.2);">
                        <form method="POST">
                            <input type="hidden" name="id_modelo" value="<?= $m['id'] ?>">
                            
                            <div class="d-flex justify-content-between align-items-center mb-3">
                                <span class="badge bg-primary fs-6"><?= strtoupper(str_replace('_',' ',$m['tipo'])) ?></span>
                                
                                <div class="form-check form-switch">
                                    <input class="form-check-input" type="checkbox" name="ativo" id="ativo_<?= $m['id'] ?>" <?= ($m['ativo'] == 1) ? 'checked' : '' ?> style="transform: scale(1.3);">
                                    <label class="form-check-label ms-2 <?= ($m['ativo'] == 1) ? 'text-success' : 'text-danger' ?>" for="ativo_<?= $m['id'] ?>">
                                        <?= ($m['ativo'] == 1) ? 'LIGADO' : 'DESLIGADO' ?>
                                    </label>
                                </div>
                            </div>

                            <div class="mb-2">
                                <label>Assunto</label>
                                <input type="text" name="assunto" class="form-control" value="<?= htmlspecialchars($m['assunto']) ?>">
                            </div>
                            
                            <div class="mb-3">
                                <label>Mensagem</label>
                                <textarea name="mensagem" class="form-control" rows="4"><?= htmlspecialchars($m['mensagem']) ?></textarea>
                            </div>
                            
                            <button type="submit" name="salvar_modelo" class="btn btn-primary btn-sm w-100"><i class="fas fa-check"></i> Salvar</button>
                        </form>
                    </div>
                </div>
                <?php endforeach; ?>
            </div>
        </div>
    </div>
</div>

<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
