Application
Table of Contents
Classes
Constants
- CAMPOS_CONEXION_PUBLICOS = ['id', 'nombre', 'host', 'puerto', 'descripcion']
- Campos de la tabla `conexion` que pueden viajar al navegador.
- PAGINAS_ROL_MINIMO = [ 'paneladministrador' => 1, // admin y super 'panelpaginas' => 1, // admin y super 'panelconexiones' => 2, // solo super 'panelconfiguracion' => 2, ]
- Páginas cuyo acceso NO depende de la tabla `permisos` sino del rol.
- PERMISOS_TTL = 300
- PERMISOS_TTL_REINTENTO = 30
- SESSION_TIMEOUT_SECONDS = 30 * 60
Functions
- _agSesion() : void
- Comprueba que la sesion está abierta o sino la abre
- rutaCanonica() : string
- Normaliza cualquier forma de ruta a una única clave.
- _agCacheVacia() : array<string|int, mixed>
- Crea una cache vacia con un error por parametro
- permisosCache() : array<string|int, mixed>
- Devuelve la caché, construyéndola o revalidándola si toca.
- conexionesDePagina() : array<string|int, int>
- Conexiones sobre las que el usuario puede operar en esa página.
- puedeAccederPagina() : bool
- ¿Puede el usuario ver la página? Basta con 1 permiso.
- conexionesDisponibles() : array<int, array<string|int, mixed>>
- Conexiones de la página ya "hidratadas" con su ficha (id, nombre, host…).
- menuSidebar() : array<string|int, mixed>
- Árbol de menú ya filtrado por permisos, listo para renderizar.
- paginaPrincipal() : string|null
- Ruta canónica de la primera página accesible (destino tras el login).
- conexionPorDefecto() : int|null
- Primera conexión sobre la que el usuario tiene algún permiso.
- invalidarCachePermisos() : void
- Fuerza la reconstrucción en la PRÓXIMA lectura (solo de la sesión actual).
- requireAuthPage() : void
- Comprueba si el usuario tiene acceso a la pagina que lo invoca
- sesionExpiradaPorInactividad() : bool
- Timeout por INACTIVIDAD. true = expirada.
- _construirCachePermisos() : array<string|int, mixed>
- Construccion de la cache Se construye al hacer loggin y se renueva segune el TTL definido al principio del archivo
- _agInsertarEnMenu() : void
- Coloca una página en el árbol categoria → subcategoria → subsubcategoria.
Constants
CAMPOS_CONEXION_PUBLICOS
Campos de la tabla `conexion` que pueden viajar al navegador.
public
mixed
CAMPOS_CONEXION_PUBLICOS
= ['id', 'nombre', 'host', 'puerto', 'descripcion']
Lista blanca a propósito: esa tabla guarda credenciales de las bases de explotación (usuario, password) y estas fichas se sirven tal cual al selector de conexiones. Todo lo que no esté aquí no sale del servidor.
PAGINAS_ROL_MINIMO
Páginas cuyo acceso NO depende de la tabla `permisos` sino del rol.
public
mixed
PAGINAS_ROL_MINIMO
= [
'paneladministrador' => 1,
// admin y super
'panelpaginas' => 1,
// admin y super
'panelconexiones' => 2,
// solo super
'panelconfiguracion' => 2,
]
Funcionan estén o no dadas de alta en la tabla paginas.
Clave = ruta canónica (minúsculas, sin carpeta ni .php).
PERMISOS_TTL
public
mixed
PERMISOS_TTL
= 300
PERMISOS_TTL_REINTENTO
public
mixed
PERMISOS_TTL_REINTENTO
= 30
SESSION_TIMEOUT_SECONDS
public
mixed
SESSION_TIMEOUT_SECONDS
= 30 * 60
Functions
_agSesion()
Comprueba que la sesion está abierta o sino la abre
_agSesion() : void
rutaCanonica()
Normaliza cualquier forma de ruta a una única clave.
rutaCanonica(string $ruta) : string
Parameters
- $ruta : string
Return values
string_agCacheVacia()
Crea una cache vacia con un error por parametro
_agCacheVacia([string|null $error = null ]) : array<string|int, mixed>
Parameters
- $error : string|null = null
Return values
array<string|int, mixed>permisosCache()
Devuelve la caché, construyéndola o revalidándola si toca.
permisosCache() : array<string|int, mixed>
Return values
array<string|int, mixed>conexionesDePagina()
Conexiones sobre las que el usuario puede operar en esa página.
conexionesDePagina(string $ruta) : array<string|int, int>
Parameters
- $ruta : string
-
: ruta de la pagina a la que se quiere acceder
Return values
array<string|int, int> —vacío = sin acceso
puedeAccederPagina()
¿Puede el usuario ver la página? Basta con 1 permiso.
puedeAccederPagina(string $ruta) : bool
Parameters
- $ruta : string
Return values
boolconexionesDisponibles()
Conexiones de la página ya "hidratadas" con su ficha (id, nombre, host…).
conexionesDisponibles(string $ruta) : array<int, array<string|int, mixed>>
Es lo que consume conexion-selector.js.
Parameters
- $ruta : string
-
: ruta de la que se quiere obtener sus conexiones
Return values
array<int, array<string|int, mixed>>menuSidebar()
Árbol de menú ya filtrado por permisos, listo para renderizar.
menuSidebar() : array<string|int, mixed>
Return values
array<string|int, mixed>paginaPrincipal()
Ruta canónica de la primera página accesible (destino tras el login).
paginaPrincipal() : string|null
Return values
string|nullconexionPorDefecto()
Primera conexión sobre la que el usuario tiene algún permiso.
conexionPorDefecto() : int|null
Return values
int|nullinvalidarCachePermisos()
Fuerza la reconstrucción en la PRÓXIMA lectura (solo de la sesión actual).
invalidarCachePermisos() : void
requireAuthPage()
Comprueba si el usuario tiene acceso a la pagina que lo invoca
requireAuthPage(string $ruta) : void
Parameters
- $ruta : string
-
: ruta de la pagina invocante
sesionExpiradaPorInactividad()
Timeout por INACTIVIDAD. true = expirada.
sesionExpiradaPorInactividad([bool $renovar = true ]) : bool
Parameters
- $renovar : bool = true
Return values
bool_construirCachePermisos()
Construccion de la cache Se construye al hacer loggin y se renueva segune el TTL definido al principio del archivo
_construirCachePermisos(int $userId, int $rol) : array<string|int, mixed>
Parameters
- $userId : int
-
: id del usuario solicitante
- $rol : int
-
: rol del usuario solicitante
Return values
array<string|int, mixed> —: estructura de permisos
_agInsertarEnMenu()
Coloca una página en el árbol categoria → subcategoria → subsubcategoria.
_agInsertarEnMenu(array<string|int, mixed> &$menu, array<string|int, mixed> $p, string $clave) : void
Parameters
- $menu : array<string|int, mixed>
- $p : array<string|int, mixed>
- $clave : string