Controllers

A continuación se desglosaran ciertas partes del código que nos ayudaran a entender como funcionan ciertos apartados del sitio en el backend, desarollado con laravel.

CursoController

El controlador de Laravel maneja una amplia gama de funcionalidades relacionadas con la gestión de cursos, la asignación de usuarios a cursos, la generación de certificados, y la administración de capítulos y subcapítulos dentro de los cursos, a continuación se presenta el código del mismo.

Descripción de Codigo

  1. Índex: Recupera y muestra todos los cursos en la vista cursos.index.

  2. Créate: Muestra el Formulario para crear un nuevo curso.

  3. Generarcertificado: Genera un certificado en formato PDF para un usuario específico que haya completado un curso. Verifica si el curso y el usuario existen antes de proceder, y luego genera el PDF con los datos del curso y del usuario.

  4. Curso_usuario: Muestra la información de un curso específico para un usuario en función de su ID. Verifica si el usuario está inscrito en el curso antes de mostrar la vista del curso con los comentarios.

  5. Crear_curso_admin: Maneja la creación de un curso nuevo, validando los datos recibidos desde el formulario. Este método también maneja la subida de archivos (como imágenes y videos), la creación de capítulos y subcapítulos, y la asociación de estos con el curso.

  6. Mostrarcursos: Muestra todos los cursos en la vista cursos.admin.cursos destinada al administrador.

  7. Mostrarvideocurso: Muestra un video asociado a un curso desde el almacenamiento local, si existe.

  8. Mostrarvideocurso: Muestra la imagen de portada de un curso desde el almacenamiento local, si existe.

  9. Tarjetacurso: Muestra una vista detallada de un curso específico, verificando si el usuario está inscrito en dicho curso.

  10. Mostrarcurso: Muestra la información detallada de un curso específico, incluyendo capítulos y subcapítulos, junto con los comentarios asociados al curso.

  11. Store: Crea un nuevo curso y sus capítulos y subcapítulos asociados, validando los datos proporcionados por el usuario. Usa una transacción de base de datos para garantizar la integridad de los datos.

  12. Show: Muestra la información detallada de un curso específico.

  13. Edit: Muestra el formulario de edición para un curso específico.

  14. Update: Actualiza los datos de un curso existente junto con sus capítulos y subcapítulos, asegurando la validación de los datos proporcionados. Este método también usa una transacción de base de datos.

  15. Expedircertificados: Genera y descarga un certificado en formato PDF para el perfil del usuario, basado en la vista cursos.user.profile.

  16. Eliminar_curso_admin: Elimina un curso específico junto con sus recursos asociados (imágenes, videos, y capítulos). También maneja la eliminación de archivos almacenados localmente.

  17. Destroy: Elimina un curso específico de la base de datos y redirige al índice de cursos con un mensaje de éxito.

  18. Crearprogreso: Crea un nuevo registro de progreso para un usuario en un curso específico, asegurando que no exista un progreso duplicado.

  19. Calcularprogreso: Calcula el progreso del usuario en un curso específico, iterando sobre los capítulos y subcapítulos completados y devolviendo el progreso en formato JSON.

ExamenController

PreguntasExamenController

Este controlador sigue las convenciones del controlador de recursos. Un controlador de recursos en Laravel maneja las operaciones CRUD (Crear, Leer, Actualizar, Eliminar) para un modelo específico.

Descripción de Codigo

  1. Index: Este método está destinado a manejar la lógica para mostrar una lista de recursos (en este caso, una lista de preguntas de examen).

  2. Create: Este método se usa para mostrar un formulario para crear un nuevo recurso (una nueva pregunta de examen).

  3. Store: Este método maneja la lógica para almacenar un nuevo recurso en la base de datos. Toma un objeto Request como parámetro, que contiene los datos enviados desde el formulario.

  4. Show: Este método se utiliza para mostrar un recurso específico basado en su identificador ($id).

  5. Update: Este método maneja la lógica para actualizar un recurso existente en la base de datos. Toma como parámetros el objeto Request con los datos actualizados y el identificador del recurso.

  6. Destroy: Este método maneja la lógica para eliminar un recurso específico de la base de datos basado en su identificador.

UserController

Este controlador de Laravel, gestiona diversas operaciones relacionadas con la autenticación y la gestión de usuarios dentro de una plataforma de cursos.

Descripción de Codigo

  1. Request_recovery: Valida si el correo electrónico proporcionado pertenece al dominio corporativo, verifica si el usuario existe en la base de datos , genera un token de recuperación que expira en 30 minutos y lo envía por correo electrónico al usuario.

  2. Password_recovery: Valida el token de recuperación y las nuevas contraseñas ingresadas, verifica si el token es válido y no ha expirado, si es válido, actualiza la contraseña del usuario y elimina el registro del token, muestra una vista con un mensaje de éxito o error.

  3. Registroview: Muestra la vista de registro para nuevos usuarios.

  4. Registro: Valida los datos ingresados en el formulario de registro, verifica si el correo electrónico ya está registrado y si pertenece al dominio corporativo, crea un nuevo usuario, lo guarda en la base de datos, y genera un código de verificación que se envía por correo electrónico, redirige a la vista de verificación con el ID del usuario.

  5. Verify: Valida el token de verificación y el ID del usuario, verifica si el token es válido y no ha expirado, si es válido, marca al usuario como verificado, almacena su sesión, y redirige al índice de la plataforma.

  6. VerifyRequest: Genera un nuevo token de verificación para un usuario existente y lo envía por correo electrónico.

  7. Logueo: Muestra la vista de inicio de sesión, valida las credenciales ingresadas, verifica si el usuario existe y si la contraseña es correcta, si es correcto, almacena la sesión del usuario y lo redirige a la página principal.

  8. Gestion usuarios: Muestra una lista de todos los usuarios registrados, muestra una vista con todos los usuarios en la plataforma, elimina el perfil de un usuario específico, actualiza el perfil de un usuario, incluyendo su información personal y su imagen de perfil.

  9. Usuario_curso: Asigna un curso específico a un usuario, verificando si ya está inscrito o no.

  10. MostrarImagenUsuario: Muestra la imagen de perfil del usuario almacenada en el servidor.

Last updated