\AdministradorHistorial

AdministradorHistorial es la clase usada por el motor para manejar el historial de navegación.

Es la única encargada de hacer cambios en el historial.

Summary

Methods
Properties
Constants
parametros_historial()
__construct()
pagina_base()
eliminar_comandos_de_uri()
actualizar()
No public properties found
No constants found
No protected methods found
No protected properties found
N/A
No private methods found
No private properties found
N/A

Methods

parametros_historial()

parametros_historial() : array

Devuelve una lista con todos los parámetros de historial disponibles.

Returns

array

__construct()

__construct(string  $pagina_base = null, array  $variables_pagina_base = null) 

Constructor de la clase.

Parameters

string $pagina_base

uri de la única página que queda en el historial cuando éste se resetea con el comando "reset" de PARAMETRO_HISTORIAL.

array $variables_pagina_base

valores a guardar en la entrada del historial que se crea para la página base (ver EntradaHistorial.guardar_variables())

pagina_base()

pagina_base() : string

El uri de la página base del historial.

Returns

string

eliminar_comandos_de_uri()

eliminar_comandos_de_uri(string  $uri) : string

Elimina de $uri todos los comandos del historial.

Parameters

string $uri

Returns

string —

el uri sin los comandos

actualizar()

actualizar(\HistorialNavegacion  $historial, array  $comandos = null, boolean  $ignorar_request = null) 

Actualiza el historial de navegación.

Aplica las siguientes reglas:

  • si $_REQUEST contiene el parámetro PARAMETRO_HISTORIAL, realiza los comandos indicados en él; el contenido del parámetro debe ser una lista separada por comas de uno o más de los comandos mostrados a continuación; si se indica más de un comando, se ejecutan en el orden dado por la siguiente lista, independientemente del orden en que aparezcan en el parámetro:
    • reset: limpia el historial, dejando sólo la página base
    • clear: limpia por completo el historial
    • restore: vuelve hasta una entrada anterior del historial, indicada por el parámetro PARAMETRO_HISTORIAL_CMD_RESTORE_DST. Si en el historial no se encuentra la entrada indicada, se ignora el comando y se sigue el procesamiento normal.
    • back: elimina una cantidad de entradas del tope del historial; si está presente, también debe estar el parámetro PARAMETRO_HISTORIAL_CMD_BACK, indicando la cantidad a eliminar.
    • skip: no guarda la página actual; es útil en el caso de solicitudes POST sobre la misma página
    • update: guarda o actualiza para la página actual los valores de todos los parámetros POST; si está presente, se puede incluir también el parámetro PARAMETRO_HISTORIAL_UPDATE_IGNORE, conteniendo una lista separada por comas de nombres de parámetros que no se deben guardar
  • si $historial contiene $_SERVER['REQUEST_URI'], elimina todas las páginas que están por encima
  • si no, agrega $_SERVER['REQUEST_URI'] como nueva página actual
  • si vuelve a una página anterior en el historial, restaura las variables que pudiera tener asociadas (con un comando 'update'), guardándolas en $_POST y $_REQUEST

Importante: los comandos 'back', 'clear', 'reset' y 'restore' son mutuamente exclusivos; se consideran en el orden de prioridad listado más arriba (el primero que se encuentra es el que se realiza).

Parameters

\HistorialNavegacion $historial
array $comandos

comandos a realizar además o en lugar de los indicados en el request, dependiendo de $ignorar_request; por ejemplo: $comandos = array('skip', 'update')

boolean $ignorar_request

si se especifica el array $comandos no nulo ¿los comandos dados deben reemplazar (true) o agregarse (false) a los indicados en el request?; si $comandos no es un array, no se tiene en cuenta