$a) { $db->prepare( "UPDATE alertas_config SET nombre=?, dias_antes=?, enviar_email=?, enviar_notificacion=?, activo=? WHERE id=?" )->execute([ clean($a['nombre'] ?? ''), (int)($a['dias_antes'] ?? 0), isset($a['enviar_email']) ? 1 : 0, isset($a['enviar_notificacion']) ? 1 : 0, isset($a['activo']) ? 1 : 0, (int)$id ]); } // Nueva alerta if (!empty($_POST['nueva_nombre'])) { $db->prepare( "INSERT INTO alertas_config(nombre,dias_antes,enviar_email,enviar_notificacion,activo) VALUES(?,?,?,?,1)" )->execute([ clean($_POST['nueva_nombre']), (int)($_POST['nueva_dias'] ?? 0), isset($_POST['nueva_email']) ? 1 : 0, isset($_POST['nueva_notif']) ? 1 : 0, ]); } redirect(APP_URL.'/views/alertas/configuracion.php?success='.urlencode('Configuración guardada.')); } $alertasConfig = $db->query("SELECT * FROM alertas_config ORDER BY dias_antes DESC")->fetchAll(); $pageTitle = 'Configuración de Alertas'; $activeNav = 'alertas'; include __DIR__ . '/../../views/layout/header.php'; include __DIR__ . '/../../views/layout/sidebar.php'; include __DIR__ . '/../../views/layout/topbar.php'; ?>
El cron job cron/enviar_alertas.php debe ejecutarse diariamente para que las alertas funcionen automáticamente. Configure en su servidor: 0 8 * * * php /cron/enviar_alertas.php
Alertas Configuradas
NombreDías antes
(negativo = días después)
EmailNotificaciónActivo
Agregar Nueva Alerta
Ejecutar Alertas Ahora (Test)