<?php
/**
 * Debug: Ver datos crudos del API de mensajes programados
 */

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

header('Content-Type: text/plain; charset=utf-8');

echo "=== DEBUG API get_scheduled_messages.php ===\n\n";

try {
    $db = Database::getInstance();
    
    // Obtener mensajes enviados recientes
    $messages = $db->fetchAll(
        "SELECT sm.*, 
                u.name as user_name,
                u.phone_number,
                mt.name as template_display_name,
                mt.body_text as template_body
         FROM scheduled_messages sm
         LEFT JOIN users u ON sm.user_id = u.id
         LEFT JOIN message_templates mt ON sm.template_id = mt.id
         WHERE sm.status = 'sent'
         ORDER BY sm.sent_at DESC
         LIMIT 5"
    );
    
    if (empty($messages)) {
        echo "❌ No hay mensajes enviados\n";
        exit;
    }
    
    echo "Encontrados " . count($messages) . " mensajes enviados:\n\n";
    
    foreach ($messages as $i => $msg) {
        echo "========== MENSAJE #" . ($i + 1) . " (ID: {$msg['id']}) ==========\n";
        echo "Usuario: {$msg['user_name']} ({$msg['phone_number']})\n";
        echo "Plantilla: {$msg['template_name']}\n";
        echo "Estado: {$msg['status']}\n";
        echo "Enviado: {$msg['sent_at']}\n\n";
        
        echo "📝 TEMPLATE BODY:\n";
        echo $msg['template_body'] . "\n\n";
        
        echo "📊 TEMPLATE_PARAMETERS (raw string):\n";
        echo $msg['template_parameters'] . "\n\n";
        
        echo "🔍 TEMPLATE_PARAMETERS (decodificado):\n";
        $params = json_decode($msg['template_parameters'], true);
        
        if (is_array($params)) {
            echo "Tipo: array\n";
            echo "Cantidad: " . count($params) . "\n";
            
            // Detectar si es asociativo
            $isAssoc = false;
            foreach ($params as $k => $v) {
                if (!is_int($k)) {
                    $isAssoc = true;
                    break;
                }
            }
            
            echo "Formato: " . ($isAssoc ? "ASOCIATIVO" : "INDEXADO") . "\n\n";
            
            echo "Valores:\n";
            foreach ($params as $k => $v) {
                echo "  [$k] => '$v'\n";
            }
        } else {
            echo "⚠️ No es un array válido\n";
        }
        
        echo "\n";
    }
    
    echo "\n\n=== SIMULACIÓN DE LO QUE VE EL FRONTEND ===\n\n";
    
    // Simular lo que hace get_scheduled_messages.php
    $firstMsg = $messages[0];
    
    echo "JSON que recibe el frontend:\n";
    
    $msgForFrontend = $firstMsg;
    if ($msgForFrontend['template_parameters']) {
        $msgForFrontend['template_parameters'] = json_decode($msgForFrontend['template_parameters'], true);
    }
    
    echo json_encode($msgForFrontend, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
    
} catch (Exception $e) {
    echo "❌ Error: " . $e->getMessage() . "\n";
}
