Aplicación Final v4.0.0
Aplicación Final de la asignatura de DWES
Loading...
Searching...
No Matches
Controladores Namespace Reference

Detailed Description

Controlador: Añadir Departamento

Este controlador gestiona la creación de nuevos departamentos en la aplicación final.

Funcionalidad:

  • Verifica que exista sesión activa.
  • Gestiona el botón "Atrás" hacia el mantenimiento de departamentos.
  • Valida los datos del formulario:
    • codDepartamento (3 caracteres alfanuméricos)
    • descDepartamento (4-255 caracteres)
    • VolumenDeNegocio (float positivo)
  • Comprueba que el código de departamento no exista.
  • Crea el departamento mediante DepartamentoPDO\altaDepartamento.
  • Redirige a mantenimiento si el alta es correcta.

Dependencias:

Author
Cristian Mateos
Version
2.0

Controlador: Baja de usuario

Este controlador gestiona la eliminación del usuario actualmente autenticado en la aplicación.

Funcionalidad:

  • Verifica que exista sesión activa.
  • Permite volver a la página anterior mediante el botón "volver".
  • Solicita confirmación escribiendo exactamente "SI".
  • Si la confirmación es correcta:
    • Obtiene el código del usuario desde la sesión.
    • Elimina el usuario mediante UsuarioPDO\borrarUsuario.
    • Redirige a la página de inicio público.

Dependencias:

  • Clase UsuarioPDO
  • Objeto usuario almacenado en sesión
  • Arreglo $view para cargar el layout
Author
Cristian Mateos
Version
2.0

Controlador: Cambio de contraseña

Este controlador permite al usuario autenticado modificar su contraseña.

Funcionalidad:

  • Verifica que exista sesión activa.
  • Permite cerrar sesión mediante el botón "atras".
  • Permite volver a la página privada mediante el botón "volver".
  • Valida:
    • Contraseña actual
    • Nueva contraseña
    • Confirmación de nueva contraseña
  • Comprueba que:
    • La contraseña actual sea correcta.
    • Las nuevas contraseñas coincidan.
  • Actualiza la contraseña mediante UsuarioPDO\cambiarPassword.

Dependencias:

Author
Cristian Mateos
Version
2.0

Controlador: Consultar Departamento

Este controlador permite visualizar los datos de un departamento previamente seleccionado en el mantenimiento de departamentos.

Funcionalidad:

  • Permite volver a la página anterior mediante el botón "atras".
  • Obtiene el código del departamento almacenado en sesión.
  • Recupera el departamento mediante DepartamentoPDO\seleccionarDepartamento.
  • Almacena el objeto departamento en sesión.
  • Prepara un array asociativo con los datos para la vista.

Dependencias:

  • Clase DepartamentoPDO
  • Objeto Departamento y sus métodos getter
  • Variable de sesión codDptoSeleccionado
  • Arreglo $view para cargar el layout
Author
Cristian Mateos
Version
2.0

Controlador: Consultar Usuario API (actualmente no activo, se utiliza la API de wsConsultarUsuario)

Este controlador permite visualizar los datos de un usuario previamente seleccionado en el mantenimiento de usuarios.

Funcionalidad:

  • Permite volver a la página de mantenimiento de usuarios.
  • Verifica que exista un usuario seleccionado en sesión.
  • Prepara un array asociativo con los datos del usuario para su visualización en la vista.

Dependencias:

  • Objeto Usuario almacenado en sesión (usuarioSeleccionado)
  • Clase Usuario y sus métodos getter
  • Arreglo $view para cargar el layout
Author
Cristian Mateos
Version
2.0

Controlador: Detalle de usuario

Este controlador gestiona la navegación de la página de detalle en la aplicación Login/Logoff.

Funcionalidad:

  • Verifica que exista sesión activa.
  • Gestión del botón "Atrás":
    • Actualiza paginaAnterior y paginaEnCurso según la sesión.
    • Redirige a index.php.
  • Si no se envía "atras", carga la vista principal (layout).

Dependencias:

  • Variables de sesión $_SESSION
  • Arreglo $view para cargar el layout
Version
2.0

Controlador: Modificación de Departamento

Este controlador gestiona la visualización y edición de un departamento previamente seleccionado.

Funcionalidad:

  • Verifica que exista sesión activa.
  • Permite volver a la página anterior mediante el botón "Atrás".
  • Obtiene el departamento seleccionado desde la sesión y la base de datos.
  • Prepara los datos para la vista.
  • Valida los campos del formulario al intentar cambiar datos:
    • descDepartamento (alfanumérico, 1-255 caracteres)
    • VolumenDeNegocio (float positivo)
  • Si la validación es correcta, actualiza el departamento mediante DepartamentoPDO\editarDepartamento y redirige al mantenimiento.

Dependencias:

Author
Cristian Mateos
Version
2.0

Controlador: Modificación de Usuario API

Este controlador gestiona la visualización y edición de un usuario previamente seleccionado en el mantenimiento de usuarios API.

