query("SELECT * FROM recurrent_messages ORDER BY name"); $templates = $stmt->fetchAll(); $stmt = $pdo->query("SELECT * FROM recipients ORDER BY platform, name"); $recipients = $stmt->fetchAll(); } catch (Exception $e) { $error = $e->getMessage(); } $success = ''; $sendError = ''; if ($_SERVER['REQUEST_METHOD'] === 'POST') { $templateId = $_POST['template_id']; $platform = $_POST['platform']; $recipientIds = $_POST['recipient_ids'] ?? []; $sendType = $_POST['send_type'] ?? 'now'; $template = null; foreach ($templates as $t) { if ($t['id'] == $templateId) { $template = $t; break; } } if (!$template) { $sendError = 'Plantilla no encontrada'; } elseif (empty($recipientIds)) { $sendError = 'Selecciona al menos un destinatario'; } else { foreach ($recipientIds as $recipientId) { $recipient = null; foreach ($recipients as $r) { if ($r['id'] == $recipientId && $r['platform'] === $platform) { $recipient = $r; break; } } if ($recipient) { $sendTime = $sendType === 'now' ? date('Y-m-d H:i:s') : ($_POST['send_datetime'] ?? date('Y-m-d H:i:s')); $messageId = createMessage([ 'user_id' => getCurrentUserId(), 'content' => $template['message_content'] ]); $scheduleId = createSchedule([ 'message_id' => $messageId, 'recipient_id' => $recipientId, 'send_time' => $sendTime, 'status' => 'pending' ]); $success .= "Enviado a {$recipient['name']}
"; } } if ($sendType === 'now') { require_once __DIR__ . '/process_queue.php'; processScheduledMessages(); } } } require_once __DIR__ . '/templates/header.php'; ?>

Enviar Plantilla

Seleccionar Plantilla

No hay plantillas disponibles

Destinatarios

Selecciona una plataforma primero