UsuarioPDO
in package
Clase que gestiona la persistencia y operaciones de los Usuarios en la base de datos.
- Actúa como el modelo DAO (Data Access Object) para la entidad Usuario, encapsulando todas las consultas SQL relativas a la tabla T01_Usuario (validación, inserción, modificación y eliminación).
Tags
Table of Contents
Methods
- altaUsuario() : Usuario|null
- Registra un nuevo usuario en el sistema.
- borrarUsuario() : bool
- Elimina físicamente un usuario de la base de datos.
- buscaUsuariosPorDesc() : array<string|int, Usuario>
- Obtiene una lista de usuarios filtrada parcialmente por descripción.
- cambiarPassword() : bool
- Cambia y cifra la contraseña de un usuario.
- cambiarPerfilUsuario() : bool
- Modifica el nivel de privilegios (Perfil) de un usuario en la base de datos.
- modificarUsuario() : Usuario|null
- Modifica la descripción (Nombre completo) de un usuario existente.
- registrarUltimaConexion() : Usuario|null
- Actualiza el registro de conexiones de un usuario en la base de datos y en memoria.
- validarCodNoExiste() : bool
- Verifica la disponibilidad de un código de usuario.
- validarUsuario() : Usuario|null
- Autentica a un usuario comprobando sus credenciales en la base de datos.
Methods
altaUsuario()
Registra un nuevo usuario en el sistema.
public
static altaUsuario(string $codUsuario, string $password, string $descUsuario) : Usuario|null
- Inserta un registro en la tabla T01_Usuario, cifrando la contraseña mediante SHA256 (concatenada con el código de usuario). Establece el perfil predeterminado como 'usuario', inicializa el contador de conexiones a 1 y registra la fecha y hora actual de creación.
Parameters
- $codUsuario : string
-
Código único del usuario (PK).
- $password : string
-
Contraseña en texto plano a cifrar.
- $descUsuario : string
-
Descripción o nombre completo del nuevo usuario.
Return values
Usuario|null —Devuelve el objeto Usuario creado y listo para la sesión, o null si falló la inserción.
borrarUsuario()
Elimina físicamente un usuario de la base de datos.
public
static borrarUsuario(string $codUsuario) : bool
- Ejecuta un borrado permanente (DELETE) en la tabla T01_Usuario para el código indicado.
Parameters
- $codUsuario : string
-
Código del usuario a eliminar.
Return values
bool —Devuelve true si se borró la fila correctamente, false en caso contrario.
buscaUsuariosPorDesc()
Obtiene una lista de usuarios filtrada parcialmente por descripción.
public
static buscaUsuariosPorDesc(string $descUsuario) : array<string|int, Usuario>
- Empleado generalmente en listados y búsquedas de mantenimiento.
Parameters
- $descUsuario : string
-
Texto o subcadena para filtrar (ej. nombre).
Return values
array<string|int, Usuario> —Array de objetos Usuario coincidentes. Array vacío si no hay resultados.
cambiarPassword()
Cambia y cifra la contraseña de un usuario.
public
static cambiarPassword(string $codUsuario, string $nuevaPassword) : bool
- Actualiza el campo T01_Password aplicando de nuevo la función SHA256 con el SALT correspondiente al usuario.
Parameters
- $codUsuario : string
-
Código identificador del usuario.
- $nuevaPassword : string
-
La nueva contraseña introducida en texto plano.
Return values
bool —Devuelve true si la actualización afectó a alguna fila (éxito), o false si falló.
cambiarPerfilUsuario()
Modifica el nivel de privilegios (Perfil) de un usuario en la base de datos.
public
static cambiarPerfilUsuario(string $codUsuario, string $nuevoPerfil) : bool
- Exclusivo para administradores. Cambia el campo T01_Perfil.
Parameters
- $codUsuario : string
-
Código del usuario a modificar.
- $nuevoPerfil : string
-
Nuevo valor ('usuario' o 'administrador').
Return values
bool —Devuelve true si la actualización fue exitosa, false en caso contrario.
modificarUsuario()
Modifica la descripción (Nombre completo) de un usuario existente.
public
static modificarUsuario(Usuario $oUsuario, string $nuevoDescUsuario) : Usuario|null
- Actualiza físicamente la columna T01_DescUsuario en la base de datos y, en caso de éxito, actualiza la propiedad correspondiente en el objeto Usuario en memoria.
Parameters
- $oUsuario : Usuario
-
Objeto Usuario actual (sacado de la sesión).
- $nuevoDescUsuario : string
-
Nuevo nombre o descripción a establecer.
Return values
Usuario|null —Devuelve el objeto Usuario actualizado, o null en caso de error en la BD.
registrarUltimaConexion()
Actualiza el registro de conexiones de un usuario en la base de datos y en memoria.
public
static registrarUltimaConexion(Usuario $oUsuario) : Usuario|null
- Tras un login exitoso, este método incrementa el contador de conexiones (+1) y actualiza la fecha de la última conexión (T01_FechaHoraUltimaConexion) al momento actual (NOW()). Finalmente, sincroniza el objeto Usuario en memoria con estos nuevos datos.
Parameters
- $oUsuario : Usuario
-
Objeto Usuario con los datos de la sesión recién iniciada.
Return values
Usuario|null —Objeto Usuario actualizado en sus propiedades de conexión, o null si falló el UPDATE.
validarCodNoExiste()
Verifica la disponibilidad de un código de usuario.
public
static validarCodNoExiste(string $codUsuario) : bool
- Consulta si un código primario ya está en uso en la tabla de usuarios. Fundamental para la validación de formularios de registro y evitar duplicidades de PK.
Parameters
- $codUsuario : string
-
Código de usuario a verificar.
Return values
bool —Devuelve true si el código está DISPONIBLE (no existe), y false si ya está OCUPADO.
validarUsuario()
Autentica a un usuario comprobando sus credenciales en la base de datos.
public
static validarUsuario(string $codUsuario, string $password) : Usuario|null
- Realiza una consulta filtrando por código de usuario y contraseña (cifrada con SHA256, utilizando el propio código de usuario como SALT concatenado a la contraseña). Si las credenciales son correctas, extrae los datos y devuelve una instancia de Usuario.
Parameters
- $codUsuario : string
-
Código identificador del usuario.
- $password : string
-
Contraseña introducida por el usuario en texto plano.
Return values
Usuario|null —Devuelve el objeto Usuario si el login es correcto, o null en caso de credenciales inválidas.