Funcionalidad:

  • Verifica que exista sesión activa.
  • Permite volver a la página de mantenimiento de usuarios mediante "Atrás".
  • Obtiene el usuario seleccionado desde sesión y base de datos.
  • Prepara los datos del usuario para la vista.
  • Valida los campos del formulario al intentar cambiar datos:
    • DescUsuario (alfanumérico, 1-255 caracteres)
    • Perfil (alfanumérico, 1-10 caracteres)
  • Si la validación es correcta, actualiza el usuario mediante UsuarioPDO\editarUsuario y redirige al mantenimiento.

Dependencias:

Author
Cristian Mateos
Version
2.0

Controlador: Baja de Departamento

Este controlador gestiona la eliminación de un departamento previamente seleccionado.

Funcionalidad:

  • Verifica que exista sesión activa.
  • Permite volver a la página anterior mediante el botón "volver".
  • Solicita confirmación escribiendo exactamente "SI".
  • Si la confirmación es correcta:
    • Obtiene el código del departamento desde sesión.
    • Elimina el departamento mediante DepartamentoPDO\borrarDepartamento.
    • Redirige a la página de mantenimiento de departamentos.

Dependencias:

  • Clase DepartamentoPDO
  • Variables de sesión $_SESSION
  • Arreglo $view para cargar el layout
Author
Cristian Mateos
Version
2.0

Controlador: Gestión de Errores

Este controlador gestiona la visualización de errores en la aplicación.

Funcionalidad:

  • Comprueba si existe un objeto de error en sesión ($_SESSION['error']).
  • Si existe, extrae la información del error:
    • Código
    • Descripción
    • Archivo
    • Línea
    • Página siguiente
  • Permite volver a la página anterior mediante el botón "atras".
  • Carga la vista de error (layout) con los datos preparados.

Dependencias:

  • Objeto Error almacenado en sesión y sus métodos getter
  • Variables de sesión $_SESSION
  • Arreglo $view para cargar el layout
Author
Cristian Mateos
Version
2.0

Controlador: Inicio Privado

Este controlador gestiona la página de inicio privado de la aplicación Login/Logoff.

Funcionalidad:

  • Verifica que exista sesión activa.
  • Determina si el usuario tiene perfil de administrador.
  • Gestiona la navegación hacia:
    • Mi cuenta
    • Detalle de usuario
    • Mantenimiento de departamentos
    • Mantenimiento de usuarios API
    • REST
    • Error
  • Gestiona el botón "Atrás" / cierre de sesión:
    • Destruye la sesión y vuelve a la página anterior
  • Prepara los datos del usuario para la vista ($datosUsuarioVista):
    • Código de usuario
    • Número de conexiones
    • Fecha y hora de última conexión anterior
    • Descripción del usuario
    • Perfil administrador
  • Carga la vista principal (layout) con los datos preparados.

Dependencias:

  • Variables de sesión $_SESSION
  • Clase Usuario para obtener información del usuario
  • Clase DBPDO para consultas de error
  • Arreglo $view para cargar el layout
Author
Cristian Mateos
Version
2.0

Controlador: Inicio Público

Este controlador gestiona la navegación desde la página de inicio público de la aplicación Login/Logoff.

Funcionalidad:

  • Comprueba si se ha enviado paginaDestino mediante formulario o enlace.
  • Si se ha enviado:
    • Actualiza paginaAnterior con la página en curso.
    • Actualiza paginaEnCurso con el destino.
    • Redirige a index.php para cargar la vista correspondiente.
  • Si no se ha enviado paginaDestino, carga la vista principal (layout).

Dependencias:

  • Variables de sesión $_SESSION
  • Arreglo $view para cargar la vista layout principal
Author
Cristian Mateos
Version
2.0

Controlador: Login Público

Este controlador gestiona el inicio de sesión desde la página pública de la aplicación.

Funcionalidad:

  • Gestiona la navegación:
    • Botón "Atrás" redirige a inicioPublico.
    • Botón "Registro" redirige a la página de registro.
  • Valida los datos del formulario de login:
    • codUsuario (alfanumérico, 4-10 caracteres)
    • password (alfanumérico, 4-10 caracteres, al menos 1 carácter especial)
  • Si las credenciales son correctas:
    • Carga el usuario en sesión (usuarioActualDWESAplicacionFinal).
    • Genera un token API único si no existe y lo guarda en la base de datos.
    • Redirige a la página de inicio privado (inicioPrivado).
  • Si las credenciales son incorrectas, muestra errores en el formulario.

Dependencias:

Author
Cristian Mateos
Version
2.0

Controlador: Mi Perfil

Este controlador gestiona la edición de los datos del usuario actual en la aplicación.

Funcionalidad:

  • Valida sesión activa del usuario.
  • Gestiona navegación:
    • Botón "Atrás": destruye sesión y vuelve a la página anterior.
    • Botón "Volver": vuelve al inicio privado.
    • Botón "Borrar cuenta": redirige a la página de eliminación de cuenta.
    • Botón "Cambiar contraseña": redirige a la página de cambio de password.
  • Procesa formulario de edición de descripción del usuario:
    • Valida el campo description como alfanumérico.
    • Si es correcto, actualiza el usuario en la base de datos y en sesión.
    • Actualiza array de datos del usuario ($datosUsuarioVista) para la vista.

