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}
`;