<?php

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require_once __DIR__ . '/../vendor/autoload.php';

// Configuração de headers
header('Content-Type: text/plain; charset=utf-8');

// Configurações
define('CONTACT_EMAIL', 'comercial@wgf.ao');
define('CONTACT_NAME', 'WGF - Cotações');
define('SENDER_EMAIL', 'comercial@wgf.ao');
define('SENDER_NAME', 'Website WGF');

// Verificar método HTTP
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
    http_response_code(405);
    echo 'Método não permitido';
    exit;
}

// Sanitização básica
$name     = isset($_POST['name']) ? trim($_POST['name']) : '';
$email    = isset($_POST['email']) ? trim($_POST['email']) : '';
$phone    = isset($_POST['phone']) ? trim($_POST['phone']) : '';
$type     = isset($_POST['type']) ? trim($_POST['type']) : '';
$timeline = isset($_POST['timeline']) ? trim($_POST['timeline']) : '';
$budget   = isset($_POST['budget']) ? trim($_POST['budget']) : '';
$message  = isset($_POST['message']) ? trim($_POST['message']) : '';

// Validação básica
if ($name === '' || $email === '' || $phone === '' || $message === '') {
    http_response_code(400);
    echo 'Por favor, preencha todos os campos obrigatórios.';
    exit;
}

// Validar email
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
    http_response_code(400);
    echo 'Por favor, forneça um e-mail válido.';
    exit;
}

// Mapeamento de labels para exibição
$typeLabels = [
    'website' => 'Website',
    'ecommerce' => 'E-commerce',
    'mobile' => 'Aplicativo Mobile',
    'design' => 'Design/UI/UX',
    'consultoria' => 'Consultoria',
    'outro' => 'Outro'
];

$timelineLabels = [
    'urgente' => 'Urgente (ASAP)',
    '1_semana' => 'Até 1 semana',
    '2_semanas' => 'Até 2 semanas',
    '1_mes' => 'Até 1 mês',
    '2_meses' => 'Até 2 meses',
    '3_meses' => 'Até 3 meses',
    'flexivel' => 'Flexível'
];

$budgetLabels = [
    'ate_50k' => 'Até 50.000 Kz',
    '50k_100k' => '50.000 - 100.000 Kz',
    '100k_200k' => '100.000 - 200.000 Kz',
    '200k_500k' => '200.000 - 500.000 Kz',
    'mais_500k' => 'Mais de 500.000 Kz',
    'nao_informado' => 'Não informado'
];

// Preparar e-mail
$mail = new PHPMailer(true);

try {
    // Configurações SMTP
    $mail->isSMTP();
    $mail->Host       = 'mail.wgf.ao';
    $mail->SMTPAuth   = true;
    $mail->Username   = 'comercial@wgf.ao';
    $mail->Password   = '42kZ%U_wPY#QybBU';
    $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;
    $mail->Port       = 465;
    
    // Configuração UTF-8
    $mail->CharSet  = 'UTF-8';
    $mail->Encoding = 'base64';
    
    // Remetente e destinatários
    $mail->setFrom(SENDER_EMAIL, SENDER_NAME);
    $mail->addReplyTo($email, $name);
    $mail->addAddress(CONTACT_EMAIL, CONTACT_NAME);
    
    // Assunto
    $mail->Subject = 'Novo pedido de cotação - ' . $name;
    
    // Corpo do e-mail (formatado)
    $body  = "========================================\n";
    $body .= "      NOVO PEDIDO DE COTAÇÃO\n";
    $body .= "========================================\n\n";
    
    $body .= "INFORMAÇÕES DO CLIENTE:\n";
    $body .= "------------------------\n";
    $body .= "Nome: {$name}\n";
    $body .= "E-mail: {$email}\n";
    $body .= "Telefone: {$phone}\n\n";
    
    $body .= "DETALHES DO PROJETO:\n";
    $body .= "------------------------\n";
    $body .= "Categoria: " . ($typeLabels[$type] ?? $type) . "\n";
    $body .= "Prazo: " . ($timelineLabels[$timeline] ?? $timeline) . "\n";
    $body .= "Orçamento: " . ($budgetLabels[$budget] ?? $budget) . "\n\n";
    
    $body .= "DESCRIÇÃO:\n";
    $body .= "------------------------\n";
    $body .= wordwrap($message, 80) . "\n\n";
    
    $body .= "========================================\n";
    $body .= "Data: " . date('d/m/Y H:i:s') . "\n";
    $body .= "========================================\n";
    
    $mail->isHTML(false);
    $mail->Body = $body;
    
    // Enviar
    $mail->send();
    
    // RETORNA APENAS "OK" - SIMPLES E LIMPO
    echo 'OK';
    
} catch (Exception $e) {
    error_log('Erro ao enviar e-mail: ' . $mail->ErrorInfo);
    http_response_code(500);
    echo 'Erro ao enviar e-mail. Por favor, tente novamente.';
}