Dependencias:

  • Clase UsuarioPDO y métodos editarUsuario y validarUsuario
  • Clase validacionFormularios
  • Variables de sesión $_SESSION
  • Arreglo $view para cargar la vista layout
Author
Cristian Mateos
Version
2.0

Controlador: Mantenimiento de Departamentos

Este controlador gestiona la página de mantenimiento de departamentos en la aplicación. Permite navegar, buscar, filtrar y realizar acciones sobre departamentos.

Funcionalidad:

  • Validación de sesión: si no hay usuario activo, redirige a Login.
  • Navegación entre páginas:
    • Atrás / Volver: vuelve a la página anterior.
    • Ver / Editar / Eliminar / Dar de baja / Rehabilitar / Alta departamento.
  • Búsqueda y filtrado:
    • Validación del campo de búsqueda (solo letras).
    • Guarda la búsqueda y estado seleccionado en sesión.
  • Preparación de lista de departamentos según filtros y búsqueda.

Dependencias:

  • Clase DepartamentoPDO y métodos buscarDepartamentos, bajaDepartamento, rehabilitarDepartamento.
  • Clase validacionFormularios.
  • Variables de sesión $_SESSION.
  • Arreglo $view para cargar la vista layout.
Author
Cristian Mateos
Version
2.0

Controlador: Mantenimiento de Usuarios (actualmente no activo, se utiliza la api)

Este controlador gestiona la página de mantenimiento de usuarios en la aplicación. Permite navegar, buscar, filtrar y realizar acciones sobre usuarios.

Funcionalidad:

  • Validación de sesión: si no hay usuario activo, redirige a Login.
  • Navegación entre páginas:
    • Atrás / Volver: vuelve a la página anterior.
    • Ver / Editar / Eliminar / Baja de usuario.
  • Búsqueda y filtrado:
    • Validación del campo de búsqueda (solo letras, sin números).
    • Guarda la búsqueda en sesión.
  • Preparación de lista de usuarios según la búsqueda.

Dependencias:

  • Clase UsuarioPDO y métodos seleccionarUsuario, buscarUsuarios.
  • Clase validacionFormularios.
  • Variables de sesión $_SESSION.
  • Arreglo $view para cargar la vista layout.
Author
Cristian Mateos
Version
1.0

Controlador: Mantenimiento de Usuarios API

Este controlador gestiona la navegación de la página de mantenimiento de usuarios de tipo API en la aplicación Login/Logoff.

Funcionalidad:

  • Valida sesión: si no hay usuario activo, redirige a Login.
  • Navegación entre páginas:
    • Atrás: vuelve a la página anterior, reinicia sesión.
    • Volver: vuelve a la página anterior.
  • Carga la vista principal (layout).

Dependencias:

  • Variables de sesión $_SESSION.
  • Arreglo $view para cargar la vista layout.
Author
Cristian Mateos
Version
1.0

Controlador: Registro

Este controlador gestiona el registro de nuevos usuarios en la aplicación Login/Logoff.

Funcionalidad:

  • Navegación:
    • Atrás: vuelve a la página anterior.
  • Registro de usuario:
    • Valida campos: código de usuario, contraseña, descripción y pregunta de seguridad.
    • Comprueba si el código de usuario ya existe.
    • Si no existe, crea el usuario y redirige a inicio privado.
    • Si ocurre un error, guarda el mensaje en sesión y redirige a login.

Dependencias:

  • Clase UsuarioPDO para operaciones sobre usuarios.
  • Constante RESPUESTA_SEGURIDAD para validar la pregunta de seguridad.
  • Variables de sesión $_SESSION.
  • Arreglo $view para cargar la vista layout.
Author
Cristian Mateos
Version
1.0

Controlador: API Externa

Gestiona la visualización de la foto de la NASA y razas de perros. Permite seleccionar fecha y raza, ampliar detalles y navegar entre páginas.

Funcionalidad:

  • Validación de sesión.
  • Inicialización de fecha y raza si no existen en sesión.
  • Navegación: ampliar detalles de NASA o Dog, o volver a la página anterior.
  • Validación de entradas: fecha y raza seleccionada.
  • Consumo de APIs externas:
    • NASA: obtiene la foto del día según la fecha seleccionada.
    • Dog API: obtiene la imagen y listado de razas.
  • Guarda datos obtenidos en sesión para ser usados en la vista.

Dependencias:

Author
Cristian Mateos
Version
1.0

Controlador: WIP

Este controlador gestiona la página WIP (Work In Progress) de la aplicación. Su función principal es permitir la navegación hacia otra página si se envía paginaDestino, o retroceder si se pulsa "Atrás".

Funcionalidad:

  • Botón "Atrás": vuelve a la página anterior almacenada en sesión.
  • Navegación a otra página: si se envía paginaDestino, actualiza la página anterior y la página en curso y redirige.
  • Si no hay acción, simplemente carga el layout principal.

Dependencias:

  • Variables de sesión $_SESSION
  • Arreglo $view para cargar la vista layout
Author
Cristian Mateos
Version
1.0