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:
16
src/User.php
16
src/User.php
@@ -125,4 +125,20 @@ class User {
|
||||
$stmt = $this->db->query("SELECT * FROM users WHERE rol = 'ayudante' AND activo = 1 ORDER BY nombre");
|
||||
return $stmt->fetchAll();
|
||||
}
|
||||
|
||||
public function isValidRole($role) {
|
||||
return in_array($role, ['admin', 'ayudante']);
|
||||
}
|
||||
|
||||
public function hasRole($userId, $role) {
|
||||
$stmt = $this->db->prepare("SELECT rol FROM users WHERE id = ?");
|
||||
$stmt->execute([$userId]);
|
||||
$user = $stmt->fetch();
|
||||
return $user && $user['rol'] === $role;
|
||||
}
|
||||
|
||||
public function getAdmins() {
|
||||
$stmt = $this->db->query("SELECT * FROM users WHERE rol = 'admin' AND activo = 1 ORDER BY nombre");
|
||||
return $stmt->fetchAll();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user