PREFIJO_PARAMETRO_XGAP
PREFIJO_PARAMETRO_XGAP
Biblioteca de funciones genéricas, usadas en diversos lugares del motor.
ExcepcionXGAPUnserialize | Indica un error de deserialización de un valor. |
crearDireccionPagina(string $pagina, array $parametros = array(), boolean $escapar_caracteres = true, string $relativa_a = null, boolean $convertir_booleanos = false, boolean $es_interno = true) : string
Crea la dirección de una página para usar en links.
Si la dirección es interna y la página actual es simple, la dirección creada incluye el parámetro
PARAMETRO_ESTRUCTURA_PAGINA_SIMPLE = 'true', a menos que éste ya esté incluido en $parametros.string | $pagina | nombre de la pagina; por ejemplo 'index.php' |
array | $parametros | arreglo de parámetros GET a incluir en la dirección;
sus valores también pueden ser arrays; |
boolean | $escapar_caracteres | ¿se deben traducir a entidades HTML los caracteres que tengan una traducción? |
string | $relativa_a | ruta respecto a la cual es relativa $pagina; por ejemplo, APP_ROOT |
boolean | $convertir_booleanos | ¿se deben convertir los valores booleanos en $parametros en las cadenas 'true' y 'false'? |
boolean | $es_interno | ¿la dirección lleva a una página interna a la aplicación? |
agregarParametrosAUrl(string $url, array $parametros = array(), boolean $escapar_caracteres = true) : string
Agrega parámetros al final de un URL.
string | $url | |
array | $parametros | |
boolean | $escapar_caracteres | ¿se deben traducir a entidades HTML los caracteres que tengan una traducción? |
info_tipos_pagina_xgap() : array
Retorna un array con información sobre los tipos de página definidos por XGAP.
La estructura que retorna tiene la forma:
array(
$nombre => array( // clave: [string] Nombre del tipo
'descripcion' => $descripcion, // [string] Descripción del tipo
'sufijo' => $sufijo, // [string] Sufijo de los archivos generados para este tipo
'es-html' => $es_html // [boolean] ¿la página genera salida HTML?
'acciones' => array( // Lista de acciones definidas en el tipo
$nombre_accion => array(
'descripcion' => $descripcion_accion // [string] Descripción de la acción
),
...
)
),
...
)
si no se puede cargar la información
tipo_pagina(string $pagina) : string
Devuelve el tipo de una página. El tipo es el valor de la constante <var>XGAP_TIPO_PAGINA</var> en esa página.
string | $pagina | dirección de la página; puede o no incluir ruta y/o cadena de consulta |
si hay un error al leer el archivo descriptor de seguridad (XGAP_ARCHIVO_DESCRIPCION_SEGURIDAD)
el tipo de $pagina; si no corresponde a un tipo conocido, devuelve null
urlCompletoServidor(string $servidor = null, string $esquema = null, integer $puerto = null, boolean $incluir_esquema = true) : string
Retorna el URL completo de un servidor, en la forma `$esquema://$servidor:$puerto`.
El esquema sólo se incluye si $incluir_esquema. El puerto sólo se incluye si no es el estándar para el esquema.
Ejemplos:
urlCompletoServidor('localhost', 'http', '8000');
// == http://localhost:8000
urlCompletoServidor('www.servidor.net', 'https', '443', true);
// == https://www.servidor.net
urlCompletoServidor('www.servidor.net', 'https', '443', false);
// == www.servidor.net
string | $servidor | nombre del servidor, por ejemplo 'localhost' o 'www.servidor.net'; si es nulo o la cadena vacía, se usa el {@link Request::host() servidor de la aplicación} |
string | $esquema | el esquema a usar: 'http' o 'https'; si es vacío, se usa el {@link Request::esquema() esquema del request}; notar que aunque no se incluya en el resultado, se usa para determinar si el puerto es el estándar para el esquema |
integer | $puerto | número de puerto; es vacío o no es un número entero positivo, se usa el {@link Request::puerto() puerto} del servidor de la aplicación |
boolean | $incluir_esquema | ¿se debe incluir el esquema en el resultado? |
urlCompletoPagina(string $pagina, string $servidor = null, string $protocolo = 'http://', integer $puerto = null) : string
Devuelve el URL completo de <var>$pagina</var>, incluyendo el servidor y opcionalmente el protocolo y el puerto.
Si $pagina es una dirección relativa, la convierte en absoluta asumiendo que es relativa a la página actual.
string | $pagina | ruta de la página |
string | $servidor | nombre del servidor, por ejemplo 'localhost' o 'www.servidor.net'; si es nulo o la cadena vacía, se usa el {@link Request::host() servidor de la aplicación} |
string | $protocolo | protocolo del url; si es vacío o nulo, no se incluye |
integer | $puerto | número de puerto; es vacío o no es un número entero positivo, se usa el {@link Request::puerto() puerto} del servidor de la aplicación |
esDireccionInterna(String $direccion) : boolean
Permite comprobar si una dirección dada es interna a la aplicación.
Las reglas que sigue son:
String | $direccion |
parametrosACondicion() : string
Genera una condición SQL con ANDs de todos los {@link esParametroXgap() parámetros XGAP} en <var>$_REQUEST</var>.
package |
Librerias |
---|---|
todo |
¿el resultado es sintácticamente inválido si los valores incluyen "'"? Comprobar. |
esParametroXgap(string $str) : boolean
Permite comprobar si <var>$str</var> corresponde al nombre de un parámetro de XGAP.
Esto ocurre si $str empieza en PREFIJO_PARAMETRO_XGAP.
string | $str | nombre de parámetro a comprobar |
package |
Librerias |
---|
existeParametroXgapEnRequest(string $nombre) : boolean
Permite comprobar si en el request hay un parámetro de XGAP de nombre <var>$nombre</var>.
string | $nombre |
package |
Librerias |
---|
parametrosParaPasar(string $excluidos = PARAMS_EXCLUIDOS_POR_DEFECTO, boolean $quitar_entidad = false) : array
Genera y devuelve un arreglo con los parámetros en <var>$_REQUEST</var>, excluyendo los indicados en <var>$excluidos</var> y los que contienen 'PHP' en el nombre.
string | $excluidos | lista separada por espacios de los nombres de los parámetros a excluir |
boolean | $quitar_entidad |
package |
Librerias |
---|
recuperarValorSinPuntos(string $valor) : string
Dado un valor numérico representado como un string, retorna la parte entera.
string | $valor |
package |
Librerias |
---|
recuperarParametros( $excluidos = PARAMS_EXCLUIDOS_POR_DEFECTO)
Alias de parametrosParaPasar().
$excluidos |
package |
Librerias |
---|
prepararParametrosPagina( $filtros, $filtrosPersonalizados, $parametros, $urlRetorno) : array
Devuelve un arreglo con todos los parámetros consolidados.
$filtros | ||
$filtrosPersonalizados | ||
$parametros | ||
$urlRetorno |
package |
Librerias |
---|
recuperarParametrosComoOcultos(string $excluidos = PARAMS_EXCLUIDOS_POR_DEFECTO_LISTADO_SELECCION) : string
Retorna un string con código HTML que define campos hidden para todas las variables que están en $_REQUEST cuyo nombre no aparece en $excluidos y no contiene la cadena 'PHP'.
string | $excluidos | lista separada por espacios de los nombres de los parámetros a excluir |
package |
Librerias |
---|
formatear_rtf(string $cadena) : string
Reemplaza entidades HTML en <var>$cadena</var> por los caracteres correspondientes.
string | $cadena |
package |
Librerias |
---|---|
todo |
Posiblemente incompleto. Ver comentarios internos. |
comparacion_fecha(string $fecha1, string $fecha2) : integer
Retorna la diferencia entre las dos fechas de entrada.
Ambas fechas deben darse en formato 'dd-mm-aaaa'.
string | $fecha1 | |
string | $fecha2 |
un timestamp de Unix
package |
Librerias |
---|
mkpath(string $path)
Intenta crear un directorio con $path.
Si $path contiene varios directorios, crea cada uno ellos.
string | $path |
package |
Librerias |
---|
nombre_archivo_saneado(string $archivo) : string
Ajusta un nombre de archivo para que sólo contenga caracteres dentro del conjunto [a-zA-Z0-9._-].
Translitera algunos caracteres para llevarlos a la representación más similar dentro del conjunto aceptado; por ejemplo, lleva las vocales acentuadas a la vocal sin acento correspondiente, 'ñ' a 'n' y 'ç' a 'c'. Convierte en '_' los caracteres restantes.
Además se asegura que no empiece ni termine en puntos ni espacios.
string | $archivo | el nombre de archivo a sanear; debe ser sólo el nombre sin ruta (caso contrario, los separadores de directorio se van a transformar en '_') |
el nombre saneado
package |
Librerias |
---|
preparar_salida( $str, $tags_permitidos = array(), $compactar_blancos = null, $traducir_html = false, $traducir_extras = true)
$str | ||
$tags_permitidos | ||
$compactar_blancos | ||
$traducir_html | ||
$traducir_extras |
package |
Librerias |
---|
preparar_array_salida(array $str_arr, array $tags_permitidos = array(), string $compactar_blancos = null, boolean $traducir_html = false, boolean $traducir_extras = true)
Prepara un array de strings para salida a una página, de la misma manera que {@link preparar_salida()} lo hace con strings individuales.
$str_arr es el array a preparar, que queda modificado luego del llamado. Los parámetros restantes son iguales que los correspondientes en preparar_salida().
array | $str_arr | strings a preparar |
array | $tags_permitidos | un arreglo que indica los nombres de los tags HTML que se deben dejar intactos en $str; un arreglo vacío indica que se deben eliminar todos los tags; un valor nulo indica que se deben dejar pasar todos; por ejemplo: array('img','a','br') deja pasar imágenes, links y saltos de línea |
string | $compactar_blancos | especifica un string por el que se deben reemplazar las secuencias de blancos consecutivos; un valor nulo indica que los blancos se deben dejar intactos; por ejemplo: $str = " a b\t\t\tc\nd", $compactar_blancos = ' ' --> resultado = " a b c d" |
boolean | $traducir_html | ¿se deben traducir a entidades los caracteres contemplados por {@link htmlspecialchars()}? Si $str contiene código HTML, este parámetro debe ser false |
boolean | $traducir_extras | ¿se deben traducir a entidades los caracteres contemplados por {@link htmlentities()}, exceptuando los contemplados por {@link htmlspecialchars()}? |
package |
Librerias |
---|
package |
Librerias |
---|
es_ip_valido(string $ip) : boolean
Permite determinar si un string representa un IP válido.
Funciona para direcciones IPv4 e IPv6 si PHP >= 5.2.0, o sólo para IPv4 con versiones anteriores de PHP.
string | $ip |
package |
Librerias |
---|---|
codeCoverageIgnore |
preparar_parametros_imagen(string $params, $img, $ancho, $alto, $x, $y)
Extrae los parámetros para una imagen de un string dado en un formato espeecífico.
Parsea los parámetros dados en $params y los devuelve en $img, $ancho, $alto, $x y $y.
Los parámetros que no estén definidos o sean inválidos quedan con valor null.
El formato esperado de $params es:
{nombreimagen}&{ancho}x{alto}@{x}x{y}. Cualquier parámetro puede faltar, excepto el nombre de la imagen. Ejemplos: - 'img/milogo.png' --> $img='img/milogo.png', $ancho=$alto=$x=$y=nullstring | $params | parámetros de la imagen |
$img | ||
$ancho | ||
$alto | ||
$x | ||
$y |
package |
Librerias |
---|
unserialized_ok(string $serialized, string $unserialized) : boolean
Permite determinar si un valor serializado se corresponde con uno deserializado.
string | $serialized | valor serializado |
string | $unserialized | valor deserializado |
package |
Librerias |
---|
unserialize_with_exception(string $serialized) : mixed
Intenta deserializar un valor con {@link unserialize() unserialize()} y dispara una excepción si se produce un error.
string | $serialized | valor a deserializar |
si la deserialización falla
el resultado de la deserialización
package |
Librerias |
---|
_find_classes_in_dir( $dir, $recursive, $php_file_extensions, $exclude_filenames)
$dir | ||
$recursive | ||
$php_file_extensions | ||
$exclude_filenames |
package |
Librerias |
---|---|
private |
find_classes_in_dir(string $dir, boolean $recursive = TRUE, array $php_file_extensions = array('.php'), array $exclude_filenames = array('CVS', '.svn', '.git', '.bzr', '.hg', '_darcs', 'RCS', 'SCCS')) : array
Retorna una lista con todos los nombres de clases, interfaces y traits definidos dentro de un directorio.
El resultado es un array con la estructura:
array(
'class' => array(
array(
'name' => '{nombre de la clase}'
'file' => '{nombre del archivo que la define}'
),
// ...
),
'interface' => array(
array(
'name' => '{nombre de la interfaz}'
'file' => '{nombre del archivo que la define}'
),
// ...
),
'trait' => array(
array(
'name' => '{nombre del trait}'
'file' => '{nombre del archivo que lo define}'
),
// ...
)
)
string | $dir | directorio a buscar |
boolean | $recursive | ¿buscar en subdirectorios? |
array | $php_file_extensions | extensiones de archivos que pueden contener código PHP |
array | $exclude_filenames | nombres de archivo a excluir en la búsqueda, por coincidencia exacta |
si $dir no es un directorio
package |
Librerias |
---|
xgap_get_remote_file_contents(string $url, $offset = -1, array $options = array()) : mixed
Retorna el contenido de un archivo remoto.
Requiere que esté habilitada la extensión cURL o que el parámetro de configuración de PHP allow_url_fopen sea true.
string | $url | la dirección del archivo a obtener |
$offset | ||
array | $options | array de opciones XGAP_GET_REMOTEOPT* |
si hay un error durante la operación. El {@link ExcepcionXGAP::getCode() código} es 0 si el error se produce al obtener el archivo, o 1 si no hay un método disponible para realizar la obtención.
package |
Librerias |
---|