117 lines
4.5 KiB
PHP
117 lines
4.5 KiB
PHP
<?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";
|
|
}
|