<?php
// send_pedido_email.php
header('Content-Type: application/json');
if (session_status() !== PHP_SESSION_ACTIVE) {
    session_start();
}
require_once __DIR__ . '/../includes/session_control.php';
require_once __DIR__ . '/../cotizaciones/api/_node.php';

$token = cpn_node_token_or_fail();
$base = cpn_node_api_base();

require '../vendor/autoload.php'; // Ajusta si tu autoload está en otra ruta
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

$id       = intval($_POST['id']);
$pdfUrl   = $_POST['pdf'];
$destino  = filter_var($_POST['destino'], FILTER_SANITIZE_EMAIL);
$cco      = filter_var($_POST['cco'],     FILTER_SANITIZE_EMAIL);
$asunto   = htmlspecialchars($_POST['asunto'], ENT_QUOTES, 'UTF-8');
$mensaje  = nl2br(htmlspecialchars($_POST['mensaje'], ENT_QUOTES, 'UTF-8'));


// Ruta local al PDF
$path = __DIR__ . '/archivos/' . basename($pdfUrl);
if (!file_exists($path)) {
    echo json_encode(['success' => false, 'error' => 'PDF no encontrado']);
    exit;
}

$mail = new PHPMailer(true);
try {
    // --- Configuración SMTP ---
    // configuración SSL/TLS
    $mail->isSMTP();
    $mail->Host       = 'mail.compranet.com.co';
    $mail->SMTPAuth   = true;
    $mail->Username   = 'ventas@compranet.com.co';
    $mail->Password   = 'Proyecto2025*';           // tu contraseña real
    $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; // habilita ssl
    $mail->Port       = 465;                        // puerto SSL
    $mail->SMTPOptions = [
        'ssl' => [
            'verify_peer'      => false,
            'verify_peer_name' => false,
            'allow_self_signed' => true,
        ],
    ];

    // --- Remitente y destinatarios ---
    $mail->setFrom('ventas@compranet.com.co', 'Compranet Compras');
    $mail->addAddress($destino);           // Para (editable)
    $mail->addBCC($cco);                   // CCO (editable)
    $mail->addBCC('ventas@compranet.com.co'); // CCO fijo

    // --- Contenido ---
    $mail->isHTML(true);
    $mail->Subject = $asunto;
    $mail->Body    = $mensaje;
    $mail->CharSet = 'UTF-8';

    // Adjuntar PDF
    $mail->addAttachment($path);

    $mail->send();

    // Actualizar estado vía Node
    $r = cpn_node_request('PATCH', $base . '/api/ordenes/pedidos/' . urlencode((string)$id), $token, [
        'field' => 'idEstadoOrden',
        'value' => 2,
    ]);
    if (!isset($r['ok']) || $r['ok'] !== true) {
        $msg = $r['error']['message'] ?? 'Correo enviado, pero no se pudo actualizar el estado.';
        echo json_encode(['success' => false, 'error' => $msg]);
        exit;
    }

    echo json_encode(['success' => true]);
} catch (Exception $e) {
    echo json_encode([
        'success' => false,
        'error'   => "No se pudo enviar: {$mail->ErrorInfo}"
    ]);
}
