<?php
// include/email-candidate.php (VERSÃO DE DEPURAÇÃO ATUALIZADA)

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

require_once __DIR__ . '/../PHPMailer-master/src/Exception.php';
require_once __DIR__ . '/../PHPMailer-master/src/PHPMailer.php';
require_once __DIR__ . '/../PHPMailer-master/src/SMTP.php';

global $mail;

if (!isset($mail) || !($mail instanceof PHPMailer)) {
    $mail = new PHPMailer(true);
    try {
        $mail->SMTPDebug = SMTP::DEBUG_SERVER; 
        $mail->isSMTP();
        $mail->Host       = $_ENV['SMTP_HOST'] ?? 'smtp.seuservidor.com';
        $mail->SMTPAuth   = true;
        $mail->Username   = $_ENV['SMTP_USER'] ?? 'seu-email@seusite.com.br';
        $mail->Password   = $_ENV['SMTP_PASS'] ?? 'sua-senha-de-email';
        $mail->SMTPSecure = $_ENV['SMTP_SECURE'] ?? PHPMailer::ENCRYPTION_STARTTLS;
        $mail->Port       = $_ENV['SMTP_PORT'] ?? 587;
        $mail->CharSet    = 'UTF-8';

        $mail->setFrom($_ENV['EMAIL_FROM_ADDRESS'] ?? 'nao-responda@seusite.com.br', $_ENV['EMAIL_FROM_NAME'] ?? 'Selflix Vagas');

    } catch (Exception $e) {
        error_log("Erro Crítico ao configurar PHPMailer: {$e->getMessage()}");
        die("Erro fatal na configuração do e-mail. Verifique os logs.");
    }
}

/**
 * Envia um e-mail para a empresa informando sobre uma nova candidatura.
 */
function enviarEmailEmpresa($email_empresa, $nome_empresa, $titulo_vaga, $nome_candidato, $email_candidato) {
    global $mail;

    try {
        $mail->clearAllRecipients();
        $mail->addAddress($email_empresa, $nome_empresa);
        $mail->Subject = "Nova Candidatura para a vaga: " . $titulo_vaga;

        $link_painel = rtrim(($_ENV['SITE_URL'] ?? ''), '/') . '/painel-de-gestao-empresa.php';

        ob_start();
        include __DIR__ . '/templates/notificacao_empresa_candidatura.php';
        $conteudo = ob_get_clean();

        // Adiciona a assinatura ao final do conteúdo carregado
        $assinatura = "<p>Atenciosamente,<br>Equipe " . htmlspecialchars($_ENV['SMTP_FROM_NAME'] ?? 'Selflix Vagas') . "</p>";
        $mail->Body = $conteudo . $assinatura;
        
        $mail->isHTML(true);
        $mail->AltBody = "Olá {$nome_empresa}, você recebeu uma nova candidatura de {$nome_candidato}.";

        $mail->send();
        return true;
    } catch (Exception $e) {
        error_log("Erro ao enviar e-mail para a empresa: " . $mail->ErrorInfo);
        return false;
    }
}

/**
 * Envia um e-mail de confirmação de candidatura para o próprio candidato.
 */
function enviarEmailCandidatoConfirmacao($email_candidato, $nome_candidato, $titulo_vaga, $nome_empresa) {
    global $mail;

    try {
        $mail->clearAllRecipients();
        $mail->addAddress($email_candidato, $nome_candidato);
        $mail->Subject = "Confirmação de Candidatura: " . $titulo_vaga;
        
        $link_painel_candidato = rtrim(($_ENV['SITE_URL'] ?? ''), '/') . '/painel-de-gestao-candidato.php';

        ob_start();
        include __DIR__ . '/templates/confirmacao_candidato_candidatura.php';
        $conteudo = ob_get_clean();

        // Adiciona a assinatura ao final do conteúdo carregado
        $assinatura = "<p>Atenciosamente,<br>Equipe " . htmlspecialchars($_ENV['SMTP_FROM_NAME'] ?? 'Selflix Vagas') . "</p>";
        $mail->Body = $conteudo . $assinatura;

        $mail->isHTML(true);
        $mail->AltBody = "Olá {$nome_candidato}, sua candidatura para a vaga '{$titulo_vaga}' foi registrada.";

        $mail->send();
        return true;
    } catch (Exception $e) {
        error_log("Erro ao enviar e-mail para o candidato: " . $mail->ErrorInfo);
        return false;
    }
}