Curso
in package
Clase Curso
Gestiona las operaciones relacionadas con los cursos en la base de datos.
Tags
Table of Contents
Properties
- $conexion : mixed
Methods
- __construct() : mixed
- Constructor de la clase Curso.
- activarCurso() : mixed
- Actualiza el estado del curso a activo ('A').
- buscarCursoPendiente() : int|null
- Busca un curso pendiente (estado 'P') cuya fecha de inicio y fin abarquen la fecha proporcionada.
- cursoActivo() : array<string|int, mixed>|null
- Devolverá los datos del curso activo (estado = 'A') en caso de que este exista, de lo contrario devuelve un nulo.
- eliminarCurso() : bool
- Elimina un curso de la base de datos según su ID.
- existeCoincidencia() : bool
- Verifica que las fechas introducidas no coincidan con las de otros cursos, evitando que se solapen dos cursos distintos en el tiempo.
- existeSolapamiento() : bool
- Verifica si existen solapamientos de fechas con otros cursos (excluyendo el curso actual).
- finalizarCursos() : mixed
- Cambia el estado de los cursos activos ('A') a finalizados ('F') si su fecha_fin ya pasó.
- hayCursoActivo() : mixed
- Devuelve el ID del curso activo si este existe o un nulo en caso de que no.
- haySolicitudesAntesDe() : bool
- Verifica si existen solicitudes vinculadas a un curso con fecha de inicio anterior a una fecha dada.
- insertarCurso() : mixed
- Hace el alta de un nuevo curso.
- listarCursos() : array<string|int, mixed>
- Obtiene todos los cursos registrados en la base de datos.
- modificarCurso() : bool
- Actualiza los datos de un curso en la base de datos.
- obtenerCurso() : array<string|int, mixed>|null
- Devolverá los datos del curso según la id del curso.
Properties
$conexion
private
mixed
$conexion
Methods
__construct()
Constructor de la clase Curso.
public
__construct() : mixed
Establece la conexión con la base de datos utilizando la clase Conexiondb.
Tags
activarCurso()
Actualiza el estado del curso a activo ('A').
public
activarCurso(mixed $idCurso) : mixed
Parameters
- $idCurso : mixed
-
- ID del curso que va a ser activado.
buscarCursoPendiente()
Busca un curso pendiente (estado 'P') cuya fecha de inicio y fin abarquen la fecha proporcionada.
public
buscarCursoPendiente(string $fecha) : int|null
Este método se utiliza para verificar si existe un curso en estado pendiente que deba activarse, considerando que la fecha actual esté dentro del rango de duración del curso.
Parameters
- $fecha : string
-
- Fecha en formato 'Y-m-d' que se compara con las fechas de inicio y fin del curso.
Return values
int|null —- Devuelve el ID del curso si se encuentra uno coincidente, o null si no existe.
cursoActivo()
Devolverá los datos del curso activo (estado = 'A') en caso de que este exista, de lo contrario devuelve un nulo.
public
cursoActivo() : array<string|int, mixed>|null
Return values
array<string|int, mixed>|null —- Array asociativo con los datos del curso o null.
eliminarCurso()
Elimina un curso de la base de datos según su ID.
public
eliminarCurso(int $idCurso) : bool
Parameters
- $idCurso : int
-
- ID del curso a eliminar.
Return values
bool —- Devuelve true si el curso fue eliminado correctamente, false si no.
existeCoincidencia()
Verifica que las fechas introducidas no coincidan con las de otros cursos, evitando que se solapen dos cursos distintos en el tiempo.
public
existeCoincidencia(string $fechaInicio, string $fechaFin) : bool
Comprobamos que la fecha de inicio o la de fin no se encuentren entre las fechas marcadas en los anteriores cursos. Después comrpobamos que las fechas de los antiguos cursos no se encuentren entre la de los nuevos.
Parameters
- $fechaInicio : string
-
- Fecha de inicio del nuevo curso.
- $fechaFin : string
-
- Fecha de fin del nuevo curso.
Return values
bool —- Devolverá true si hay solapamiento, false si no lo hay.
existeSolapamiento()
Verifica si existen solapamientos de fechas con otros cursos (excluyendo el curso actual).
public
existeSolapamiento(string $fechaInicio, string $fechaFin, int $idCurso) : bool
Comprueba si las fechas de inicio o fin propuestas se solapan con las fechas de otros cursos, ignorando el curso con el ID proporcionado.
Parameters
- $fechaInicio : string
-
- Fecha de inicio propuesta.
- $fechaFin : string
-
- Fecha de fin propuesta.
- $idCurso : int
-
- ID del curso que se está modificando.
Return values
bool —- Devuelve true si hay solapamientos con otros cursos, false si no.
finalizarCursos()
Cambia el estado de los cursos activos ('A') a finalizados ('F') si su fecha_fin ya pasó.
public
finalizarCursos() : mixed
hayCursoActivo()
Devuelve el ID del curso activo si este existe o un nulo en caso de que no.
public
hayCursoActivo() : mixed
Tags
haySolicitudesAntesDe()
Verifica si existen solicitudes vinculadas a un curso con fecha de inicio anterior a una fecha dada.
public
haySolicitudesAntesDe(int $idCurso, string $nuevaFin) : bool
Este método se utiliza para validar que un curso activo no tenga solicitudes afectadas por el cambio de fechas.
Parameters
- $idCurso : int
-
- ID del curso que se está evaluando.
- $nuevaFin : string
-
- Nueva fecha de fin propuesta para el curso.
Return values
bool —- Devuelve true si hay solicitudes antes de la nueva fecha de fin, false si no.
insertarCurso()
Hace el alta de un nuevo curso.
public
insertarCurso(string $fechaInicio, string $fechaFin, string $anoAcademico, string $estado) : mixed
Parameters
- $fechaInicio : string
-
Fecha de inicio del curso (formato: YYYY-MM-DD)
- $fechaFin : string
-
Fecha de fin del curso (formato: YYYY-MM-DD)
- $anoAcademico : string
-
Año académico al que pertenece el curso (por ejemplo: "2024/2025")
- $estado : string
-
Estado del curso (por ejemplo: "activo", "inactivo", etc.)
listarCursos()
Obtiene todos los cursos registrados en la base de datos.
public
listarCursos() : array<string|int, mixed>
Devuelve un array con la información básica de cada curso, incluyendo su estado.
Return values
array<string|int, mixed> —- Lista de cursos como arrays asociativos.
modificarCurso()
Actualiza los datos de un curso en la base de datos.
public
modificarCurso(int $idCurso, string $fechaInicio, string $fechaFin, string $anioAcademico, string $estado) : bool
Modifica la fecha de inicio, fecha de fin, año académico y estado del curso con el ID proporcionado.
Parameters
- $idCurso : int
-
- ID del curso a modificar.
- $fechaInicio : string
-
- Nueva fecha de inicio.
- $fechaFin : string
-
- Nueva fecha de fin.
- $anioAcademico : string
-
- Año académico en formato 'yy/yy'.
- $estado : string
-
- Nuevo estado del curso ('A', 'F', 'P').
Return values
bool —- Devuelve true si se actualizó al menos una fila, false si no hubo cambios.
obtenerCurso()
Devolverá los datos del curso según la id del curso.
public
obtenerCurso(mixed $idCurso) : array<string|int, mixed>|null
Parameters
- $idCurso : mixed
-
- id de Curso del curso que se requiere.
Return values
array<string|int, mixed>|null —- Array asociativo con los datos del curso o null.