Documentación de Proyecto Sincro

Application

Table of Contents

Classes

ControladorSubtipoPrimario
DAODeposito
partidaListadoProc

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_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
bool

conexionesDisponibles()

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|null

conexionPorDefecto()

Primera conexión sobre la que el usuario tiene algún permiso.

conexionPorDefecto() : int|null
Return values
int|null

invalidarCachePermisos()

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

        
On this page

Search results