<?php
/**
 * Debug: Ver qué devuelve get_template_details.php para recordatorio_charla
 */

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

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

echo "=== DEBUG get_template_details.php para recordatorio_charla ===\n\n";

try {
    $db = Database::getInstance();
    
    // Buscar template por nombre
    $template = $db->fetch(
        "SELECT * FROM message_templates WHERE template_name = 'recordatorio_charla' LIMIT 1"
    );
    
    if (!$template) {
        echo "❌ Plantilla 'recordatorio_charla' no encontrada\n";
        exit;
    }
    
    echo "📋 DATOS DE LA PLANTILLA:\n";
    echo "ID: {$template['id']}\n";
    echo "Nombre: {$template['template_name']}\n";
    echo "Idioma: {$template['language_code']}\n";
    echo "Estado: {$template['status']}\n\n";
    
    echo "📝 BODY TEXT:\n";
    echo $template['body_text'] . "\n\n";
    
    echo "📦 EXAMPLE_PARAMETERS (raw):\n";
    echo $template['example_parameters'] . "\n\n";
    
    if (!empty($template['example_parameters'])) {
        $examples = json_decode($template['example_parameters'], true);
        
        if (isset($examples['variables']) && is_array($examples['variables'])) {
            echo "✅ Variables guardadas en BD:\n";
            foreach ($examples['variables'] as $i => $var) {
                echo "\n  Variable #{$i}:\n";
                echo "    index: " . ($var['index'] ?? 'N/A') . "\n";
                echo "    name: " . ($var['name'] ?? 'N/A') . "\n";
                echo "    placeholder: " . ($var['placeholder'] ?? 'N/A') . "\n";
                echo "    example: " . ($var['example'] ?? 'N/A') . "\n";
            }
        } else {
            echo "⚠️ No hay variables en example_parameters\n";
        }
    } else {
        echo "⚠️ example_parameters está vacío\n";
    }
    
    echo "\n\n📤 LO QUE DEVOLVERÍA get_template_details.php:\n";
    
    // Simular lo que hace get_template_details.php
    $bodyText = $template['body_text'] ?? '';
    $variables = [];
    
    // Primero intentar usar las variables guardadas
    if (!empty($template['example_parameters'])) {
        $examples = json_decode($template['example_parameters'], true);
        if (isset($examples['variables']) && is_array($examples['variables'])) {
            foreach ($examples['variables'] as $var) {
                $varName = $var['name'] ?? $var['index'];
                $variables[] = [
                    'index' => $var['index'],
                    'placeholder' => $var['placeholder'],
                    'label' => is_numeric($varName) ? 'Variable ' . $varName : ucfirst(str_replace('_', ' ', $varName)),
                    'required' => true,
                    'example' => $var['example'] ?? null
                ];
            }
        }
    }
    
    // Si no hay variables guardadas, extraerlas del body_text (fallback)
    if (empty($variables) && preg_match_all('/\{\{([^\}]+)\}\}/', $bodyText, $matches)) {
        echo "⚠️ Extrayendo variables del body_text (fallback)\n\n";
        $uniqueVars = array_unique($matches[1]);
        
        $index = 1;
        foreach ($uniqueVars as $varName) {
            $varIndex = is_numeric($varName) ? intval($varName) : $index++;
            $variables[] = [
                'index' => $varIndex,
                'placeholder' => '{{' . $varName . '}}',
                'label' => is_numeric($varName) ? 'Variable ' . $varName : ucfirst(str_replace('_', ' ', $varName)),
                'required' => true,
                'example' => null
            ];
        }
    }
    
    echo json_encode(['variables' => $variables], JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
    
    echo "\n\n🔍 ANÁLISIS:\n";
    if (!empty($variables)) {
        $firstPlaceholder = $variables[0]['placeholder'] ?? '';
        if (preg_match('/^\{\{\d+\}\}$/', $firstPlaceholder)) {
            echo "❌ PROBLEMA: Las variables están en formato NUMÉRICO ({{1}}, {{2}}, etc.)\n";
            echo "   Esto hace que saveReminder() las guarde como array indexado\n";
            echo "   Pero la plantilla usa nombres: {{nombre_tema}}, {{fecha}}, etc.\n\n";
            echo "💡 SOLUCIÓN: Necesitas sincronizar la plantilla desde WhatsApp API\n";
            echo "   para actualizar example_parameters con los nombres correctos\n";
        } else {
            echo "✅ Variables están en formato con NOMBRES\n";
            echo "   saveReminder() las guardará como objeto asociativo\n";
        }
    }
    
} catch (Exception $e) {
    echo "❌ Error: " . $e->getMessage() . "\n";
}
