<?php
/**
 * exe_newsletter.php
 * Recebe o e-mail do formulário de newsletter, valida, salva no banco e redireciona.
 */
session_start();

// Validar CSRF
if (!isset($_POST['csrf_token']) || $_POST['csrf_token'] !== ($_SESSION['csrf_token'] ?? '')) {
    header('Location: index.php?erro=Token+de+segurança+inválido');
    exit;
}

if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
    header('Location: index.php');
    exit;
}

require_once __DIR__ . '/../adm/config/db.php';

$email = filter_var(trim($_POST['email'] ?? ''), FILTER_VALIDATE_EMAIL);

if (!$email) {
    header('Location: index.php?erro=E-mail+inválido');
    exit;
}

// Criar tabela se não existir
$conn->query("CREATE TABLE IF NOT EXISTS newsletter (
    id          INT AUTO_INCREMENT PRIMARY KEY,
    email       VARCHAR(255) NOT NULL UNIQUE,
    criado_em   DATETIME DEFAULT CURRENT_TIMESTAMP
) DEFAULT CHARSET=utf8mb4");

// Verificar se já está cadastrado
$stmtChk = $conn->prepare("SELECT id FROM newsletter WHERE email = ? LIMIT 1");
$stmtChk->bind_param("s", $email);
$stmtChk->execute();
$stmtChk->store_result();

if ($stmtChk->num_rows > 0) {
    // Já cadastrado — redireciona como sucesso mesmo assim (UX)
    header('Location: index.php?newsletter=ok');
    exit;
}

$stmt = $conn->prepare("INSERT INTO newsletter (email) VALUES (?)");
$stmt->bind_param("s", $email);

if ($stmt->execute()) {
    header('Location: index.php?newsletter=ok');
} else {
    header('Location: index.php?erro=Não+foi+possível+salvar+seu+e-mail');
}
exit;
