<?php
// Desactiva la muestra de errores en pantalla y los guarda en un archivo de log.
ini_set('display_errors', 0);
ini_set('log_errors', 1);
// Asegúrate de que la carpeta 'logs' exista y tenga permisos de escritura.
ini_set('error_log', __DIR__ . '/../logs/php_errors.log');
error_reporting(E_ALL);

// Validar que la petición sea de tipo POST para seguridad.
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
    header('Location: /', true, 302);
    exit;
}

// --- BUSINESS CONFIG ---
require_once __DIR__ . '/db/business_config.php';

// ===== 1) ENTRADA Y LIMPIEZA DE DATOS =====
$nameRaw  = trim($_POST['name']  ?? '');
$phoneRaw = trim($_POST['phone'] ?? '');

// Sanitización para evitar inyección de código.
$name      = filter_var($nameRaw,  FILTER_SANITIZE_FULL_SPECIAL_CHARS);
$phone     = filter_var($phoneRaw, FILTER_SANITIZE_FULL_SPECIAL_CHARS);
$firstName = $name !== '' ? explode(' ', $name, 2)[0] : 'Cliente';
$lastName  = $name !== '' ? (explode(' ', $name, 2)[1] ?? '') : '';

// ===== 2) GUARDAR EN BASE DE DATOS =====
try {
    // Intenta incluir el archivo de conexión a la base de datos.
    if (file_exists(__DIR__ . '/db/db_connection.php')) {
        include __DIR__ . '/db/db_connection.php';
    } elseif (file_exists(__DIR__ . '/../db/db_connection.php')) {
        include __DIR__ . '/../db/db_connection.php';
    }

    // Si la conexión ($pdo) existe, inserta los datos.
    if (isset($pdo) && $pdo instanceof PDO) {
        $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        $stmt = $pdo->prepare("
            INSERT INTO leads (first_name, last_name, email, phone, source, status)
            VALUES (:first_name, :last_name, :email, :phone, :source, :status)
        ");
        $stmt->execute([
            ':first_name' => $firstName,
            ':last_name'  => $lastName,
            ':email'      => 'whatsapp@tunegociocrm.com',
            ':phone'      => $phone,
            ':source'     => 'WhatsApp',
            ':status'     => 'Entrante',
        ]);
    } else {
        error_log('[submit_whastsapp.php] No se encontró la conexión PDO.');
    }
} catch (Throwable $e) {
    error_log('[submit_whastsapp.php] Error de Base de Datos: ' . $e->getMessage());
}

// ===== 3) ENVIAR CORREO DE NOTIFICACIÓN =====
try {
    // Define el correo del administrador (destinatario) y del remitente.
    $admin_email  = getenv('ADMIN_EMAIL') ?: 'orozdesign@gmail.com';
    $sender_email = getenv('SENDER_EMAIL') ?: 'no-reply@tunegociocrm.com';

// --- INICIA NUEVO CUERPO DEL EMAIL (HTML PROFESIONAL) ---
$logoUrl = LOGO_FILENAME;
$buttonUrl = 'https://crm.tunegociocrm.com/'; 
$businessName = BUSINESS_NAME;
$websiteUrl = WEBSITE_URL;

    $email_body = <<<HTML
<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>¡Nuevo Prospecto Recibido! - {$businessName}</title>
    <style>
        @import url('https://fonts.googleapis.com/css2?family=Barlow:wght@400;700;900&display=swap');
        
        body, table, td, div, p, a { 
            font-family: 'Barlow', Arial, sans-serif; 
        }
    </style>
</head>
<body style="margin: 0; padding: 0; background-color: #f4f7f6;">
    <table width="100%" border="0" cellspacing="0" cellpadding="0" style="background-color: #f4f7f6;">
        <tr>
            <td align="center">
                <table width="600" border="0" cellspacing="0" cellpadding="0" align="center" style="max-width: 600px;">
                    
                    <tr>
                        <td height="6" style="background-color: #9e1428;"></td>
                    </tr>
                    <tr>
                        <td style="background-color: #ffffff; padding: 25px 40px 40px 40px;">
                            
                            <h1 style="font-size: 30px; color: #07162d; margin-top: 0; margin-bottom: 5px; text-align: center; font-weight: 900; line-height: 1.2; text-transform: uppercase;">
                                ¡HAS RECIBIDO <br /><span style="color: #9e1428;">UN NUEVO PROSPECTO</span>!
                            </h1>
                            <p style="color: #555555; line-height: 1.6; text-align: center; font-size: 16px; margin-bottom: 25px;">
                                Aquí están los detalles del cliente potencial que ha sido redirigido a WhatsApp. <b>Actúa Rápido.</b>
                            </p>
                            
                            <table width="100%" border="0" cellspacing="0" cellpadding="0" style="background-color: #f9f9f9; border: 1px solid #e0e0e0; border-radius: 8px; margin-top: 20px;">
                                <tr>
                                    <td style="padding: 20px;">
                                        
                                        <p style="margin: 8px 0; font-size: 16px;"><strong style="color: #07162d; font-weight: 700;">Nombre:</strong> <span style="color: #333;">{$name}</span></p>
                                        <p style="margin: 8px 0; font-size: 16px;"><strong style="color: #07162d; font-weight: 700;">Teléfono:</strong> <span style="color: #333;">{$phone}</span></p>
                                        
                                    </td>
                                </tr>
                            </table>

                            <table width="100%" border="0" cellspacing="0" cellpadding="0">
                                <tr>
                                    <td align="center" style="padding-top: 30px;">
                                        <a href="{$buttonUrl}" style="background-color: #9e1428; color: #ffffff; padding: 16px 32px; text-decoration: none; border-radius: 8px; font-weight: 700; display: inline-block; font-size: 18px; line-height: 1; text-transform: uppercase; letter-spacing: 0.5px;">
                                            Administra Tus Leads Con FlowCRM™
                                        </a>
                                    </td>
                                </tr>
                            </table>
                        </td>
                    </tr>
                    
                    <tr>
                        <td align="center" style="padding: 20px; font-size: 12px; color: #888888; text-align: center;">
                            <p style="margin: 0;">Este Correo Fue Enviado Desde Tu Sitio Web <b>{$businessName}</b></p>
                            <p style="margin: 5px 0 0 0;">
                                <a href="{$websiteUrl}" style="color: #888888; text-decoration: none; font-weight: 700;">Ver Sitio Web</a>
                                | <span style="font-weight: 700;">URL: {$websiteUrl}</span>
                            </p>
                        </td>
                    </tr>
                </table>
            </td>
        </tr>
    </table>
</body>
</html>
HTML;

// Construye las cabeceras del correo.
$headers = "From: {$sender_email}\r\n" .
           "Reply-To: {$sender_email}\r\n" .
           "MIME-Version: 1.0\r\n" . 
           "Content-Type: text/html; charset=UTF-8\r\n" . 
           "X-Mailer: PHP/" . phpversion();

// Envía el correo. El @ suprime errores en pantalla; se registrarán en el archivo de log.
@mail($admin_email, 'Nuevo Prospecto de WhatsApp', $email_body, $headers);
} catch (Throwable $e) {
    error_log('[submit_whastsapp.php] Error de Correo: ' . $e->getMessage());
}

// ===== 4) OBTENER NÚMERO DE WHATSAPP DEL NEGOCIO =====
$businessWa = getenv('BUSINESS_WHATSAPP') ?: '';

// Si no se definió, intenta buscarlo en la base de datos como fallback.
if ($businessWa === '' && isset($pdo) && $pdo instanceof PDO) {
    try {
        $q = $pdo->query("SELECT phone_primary FROM website_config WHERE id = 1");
        $cfg = $q ? $q->fetch(PDO::FETCH_ASSOC) : null;
        if ($cfg && !empty($cfg['phone_primary'])) {
            $businessWa = $cfg['phone_primary'];
        }
    } catch (Throwable $e) {
        error_log('[submit_whastsapp.php] Error al obtener config de la BD: ' . $e->getMessage());
    }
}

// Limpia el número a solo dígitos para el enlace de wa.me.
$digits = preg_replace('/[^0-9]/', '', (string)$businessWa);

// ===== 5) MENSAJE PRELLENADO Y REDIRECCIÓN A WHATSAPP =====
$prefill = "Hi, I’m {$name} I just visited your website; can we chat now?";
$query   = http_build_query(['text' => $prefill]);

// Si no se encontró un número de negocio, el enlace abrirá WhatsApp sin un destinatario fijo.
$target = $digits ? "https://wa.me/{$digits}?{$query}" : "https://wa.me/?{$query}";

// Redirige al usuario a WhatsApp y termina la ejecución del script.
header('Location: ' . $target, true, 302);
exit;