Documentation

UsuarioPDO
in package

FinalYes

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
author

Enrique Nieto Lorenzo

since
18/01/2026
version
1.0.0

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.


        
On this page

Search results