From 9f27ffdbb64c02e363662dceb6bef9e41dfd997d Mon Sep 17 00:00:00 2001 From: Lizandro Guarnizo <77708265+lizandrogd@users.noreply.github.com> Date: Tue, 26 May 2026 13:24:29 -0500 Subject: [PATCH] Fix: Agregar cron job para mensajes programados y mostrar texto completo sin variables --- docker/entrypoint.sh | 3 +++ scheduled_messages.php | 11 +++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh index f0daa21..e51baa8 100755 --- a/docker/entrypoint.sh +++ b/docker/entrypoint.sh @@ -131,6 +131,9 @@ fi # Configurar crontab para tareas programadas (usar /etc/crontabs/root para que crond lo ejecute como root) echo "⏰ Configurando cron jobs..." cat > /etc/crontabs/root <> /var/www/html/logs/scheduled_messages.log 2>&1 + # Procesar mensajes delayed cada minuto * * * * * cd /var/www/html && /usr/local/bin/php -r "require 'vendor/autoload.php'; use WhatsApp\Queue\RedisQueue; \$q = new RedisQueue(); \$q->processDelayed('messages'); \$q->processDelayed('media');" >> /tmp/delayed_processor.log 2>&1 diff --git a/scheduled_messages.php b/scheduled_messages.php index 031cc3d..7eb0e01 100644 --- a/scheduled_messages.php +++ b/scheduled_messages.php @@ -268,8 +268,15 @@ if (!isset($_SESSION['admin_logged_in']) || $_SESSION['admin_logged_in'] !== tru if (msg.template_body) { let bodyPreview = msg.template_body; if (msg.template_parameters && Array.isArray(msg.template_parameters)) { - msg.template_parameters.forEach((param, index) => { - bodyPreview = bodyPreview.replace(`{{${index + 1}}}`, param); + // Reemplazar todas las variables en orden de aparición + // Soporta tanto {{1}}, {{2}} como {{nombre_tema}}, {{fecha}} + const regex = /\{\{[^\}]+\}\}/g; + let paramIndex = 0; + + bodyPreview = bodyPreview.replace(regex, (match) => { + const value = msg.template_parameters[paramIndex] || match; + paramIndex++; + return `${value}`; }); } preview += `
${bodyPreview}
`;