Mejoras de seguridad y nueva tabla de turnos para ayudantes
- Agregado sistema de protección CSRF con tokens - Creada clase Session para gestión centralizada de sesiones - Mejorado manejo de errores en Database (sin die()) - Refactorizado Auth para usar nueva clase Session - Agregada validación CSRF a formularios de login y admin - Agregada validación de roles en modelo User - Mejorada vista de ayudante con tabla de horarios por semana - Agregada tabla de Turnos de Ayudantes con fechas en columnas
This commit is contained in:
@@ -5,6 +5,7 @@ if (!defined('BASE_PATH')) {
|
||||
require_once BASE_PATH . '/config/config.php';
|
||||
require_once BASE_PATH . '/src/Auth.php';
|
||||
require_once BASE_PATH . '/src/DiasHorarios.php';
|
||||
require_once BASE_PATH . '/src/CSRF.php';
|
||||
|
||||
$auth = new Auth();
|
||||
$auth->requireAdmin();
|
||||
@@ -24,18 +25,23 @@ $diasNombres = [
|
||||
];
|
||||
|
||||
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||
$dia = $_POST['dia'] ?? '';
|
||||
$hora_apertura = $_POST["hora_apertura_$dia"] ?? '';
|
||||
$hora_cierre = $_POST["hora_cierre_$dia"] ?? '';
|
||||
$activo = isset($_POST["activo_$dia"]) ? 1 : 0;
|
||||
|
||||
if (empty($dia) || empty($hora_apertura) || empty($hora_cierre)) {
|
||||
$message = 'Todos los campos son obligatorios';
|
||||
if (!CSRF::isValidRequest()) {
|
||||
$message = 'Error de validación del formulario';
|
||||
$messageType = 'danger';
|
||||
} else {
|
||||
$horariosModel->update($dia, compact('hora_apertura', 'hora_cierre', 'activo'));
|
||||
$message = 'Horario actualizado correctamente';
|
||||
$messageType = 'success';
|
||||
$dia = $_POST['dia'] ?? '';
|
||||
$hora_apertura = $_POST["hora_apertura_$dia"] ?? '';
|
||||
$hora_cierre = $_POST["hora_cierre_$dia"] ?? '';
|
||||
$activo = isset($_POST["activo_$dia"]) ? 1 : 0;
|
||||
|
||||
if (empty($dia) || empty($hora_apertura) || empty($hora_cierre)) {
|
||||
$message = 'Todos los campos son obligatorios';
|
||||
$messageType = 'danger';
|
||||
} else {
|
||||
$horariosModel->update($dia, compact('hora_apertura', 'hora_cierre', 'activo'));
|
||||
$message = 'Horario actualizado correctamente';
|
||||
$messageType = 'success';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -64,6 +70,7 @@ $pageTitle = 'Configuración de Horarios';
|
||||
<div class="card shadow-sm">
|
||||
<div class="card-body">
|
||||
<form method="POST" id="horariosForm">
|
||||
<?= CSRF::getTokenField() ?>
|
||||
<input type="hidden" name="dia" id="selectedDia" value="">
|
||||
|
||||
<div class="table-responsive">
|
||||
|
||||
Reference in New Issue
Block a user