\

Interfaces

iFirmaOperacion Interfaz para clases que permiten realizar firma electrónica de operaciones.
iOperacion Representa una operación que se puede realizar en una página de una aplicación XGAP.
iSeguridad Define la interfaz que deben implementar la clase que provee la seguridad para una aplicación.
iSeguridadConexion Interfaz que deben implementar las clases que proveen seguridad a conexiones a bases de datos.
iXgapPublicKeyInfrastructure Interfaz que deben proveer las clases de soporte de Infraestructura de Clave Pública (PKI) en XGAP.
iXgapStoredPublicKeyInfrastructure Interfaz que deben proveer las clases de soporte de Infraestructura de Clave Pública (PKI) en XGAP, que guardan en la aplicación las claves asociadas al usuario.
iXgapVarConvert Interfaz para convertir una variable en otro formato.

Classes

AdministradorHistorial AdministradorHistorial es la clase usada por el motor para manejar el historial de navegación.
AplicacionXgap Provee métodos para operar con la aplicación generada.
Auditor Auditor que escribe mensajes a un archivo.
AuditorBD Auditor que guarda los mensajes en la base de datos.
BuscadorPersonalizadoSimple Buscador personalizado simple para listados.
Calendario Clase Calendario
Componentes Contiene métodos estáticos que proveen definiciones de componentes o secciones de alto nivel de XGAP.
Conexion Clase que implementa la capa de conexión con la base de datos.
Conexion_oci8 Clase que implementa la capa de conexion con la base de datos Oracle.
Conexion_postgres8 Clase que implementa la capa de conexion con la base de datos Postgres.
Configuracion Provee métodos para trabajar con la configuración de la aplicación.
Contexto Centraliza el manejo de variables asociadas a la sesión, manteniendo separadas las variables pertenecientes a diferentes aplicaciones de XGAP.
Csv Esta clase se emplea para generar contenido CSV.
DescriptorPaginas Provee métodos estáticos para operar con los descriptores de página.
DrawPDF Clase para dibujar en un documento PDF.
ElementosPresentacion Clase con métodos estáticos, que provee elementos de presentación para el motor.
EntradaHistorial Representa un item en el historial de navegación, es decir, una página visitada.
EstructuraPagina Clase EstructuraPagina
Excel Esta clase se emplea para generar contenido Excel.
ExcepcionHistorialNavegacion Clase ExcepcionHistorialNavegacion
ExcepcionXGAP Clase base para excepciones disparadas por XGAP.
ExcepcionXGAPFirmaOperacion Indica un problema durante el procesamiento de la firma de una operación.
ExcepcionXGAPInstanciacionFirmaOperacion Indica un problema al crear una instancia de una clase que implementa {@link iFirmaOperacion}.
ExcepcionXGAPSeguridadFirmaOperacion Indica un problema de seguridad al realizar el procesamiento de la firma de una operación.
ExcepcionXGAPUnserialize Indica un error de deserialización de un valor.
ExcepcionXGAPUploadArchivo Excepción para errores producidos al procesar archivos subidos.
ExcepcionXGAPUploadDir Excepción base para indicar problemas con directorios al trabajar con uploads.
ExcepcionXGAPUploadDirNoCreable Excepción que indica que no se pudo crear un directorio.
ExcepcionXGAPUploadDirNoEscribible Excepción que indica que no se puede escribir en un directorio.
FirmaOperacion Implementación base de {@link iFirmaOperacion}.
FirmaOperacionDefault Implementación por defecto de {@link iFirmaOperacion}.
Flash Permite pasar información entre un request y el siguiente, registrándola como pares (clave => valor).
Form Clase Form
Formateo Provee métodos estáticos para aplicar formateo a valores.
FormFileUpload Permite trabajar con un archivo subido mediante un campo de formulario.
GeneradorBcompiler Compila los fuentes de la aplicación usando la extensión PECL bcompiler.
GeneradorEsquema Genera, en la subcarpeta metadatos de la aplicación, un archivo xml por cada tabla de la base que contiene los metadatos de todas las columnas
GeneradorTemplate Genera, en la subcarpeta templates de la aplicación, los archivos xml de listado, formulario y master por cada tabla de la base
HistorialNavegacion Implementa un historial de navegación, que permite mantener los URLs de las páginas visitadas.
Html Provee métodos estáticos para trabajar con elementos XHTML 1.0 estricto.
Http Esta clase provee métodos estáticos para trabajar con el protocolo HTTP.
Imagen Permite trabajar con imágenes.
INIFile Implementa toda la funcionalidad para trabajar con archivos .ini.
INIFileException Clase base para excepciones disparadas por la clase INIFile.
INIFileOpenException Excepción disparada por la clase INIFile para indicar un error en la apertura del archivo.
INIFileReadException Excepción disparada por la clase INIFile para indicar un error en la lectura del archivo.
INIFileWriteException Excepción disparada por la clase INIFile para indicar un error en la escritura del archivo.
Javascript Provee métodos para construir código Javascript.
Json Esta clase se emplea para trabajar con formato JSON.
LinkResultado Contiene información sobre un link de resultado de la generación.
ListaMensajes Representa una lista de objetos {@link ObjetoMensaje}.
Logger Define un logger simple, que escribe mensajes en un archivo de texto.
Mensaje Clase encargada de generar los diversos mensajes de la aplicación.
MensajeMotor Describe un mensaje generado por el motor.
MotorGeneracion Implementa el motor de generación de XGAP.
MotorPreparacion Implementa el motor de preparación de generación de XGAP.
MultipleFormField Clase auxiliar usada por los métodos de Form para generar un campo múltiple (uno que aparece múltiples veces en una página con el mismo nombre).
ObjetoMensaje Representa un mensaje de la aplicación.
ODFXSLTProcessor Holds an ODF-XSLT sylesheet and allows mutiple transformations to ODF using different XML documents
Operacion Representa una operación que se puede realizar en una página de una aplicación XGAP.
OperacionAgregar Representa la operación de Agregar en un formulario.
OperacionBorrar Representa la operación de Borrar en un formulario.
OperacionEditar Representa la operación de Editar (guardar cambios de edición) en un formulario.
OperacionFormulario Representa una operación que se realiza en un formulario.
Pagina Estado y comportamiento adicional para una página de la aplicación.
PasoGeneracion Define la interfaz que debe proveer un paso del proceso de generación.
ProcesadorDefiniciones Implementa el procesamiento de los archivos XML de definiciones y la generación de las páginas a partir de ellos.
Recursos Provee acceso centralizado a recursos de la aplicación.
Request Provee métodos para acceder al request.
RequestXgap Provee acceso al request específico para XGAP.
Seguridad Clase que provee la funcionalidad de seguridad de la aplicación.
SeguridadConexion Clase que provee funcionalidad de seguridad en conexiones a la base de datos.
SeguridadConexionBase Clase base para proveer funcionalidad de seguridad en conexiones a la base de datos.
SimpleChart Clase SimpleChart.
SmtpEmail Clase que permite el envío de correo electrónico vía SMTP.
Tabla Provee métodos estáticos para trabajar con tablas HTML.
Tooltips Clase destinada al manejo de tooltips en las páginas.
Upload Clase base para manejo de uploads.
Validacion Provee métodos para validar valores.
ValidadorDefiniciones Implementa la validación de la estructura de los archivos XML de definiciones.
VerificadorVersion Permite trabajar con la versión correcta del motor de acuerdo a la configuración de la aplicación.
Webservice Clase Webservice
WsInfo Clase WsInfo
XgapBarChart Gráfico de barras
XgapClassLoader Autocarga de clases e interfaces provistas por XGAP.
XgapCsrf Provee métodos de protección contra ataques de tipo CSRF.
XgapDefaultOpenSslPublicKeyInfrastructure Clase base para manejar Infraestructura de Clave Pública (PKI) usando OpenSSL y claves guardadas en formato PEM. Implementación por defecto que guarda la información en una estructura predefinida de la base de datos, por lo cual requiere una conexión.
XgapFunctionNotImplementedException Indica que una función de XGAP está definida pero no implementada.
XgapGenericFactory Fábrica genérica de objetos. Puede crear instancias de cualquier clase dada.
XgapGenericFactoryException Excepción disparada por {@link XgapGenericFactory}.
XgapIllegalStateException Indica que se invocó un método o función en un momento inapropiado, en el que la aplicación no puede realizarlo.
XgapMethodNotImplementedException Indica que un método de XGAP está definido pero no implementado.
XgapMultipleBarChart Gráfico de barras múltiples.
XgapNotImplementedException Excepción base para elementos o comportamientos definidos pero no implementados en XGAP.
XgapODFXSLTProcessorExt Extensiones a la clase ODFXSLTProcessor.
XgapOpenSslPublicKeyInfrastructure Clase base para manejar Infraestructura de Clave Pública (PKI) usando OpenSSL y claves guardadas en formato PEM.
XgapPublicKeyInfrastructure Clase base para manejar Infraestructura de Clave Pública (PKI).
XgapPublicKeyInfrastructureCheckException Indica que una clave no tiene un formato reconocido.
XgapPublicKeyInfrastructureException Indica un problema en una operación de la infraestructura de clave pública provista por XGAP.
XgapPublicKeyInfrastructureInstantiationException Indica un error al crear una instancia.
XgapPublicKeyInfrastructureKeyMismatchException Indica que la clave privada y la pública/certificado no se corresponden entre sí.
XgapPublicKeyInfrastructureKeyUnavailableException Indica que se intentó realizar una operación que requiere una clave que no ha sido cargada.
XgapPublicKeyInfrastructureLoadException Indica un problema al cargar una clave.
XgapPublicKeyInfrastructureMissingInfoException Indica que no se contó con toda la información necesaria para realizar una operación.
XgapPublicKeyInfrastructureOperationException Indica un problema genérico al realizar una operación.
XgapPublicKeyInfrastructureOwnerMismatchException Indica el usuario asociado al objeto no corresponde con el asociado a la clave o certificado en el sistema.
XgapPublicKeyInfrastructureUnavailableException Indica que una clase u operación no está disponible para usar.
XgapRand Provee métodos para trabajar con valores pseudo-aleatorios.
XgapTableArray Provee métodos para operar con arrays tratándolos como tablas de datos.
XgapVarConvertExported Codifica variables PHP usando {@link var_export()}.
XgapVarConvertJson Codificación de variables PHP en formato JSON.
XgapVarConvertSerialize Codifica variables PHP en {@link serialize() formato serializado}.
XgapVarConvertXml Codificación de variables PHP en formato XML.
XgapVarConvertXmlDecodeParser Clase auxiliar para XgapVarConvertXml.
XgapXml Provee métodos para trabajar con XML.
XgapXmlArray Permite construir arrays en el formato esperado por {@link XgapXml::arrayToString()}.

Constants

$nombre_constante

$nombre_constante

ADODB_OUTP

ADODB_OUTP

Se indica a ADODB que utilice la función xgap_adodb_outp() en ADOConnection::outp().

APP_DIR

APP_DIR

APP_DIR

APP_DIR

APP_ROOT

APP_ROOT

APPS_DIR

APPS_DIR

Directorio raíz de los fuentes de las aplicaciones

APPS_ROOT

APPS_ROOT

Ruta para acceder a las aplicaciones en el servidor web Vacío significa que la aplicación queda en la raíz del servidor

ARCH_DESC_CONF

ARCH_DESC_CONF

ARCHIVO_CONF_SUBPATH

ARCHIVO_CONF_SUBPATH

DIR_SEP

DIR_SEP

Separador de directorios en la plataforma ('/' en Linux, '\\\\' en Windows)

DIRECTORY_MASK

DIRECTORY_MASK

Máscara a aplicar a los directorios generados

FILE_MASK

FILE_MASK

Máscara a aplicar a los archivos generados

FULL_APP_DIR

FULL_APP_DIR

MOTORES_SUBDIR

MOTORES_SUBDIR

MOTORES_SUBDIR

MOTORES_SUBDIR

Subdirectorio de XGAP_DIR donde se pueden encontrar las versiones de motor

MOTORES_SUBDIR

MOTORES_SUBDIR

Subdirectorio que contiene los motores.

NOMBRE_APP

NOMBRE_APP

Constantes definidas en el xgap.php generado

NOMBRE_INDICE

NOMBRE_INDICE

Nombre del archivo que guarda el índice generado

OUT_DIR

OUT_DIR

Directorio donde se generan las aplicaciones

PARAMETRO_ESTRUCTURA_PAGINA_SIMPLE

PARAMETRO_ESTRUCTURA_PAGINA_SIMPLE

Nombre del parámetro de request que se utiliza para indicar si la página debe ser simple o no.

PARAMETRO_HISTORIAL

PARAMETRO_HISTORIAL

Nombre del parámetro de request que se utiliza para enviar comandos al historial.

PARAMETRO_HISTORIAL_CMD_BACK

PARAMETRO_HISTORIAL_CMD_BACK

Nombre del parámetro de request que se utiliza para indicar al historial la cantidad de pasos que debe retroceder, cuando PARAMETRO_HISTORIAL incluye el comando 'back'.

PARAMETRO_HISTORIAL_CMD_RESTORE_DST

PARAMETRO_HISTORIAL_CMD_RESTORE_DST

Indica el URL de la entrada del historial a la que se debe volver, cuando PARAMETRO_HISTORIAL incluye el comando 'restore'.

Notar que debe ser el URL completo, incluyendo parámetros GET.

PARAMETRO_HISTORIAL_UPDATE_IGNORE

PARAMETRO_HISTORIAL_UPDATE_IGNORE

Nombre del parámetro de request que se utiliza para pasar al historial una lista de parámetros que se deben ignorar en un comando update.

PARAMS_EXCLUIDOS_POR_DEFECTO

PARAMS_EXCLUIDOS_POR_DEFECTO

PARAMS_EXCLUIDOS_POR_DEFECTO_LISTADO_SELECCION

PARAMS_EXCLUIDOS_POR_DEFECTO_LISTADO_SELECCION

PREF_INCLUIR_ITEM

PREF_INCLUIR_ITEM

PREF_TIPO_ITEM

PREF_TIPO_ITEM

PREF_VALOR_ITEM

PREF_VALOR_ITEM

PREFIJO_PARAM_EXCLUIDO_POR_DEFECTO

PREFIJO_PARAM_EXCLUIDO_POR_DEFECTO

Prefijo para nombres de parámetros que deben quedar exluidos por defecto.

Se suman a los especificados explícitamente en PARAMS_EXCLUIDOS_POR_DEFECTO.

PREFIJO_PARAMETRO_XGAP

PREFIJO_PARAMETRO_XGAP

self::PREFIJO_PARAM_CONF . PREFIJO_DIRECTORIO

self::PREFIJO_PARAM_CONF . PREFIJO_DIRECTORIO

self::PREFIJO_PARAM_CONF . PREFIJO_WEB

self::PREFIJO_PARAM_CONF . PREFIJO_WEB

SEP_PARTES_ID_ITEM

SEP_PARTES_ID_ITEM

SERIALIZED_FALSE

SERIALIZED_FALSE

Valor booleano false serializado.

WS_ER

WS_ER

WS_OK

WS_OK

XGAP_ARCHIVO_DESCRIPCION_SEGURIDAD

XGAP_ARCHIVO_DESCRIPCION_SEGURIDAD

Nombre del archivo que describe los elementos de seguridad, relativo a la raíz del motor en uso.

XGAP_CONF_APLICACION

XGAP_CONF_APLICACION

XGAP_CONF_BASE

XGAP_CONF_BASE

XGAP_CONF_CODIFICACION_CLIENTE

XGAP_CONF_CODIFICACION_CLIENTE

XGAP_CONF_PASSWORD

XGAP_CONF_PASSWORD

XGAP_CONF_PREFIJO_DIRECTORIO

XGAP_CONF_PREFIJO_DIRECTORIO

XGAP_CONF_SAL_HASHES

XGAP_CONF_SAL_HASHES

XGAP_CONF_SERVIDOR

XGAP_CONF_SERVIDOR

Configuración requerida para un entorno de ejecución básico.

XGAP_CONF_UPLOAD_DIR

XGAP_CONF_UPLOAD_DIR

XGAP_CONF_USUARIO

XGAP_CONF_USUARIO

XGAP_CONF_VERSION_ADODB

XGAP_CONF_VERSION_ADODB

XGAP_CONF_VERSION_APLICACION

XGAP_CONF_VERSION_APLICACION

XGAP_CONF_VERSION_XGAP

XGAP_CONF_VERSION_XGAP

XGAP_DIR

XGAP_DIR

Directorio raíz de XGAP

XGAP_FIRMADO_OPERACIONES_HABILITADO

XGAP_FIRMADO_OPERACIONES_HABILITADO

XGAP_GENERANDO

XGAP_GENERANDO

XGAP_GET_REMOTE_OPT_EXCLUDE_CURL

XGAP_GET_REMOTE_OPT_EXCLUDE_CURL

[boolean] Si es TRUE, evita que la operación se realice usando cURL.

XGAP_GET_REMOTE_OPT_EXCLUDE_FOPEN

XGAP_GET_REMOTE_OPT_EXCLUDE_FOPEN

[boolean] Si es TRUE, evita que la operación se realice usando fopen.

XGAP_GET_REMOTE_OPT_TIMEOUT

XGAP_GET_REMOTE_OPT_TIMEOUT

[float] Tiempo máximo en segundos que puede tomar unas operación de obtención de archivo remoto.

XGAP_JSON_ENCODED_NULL

XGAP_JSON_ENCODED_NULL

PHP NULL codificado en JSON.

XGAP_LOCAL_CONF_FILE_BASENAME

XGAP_LOCAL_CONF_FILE_BASENAME

Nombre sin ruta del archivo donde se pueden definir configuraciones de XGAP locales a la instalación.

XGAP_MOTOR_DIR_PLANTILLAS

XGAP_MOTOR_DIR_PLANTILLAS

Subdirectorio del motor de XGAP donde se guardan las plantillas.

XGAP_ROOT

XGAP_ROOT

Ruta para acceder a XGAP en el servidor web

XGAP_SEGURIDAD_ . strtoupper($tipoPagina) . _ . strtoupper($accion)

XGAP_SEGURIDAD_ . strtoupper($tipoPagina) . _ . strtoupper($accion)

XGAP_TIMESTAMP_GEN

XGAP_TIMESTAMP_GEN

XGAP_VERSION_MOTOR

XGAP_VERSION_MOTOR

Número de versión del motor.

Esquema:

2.x.y.z
^ ^ ^ ^
| | | +- Revisión
| | +--- Versión menor
| +----- Versión mayor
+------- Versión principal
  • Versión principal: Sólo varía si hay una reestructuración completa de la implementación, un cambio importante de tecnologías usadas o alguna otra modificación que implique un abandono total de la compatibilidad con versiones previas.
  • Versión mayor: Varía si hay un agregado importante de funcionalidad o si hay cambios que puedan tener problemas de compatibilidad con versiones anteriores.
  • Versión menor: Varía si hay agregados menores de funcionalidad o cambios que no representen problemas de compatibilidad.
  • Revisión: Número de revisión de la versión. Si entre dos releases sólo cambia el número de revisión, indica que se hicieron correcciones de bugs pero no se agregó ni modificó funcionalidad. Actualmente se usa el número de revisión en el repositorio SVN, pero esta práctica puede cambiar en el futuro.

XGAP_VERSION_MOTOR_GEN

XGAP_VERSION_MOTOR_GEN

Functions

_copyr()

_copyr(  $parent_path,   $source,   $dest,   $directory_mask,   $file_mask,   $dir_sep,   $skip,   $skip_paths_re) 

Parameters

$parent_path
$source
$dest
$directory_mask
$file_mask
$dir_sep
$skip
$skip_paths_re

_find_classes_in_dir()

_find_classes_in_dir(  $dir,   $recursive,   $php_file_extensions,   $exclude_filenames) 

Parameters

$dir
$recursive
$php_file_extensions
$exclude_filenames

_mostrar_navegacion()

_mostrar_navegacion(string  $posicion) 

Parameters

string $posicion

ElementosPresentacion::POS_BARRANAVEGACION*

abrir_pagina()

abrir_pagina(string  $titulo, boolean  $usar_tooltips = false) 

Parameters

string $titulo
boolean $usar_tooltips

agregarParametrosAUrl()

agregarParametrosAUrl(string  $url, array  $parametros = array(), boolean  $escapar_caracteres = true) : string

Agrega parámetros al final de un URL.

Parameters

string $url
array $parametros
boolean $escapar_caracteres

¿se deben traducir a entidades HTML los caracteres que tengan una traducción?

Returns

string

array_diff_key()

array_diff_key() 

Reemplazo de la función de PHP del mismo nombre, disponible sólo a partir de PHP 5.1

array_tiene_vacios()

array_tiene_vacios(array  $arr, boolean  $cero_es_vacio, boolean  $trim, boolean  $recursivo) : boolean

Permite comprobar si un array tiene al menos un valor vacío.

Parameters

array $arr

el array a comprobar

boolean $cero_es_vacio

¿el cero se considera vacío? Tiene en cuenta tanto 0 (numérico) como '0' (string)

boolean $trim

¿recortar los blancos en los extremos de los valores, en caso que sean de tipo string?

boolean $recursivo

¿se deben comprobar recursivamente los subarrays?

Returns

boolean —

true si ningún valor dentro de $arr es vacío

array_vacio()

array_vacio(array  $arr, boolean  $cero_es_vacio, boolean  $trim, boolean  $recursivo) : boolean

Permite comprobar si un array tiene solamente valores vacíos.

Parameters

array $arr

el array a comprobar

boolean $cero_es_vacio

¿el cero se considera vacío? Tiene en cuenta tanto 0 (numérico) como '0' (string)

boolean $trim

¿recortar los blancos en los extremos de los valores, en caso que sean de tipo string?

boolean $recursivo

¿se deben comprobar recursivamente los subarrays?

Returns

boolean —

true si todos los valores de $arr son vacíos

cargar_configuracion()

cargar_configuracion(array  $nodoConfiguracion, string  $funcion_cargar_item, string  $funcion_valor_item) : array

Parameters

array $nodoConfiguracion
string $funcion_cargar_item
string $funcion_valor_item

Returns

array

cargar_configuracion_desde_archivo()

cargar_configuracion_desde_archivo(array  $nodoConfiguracion) : array

Parameters

array $nodoConfiguracion

Returns

array

cargar_item_desde_constante()

cargar_item_desde_constante(\DomNode  $nodoItem) : boolean

Usada en $funcion_cargar_item de cargar_configuracion().

Parameters

\DomNode $nodoItem

Returns

boolean

cargar_item_desde_default()

cargar_item_desde_default(\DomNode  $nodoItem) : boolean

Usada en $funcion_cargar_item de cargar_configuracion().

Parameters

\DomNode $nodoItem

Returns

boolean

cargar_plantillas()

cargar_plantillas(  $plantillas) 

Carga en <var>$plantillas</var> los datos de plantillas disponibles.

Parameters

$plantillas

array

ceroCompletion()

ceroCompletion(  $numero,   $total) 

Parameters

$numero
$total

cerrar_pagina()

cerrar_pagina() 

color_hexrgb()

color_hexrgb(string  $strcolor) : array

Parsea un color RGB dado como un string en formato hexadecimal (RRGGBB) y devuelve sus componentes.

Por ejemplo: $rgb = color_hexrgb('0369CF'); // $rgb == array(0x03, 0x69, 0xCF) -- R: 3, G: 105, B: 207

Parameters

string $strcolor

Returns

array —

un array con los tres componentes R, G y B en ese orden, o false si $strcolor no representa un color válido

color_rgb()

color_rgb(string  $strcolor) : array

Parsea un color RGB dado como un string con valores decimales separados por comas (r,g,b) y devuelve sus componentes.

Los componentes deben estar este 0 y 255.

Por ejemplo: $rgb = color_rgb('6,96,192'); // $rgb == array(6, 96, 192) -- R: 6, G: 96, B: 192

Parameters

string $strcolor

el valor a parsear; puede haber blancos entre los números y las comas

Returns

array —

un array con los tres componentes R, G y B en ese orden, o false si $strcolor no representa un color válido

comparacion_fecha()

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'.

Parameters

string $fecha1
string $fecha2

Returns

integer —

un timestamp de Unix

construir_id_item()

construir_id_item(string  $seccion, string  $item, string  $prefijo) : string

Parameters

string $seccion
string $item
string $prefijo

Returns

string

copyr()

copyr(string  $source, string  $dest, mixed  $directory_mask = 493, mixed  $file_mask = 384, string  $dir_sep = '/', array  $skip = array('.', '..', '.svn', 'CVS', '.cvsignore', '.git', '.gitignore'),   $skip_paths = array()) : boolean

Copia a $dest los contenidos del árbol de directorios con raíz en $source.

Parameters

string $source

directorio origen

string $dest

directorio destino; se crea si no existe

mixed $directory_mask
mixed $file_mask
string $dir_sep
array $skip

nombres de archivos y directorios a ignorar; no se tiene en cuenta la ruta, es decir que se ignoran en cualquier rama del árbol

$skip_paths

Returns

boolean —

resultado de la operación

corregir_falso_escape_entidades()

corregir_falso_escape_entidades(String  $str) : String

Soluciona el problema que ocurre al aplicar {@link htmlentities()} a un string más de una vez.

Por ejemplo, si $str = '&amp;oacute;', el resultado es 'ó'.

Parameters

String $str

Returns

String

crear_configuracion_con_defaults()

crear_configuracion_con_defaults(string  $archConf, array  $nodoConfiguracion) : array

Parameters

string $archConf
array $nodoConfiguracion

Returns

array

crear_lista_submensajes()

crear_lista_submensajes(array  $submensajes, array  $filtro = null) 

Parameters

array $submensajes
array $filtro

crearDireccionPagina()

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.

Parameters

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;
por ejemplo, si $parametros = array('k1'=>'v_1','k2'=>array('v 2a','v 2b')), entonces el resultado es: $pagina?k1=v_1&k2%5B1%5D=v+2a&k2%5B1%5D=v+2b (es decir, $pagina?k1=v_1&k2[]=v 2a&k2[]=v 2b).

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?

Returns

string

direccionAbsolutaPagina()

direccionAbsolutaPagina(  $pagina) : string

Devuelve la dirección absoluta de <var>$pagina</var>.

Si $pagina ya contiene una dirección absoluta (comienza en '/'), la retorna sin modificaciones.

Asume que $pagina es relativa a la página actual y que contiene sólo una ruta, no un URL completo.

Parameters

$pagina

nombre de la página; por ejemplo 'index.php' o 'subdir/index.php'

Returns

string —

la dirección absoluta; por ejemplo '/aplicacion/index.php'

direccionSinConsulta()

direccionSinConsulta(string  $direccion) : string

Devuelve la dirección dada, sin la parte de la consulta, si la tuviera.

Ejemplos:

direccionSinConsulta('/localhost/index.php'); // == '/localhost/index.php' direccionSinConsulta('/localhost/index.php?x=0&y=0'); // == '/localhost/index.php'

Parameters

string $direccion

Returns

string

dividir_id_item()

dividir_id_item(string  $id) : array

Parameters

string $id

Returns

array

empty2()

empty2(mixed  $v, boolean  $cero_es_vacio = false, boolean  $trim = false) : boolean

Permite determinar si una variable se considera vacía.

Esta función tiene semántica similar a \empty() de PHP estándar, pero provee algo de flexibilidad para definir lo que se considera vacío.

Parameters

mixed $v

el valor a comprobar

boolean $cero_es_vacio

¿el cero se considera vacío? Tiene en cuenta tanto 0 (numérico) como '0' (string)

boolean $trim

¿recortar los blancos de los extremos, en caso que $v sea un string?

Returns

boolean

enviar_por_post()

enviar_por_post(  $destino,   $params = array()) 

Genera un documento HTML que redirige a otra página usando una solicitud POST.

Parameters

$destino
$params

ereg_multi()

ereg_multi(mixed  $patterns, string  $string) : mixed

Tiene el mismo comportamiento y valores de retorno que {@link ereg()}, pero si <var>$patterns</var> es un array, hace match en <var>$string</var> con cualquiera de sus elementos.

Parameters

mixed $patterns

patrones a buscar

string $string

el string donde se va a buscar

Returns

mixed —

la longitud del match o false

es_array_asociativo()

es_array_asociativo(array  $array) : boolean

Permite comprobar si un array es puramente asociativo, es decir, si <i>todas</i> sus claves son strings.

Parameters

array $array

Returns

boolean

es_array_indexado()

es_array_indexado(array  $array) : boolean

Permite comprobar si un array es indexado, es decir, si <i>todas</i> sus claves son numéricas.

Parameters

array $array

Returns

boolean

es_array_indexado_secuencial()

es_array_indexado_secuencial(array  $array) : boolean

Permite comprobar si un array es secuencialmente indexado, es decir, si sus claves forman una secuencia numérica que comienza en 0 e incrementa en 1 por cada valor.

Parameters

array $array

Returns

boolean

es_ip_valido()

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.

Parameters

string $ip

Returns

boolean

es_param_incluir()

es_param_incluir(string  $param) : integer

Parameters

string $param

Returns

integer

esDireccionInterna()

esDireccionInterna(String  $direccion) : boolean

Permite comprobar si una dirección dada es interna a la aplicación.

Las reglas que sigue son:

  1. Si la dirección contiene el esquema (por ejemplo, 'http://...') se considera externa. Se detecta si $direccion contiene un caracter ':'.
  2. Si la dirección no contiene un path (es sólo un nombre de página), se considera interna. Se detecta por la ausencia de caracter '/'.
  3. Si la dirección comienza con el directorio raíz de la aplicación ([Configuracion::raizAplicacion()](../classes/Configuracion.html#method_raizAplicacion)), se considera interna.

Parameters

String $direccion

Returns

boolean

esParametroExcluido()

esParametroExcluido(string  $param, string  $excluidos) : boolean

Parameters

string $param

nombre del parámetro

string $excluidos

lista de parámetros excluidos separados por blancos

Returns

boolean

esParametroXgap()

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.

Parameters

string $str

nombre de parámetro a comprobar

Returns

boolean

esUTF8()

esUTF8(string  $string) : boolean

Permite comprobar si un string está codificado en UTF-8.

Parameters

string $string

Returns

boolean

existeParametroXgapEnRequest()

existeParametroXgapEnRequest(string  $nombre) : boolean

Permite comprobar si en el request hay un parámetro de XGAP de nombre <var>$nombre</var>.

Parameters

string $nombre

Returns

boolean

extraer_directorio_pagina()

extraer_directorio_pagina(string  $pagina = null) : string

Retorna la ruta de una página, excluyendo la propia página; es decir, retorna el directorio.

Si $pagina es vacío, retorna la ruta de la página actual.

Ejemplos:

extraer_directorio_pagina('recurso') == extraer_directorio_pagina('pagina.php') == ''; extraer_directorio_pagina('/dir/') == '/dir'; extraer_directorio_pagina('/dir/pagina.php') == '/dir'; extraer_directorio_pagina('http://localhost/dir1/dir2/dir3/recurso') == '/dir1/dir2/dir3';

Parameters

string $pagina

Returns

string —

el directorio de la página sin '/' final (excepto que el directorio sea '/')

find_classes_in_dir()

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}' ), // ... ) )

Parameters

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

Throws

\InvalidArgumentException

si $dir no es un directorio

Returns

array

formatear_rtf()

formatear_rtf(string  $cadena) : string

Reemplaza entidades HTML en <var>$cadena</var> por los caracteres correspondientes.

Parameters

string $cadena

Returns

string

generar_botonera()

generar_botonera(string  $sufijo) 

Parameters

string $sufijo

generar_configuracion()

generar_configuracion(string  $aplicacion, array  $conf) 

Parameters

string $aplicacion
array $conf

generar_item()

generar_item(string  $nombre_seccion, array  $item) 

Parameters

string $nombre_seccion
array $item

generar_nav_configuracion()

generar_nav_configuracion(array  $conf) 

Parameters

array $conf

generar_seccion()

generar_seccion(string  $nombre_seccion, array  $seccion) 

Parameters

string $nombre_seccion
array $seccion

guardar_configuracion()

guardar_configuracion(array  $params, string  $archconf) : boolean

Guarda en $archconf todos los parámetros con valor no nulo de $params.

Parameters

array $params
string $archconf

Returns

boolean

hora_ultima_generacion()

hora_ultima_generacion(string  $archivo) : integer

Retorna la hora de última generación de $archivo, o 0 si el archivo no existe.

Parameters

string $archivo

Returns

integer —

un timestamp de Unix

info_tipos_pagina_xgap()

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 ), ... ) ), ... )

Throws

\ExcepcionXGAP

si no se puede cargar la información

Returns

array

limpiar_array()

limpiar_array(array  $array, boolean  $trim = false) : array

Elimina del array dado todas las entradas con valor vacío.

Los valores 0 y \array() no se consideran vacíos.

Parameters

array $array
boolean $trim

¿las cadenas compuestas por blancos se deben considerar vacías?

Returns

array

limpiar_vacios_array()

limpiar_vacios_array(array  $array, boolean  $trim = false) : array

Elimina del array dado todas las entradas con valor vacío.

Los valores vacíos se determinan usando \empty().

Parameters

array $array
boolean $trim

¿las cadenas compuestas por blancos se deben considerar vacías?

Returns

array

matrix_2d_transpose()

matrix_2d_transpose(array  $matrix) : array

Transpone una matriz bidimensional, es decir, intercambia los índices de sus filas y columnas.

Ejemplo:

$m = array( array('a' => 'a0', 'b' => 'b0', 'c' => 'c0'), array('a' => 'a1', 'b' => 'b1', 'c' => 'c1'), array('a' => 'a2', 'b' => 'b2', 'c' => 'c2'), array('a' => 'a3', 'b' => 'b3', 'c' => 'c3'), array('a' => 'a4', 'b' => 'b4', 'c' => 'c4') ); $m1 = matrix_2d_transpose($m); // $m1 === array( // 'a' => array(0 => 'a0', 1 => 'a1', 2 => 'a2', 3 => 'a3', 4 => 'a4'), // 'b' => array(0 => 'b0', 1 => 'b1', 2 => 'b2', 3 => 'b3', 4 => 'b4'), // 'c' => array(0 => 'c0', 1 => 'c1', 2 => 'c2', 3 => 'c3', 4 => 'c4') // )

También se puede usar aunque no todas las celdas tengan valores.

Ejemplo:

$m = array( array('a' => 'a0'), array('a' => 'a1', 'c' => 'c1'), array('c' => 'c2'), array('a' => 'a3', 'b' => 'b3', 'c' => 'c3'), array() ); $m1 = matrix_2d_transpose($m); // $m1 === array( // 'a' => array(0 => 'a0', 1 => 'a1', 3 => 'a3'), // 'b' => array(3 => 'b3'), // 'c' => array(1 => 'c1', 2 => 'c2', 3 => 'c3') // )

Parameters

array $matrix

la matriz original

Throws

\DomainException

si $matrix no corresponde a una matriz válida, es decir, si no es un array o alguno de sus elementos no es un array

Returns

array —

la matriz transpuesta

mkpath()

mkpath(string  $path) 

Intenta crear un directorio con $path.

Si $path contiene varios directorios, crea cada uno ellos.

Parameters

string $path

mostrar_lista_mensajes()

mostrar_lista_mensajes(array  $mensajes, array  $filtro = null) 

Parameters

array $mensajes
array $filtro

mostrar_mensaje()

mostrar_mensaje(\MensajeMotor  $msj, integer  $pos) 

Parameters

\MensajeMotor $msj
integer $pos

nombre_archivo_saneado()

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.

Parameters

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 '_')

Returns

string —

el nombre saneado

nombre_constante()

nombre_constante(string  $nombre_item) : string

Parameters

string $nombre_item

Returns

string

nombre_seccion_salida()

nombre_seccion_salida(string  $nombre_seccion) : string

Parameters

string $nombre_seccion

Returns

string

nombre_sin_path()

nombre_sin_path(string  $archivo) : string

Dado un nombre de archivo con path retorna solo el nombre del archivo.

Parameters

string $archivo

Returns

string

obtener_listado_archivos()

obtener_listado_archivos(string  $dir, string  $extension = 'xml', integer  $timestamp_minimo, string  $excluir = null) : array

Lista todos los archivos en un directorio que tienen la extensión dada en <var>$extension</var>.

Esta función no escanea los subdirectorios.

Parameters

string $dir

nombre del directorio a listar

string $extension

extensión de los archivos a devolver; no se admite un valor vacío

integer $timestamp_minimo

timestamp (unix) que debe superar la fecha de última modificación de un archivo para que se incluya entre los devueltos

string $excluir

expresión regular que indica patrones de nombres que se deben excluir del resultado; no tiene en cuenta mayúsculas y minúsculas

Returns

array —

nombres de los archivos dentro de $dir que cumplen las condiciones

obtener_listado_archivos_por_patron()

obtener_listado_archivos_por_patron(string  $dir, string  $patron = 'xml', string  $excluir = null, boolean  $case_sensitive = false) : array

Lista todos los archivos en un directorio que tienen el patrón de nombre dado.

Esta función no escanea los subdirectorios.

Los parámetros $patron y $excluir deben ser expresiones regulares PCRE que no incluyan delimitadores ni el caracter '/'.

Parameters

string $dir

nombre del directorio a listar

string $patron

expresion regular que define los archivos a filtrar

string $excluir

expresión regular que indica patrones de nombres que se deben excluir del resultado

boolean $case_sensitive

¿se deben tener en cuenta mayúsculas y minúsculas en los nombres de archivo?

Returns

array —

nombres de los archivos dentro de $dir que cumplen las condiciones

paginaActual()

paginaActual() : string

Retorna el nombre de la página actual, sin la ruta.

Returns

string

param2boolean()

param2boolean(mixed  $param) : boolean

Permite convertir un valor dado en un booleano, de acuerdo a las siguientes reglas:

  • si $param es null, el resultado es false
  • si $param es un string, el resultado es false sólo si tiene uno de los valores 'false', 'no', '0' o la cadena vacía; es true en cualquier otro caso; se ignoran mayúsculas y minúsculas y los blancos antes y después
  • si $param no es un string, se usa la conversión estándar de PHP (referencia)

Parameters

mixed $param

valor a convertir

Returns

boolean —

$param transformado en un valor booleano

parametrosACondicion()

parametrosACondicion() : string

Genera una condición SQL con ANDs de todos los {@link esParametroXgap() parámetros XGAP} en <var>$_REQUEST</var>.

Returns

string

parametrosParaPasar()

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.

Parameters

string $excluidos

lista separada por espacios de los nombres de los parámetros a excluir

boolean $quitar_entidad

Returns

array

preparar_array_salida()

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().

Parameters

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()}?

preparar_parametros_imagen()

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=null
  • 'img/milogo.png&100x30' --> $img='img/milogo.png', $ancho=100, $alto=30, $x=$y=null
  • 'img/milogo.png&100x@15' --> $img='img/milogo.png', $ancho=100, $x=15, $alto=$y=null
  • 'img/milogo.png&100x30@15x20' --> $img='img/milogo.png', $ancho=100, $alto=30, $x=15, $y=20
  • 'img/milogo.png&x@15' --> $img='img/milogo.png', $x=15, $ancho=$alto=$y=null

Parameters

string $params

parámetros de la imagen

$img
$ancho
$alto
$x
$y

preparar_params()

preparar_params(string  $aplicacion) : array

Parameters

string $aplicacion

Returns

array

preparar_salida()

preparar_salida(  $str,   $tags_permitidos = array(),   $compactar_blancos = null,   $traducir_html = false,   $traducir_extras = true) 

Parameters

$str
$tags_permitidos
$compactar_blancos
$traducir_html
$traducir_extras

prepararParametrosPagina()

prepararParametrosPagina(  $filtros,   $filtrosPersonalizados,   $parametros,   $urlRetorno) : array

Devuelve un arreglo con todos los parámetros consolidados.

Parameters

$filtros
$filtrosPersonalizados
$parametros
$urlRetorno

Returns

array

presentar_configuracion()

presentar_configuracion(array  $params) 

Parameters

array $params

propiedad_plantilla()

propiedad_plantilla(string  $tipo, string  $variedad, string  $propiedad, string  $grupo = 'variedades') : mixed

Permite obtener un valor de una definición de plantilla.

Parameters

string $tipo

tipo de plantilla ('listado', 'formulario', ...)

string $variedad

nombre de la variedad dentro del tipo

string $propiedad

nombre de la propiedad a obtener

string $grupo

grupo de plantillas dentro del tipo ('variedades', 'extras')

Returns

mixed

recuperar_accion()

recuperar_accion() : string

Returns

string

recuperarParametros()

recuperarParametros(  $excluidos = PARAMS_EXCLUIDOS_POR_DEFECTO) 

Alias de parametrosParaPasar().

Parameters

$excluidos

recuperarParametrosComoOcultos()

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'.

Parameters

string $excluidos

lista separada por espacios de los nombres de los parámetros a excluir

Returns

string

recuperarValorSinPuntos()

recuperarValorSinPuntos(string  $valor) : string

Dado un valor numérico representado como un string, retorna la parte entera.

Parameters

string $valor

Returns

string

registrarParametros()

registrarParametros() 

RTFDefinicion()

RTFDefinicion() : string

Returns

string

RTFEncabezado()

RTFEncabezado(array  $encabezado, array  $justificado, array  $ancho) : string

Los tres arrays deben tener el mismo tamaño.

Parameters

array $encabezado
array $justificado
array $ancho

Returns

string

RTFFooter()

RTFFooter(string  $orientacion) : string

Parameters

string $orientacion

Returns

string

RTFHeader()

RTFHeader(string  $titulo, string  $orientacion) : string

Parameters

string $titulo
string $orientacion

Returns

string

RTFMensajePorDefecto()

RTFMensajePorDefecto() : string

Returns

string

RTFRegistro()

RTFRegistro(array  $registro, array  $justificado, array  $ancho) : string

Los tres arrays deben tener el mismo tamaño.

Parameters

array $registro
array $justificado
array $ancho

Returns

string

RTFTotal()

RTFTotal(array  $registro, array  $justificado, array  $ancho) : string

Los tres arrays deben tener el mismo tamaño.

Parameters

array $registro
array $justificado
array $ancho

Returns

string

ruta_archivo()

ruta_archivo(array  $componentes, string  $dir_sep = DIR_SEP, boolean  $separador_dir_final = false) : string

Retorna una ruta de archivo construida a partir de sus componentes.

Los componentes pueden representar subrutas, como por ejemplo 'r2/r3/r4'.
Es indistinto que los componentes empiecen o terminen con el separador de directorios, dado que la ruta final va a contener los componentes separados por un único separador.
La excepción es el primer componente, en el que se respeta la existencia o no de separador inicial.

Ejemplos:

ruta_archivo(DIR_SEP) == ruta_archivo(array(DIR_SEP)) == DIR_SEP; ruta_archivo(array('a', 'b', 'c.txt'), '/', false) == 'a/b/c.txt'; ruta_archivo(array('a', 'b', 'c'), '/', true) == 'a/b/c/'; ruta_archivo(array('/a', '/b/c/d/', '/archivo.txt'), '/', false) == '/a/b/c/d/archivo.txt';

Parameters

array $componentes

los componentes de la ruta, dados en el orden del arreglo

string $dir_sep

el separador de directorios a usar

boolean $separador_dir_final

¿la ruta devuelta debe terminar en el separador de directorios?

Throws

\ExcepcionXGAP

si alguno de los componentes, a excepción del primero, es vacío, contiene sólo espacios o sólo separadores de directorio

Returns

string —

la ruta, o el string vacío si $componentes está vacío

str_ends_with()

str_ends_with(string  $haystack, string  $needle) : boolean

Permite comprobar si un string termina con otro, teniendo en cuenta mayúsculas/minúsculas.

Parameters

string $haystack

string donde se debe buscar

string $needle

string a buscar al final de $haystack

Returns

boolean

str_iends_with()

str_iends_with(string  $haystack, string  $needle) : boolean

Permite comprobar si un string termina con otro, sin tener en cuenta mayúsculas/minúsculas.

Parameters

string $haystack

string donde se debe buscar

string $needle

string a buscar al final de $haystack

Returns

boolean

str_istarts_with()

str_istarts_with(string  $haystack, string  $needle) : boolean

Permite comprobar si un string empieza con otro, sin tener en cuenta mayúsculas/minúsculas.

Parameters

string $haystack

string donde se debe buscar

string $needle

string a buscar al principio de $haystack

Returns

boolean

str_starts_with()

str_starts_with(string  $haystack, string  $needle) : boolean

Permite comprobar si un string empieza con otro, teniendo en cuenta mayúsculas/minúsculas.

Parameters

string $haystack

string donde se debe buscar

string $needle

string a buscar al principio de $haystack

Returns

boolean

string_a_valor()

string_a_valor(string  $valor, string  $tipo) : mixed

Parameters

string $valor
string $tipo

Returns

mixed —

$valor convertido al tipo $tipo

strpos_multi()

strpos_multi(string  $haystack, mixed  $needles) : array|false

Tiene el mismo comportamiento y valores de retorno que {@link strpos()}, pero si <var>$needles</var> es un array, compara con cada uno de sus elementos hasta que encuentra una coincidencia.

Ejemplo:

strpos_multi('abdefgh', array('cf', 123, 'efg')) == array(2, 3)

Parameters

string $haystack

el string donde se va a buscar

mixed $needles

valores a buscar

Returns

array|false —

Si ningún valor de $needles coincide con $haystack, devuelve false. Si alguno coincide, devuelve un array con dos valores; el primero es la clave del elemento de $needles que coincidió; el segundo es la posición de $haystack donde empezó la coincidencia.

strptime2()

strptime2(string  $valor, boolean  $incluye_tiempo,   $incluye_segundos = false) : array

Reemplazo de la función estándar {@link strptime()} de PHP.

La función \strptime() de PHP sólo está disponible a partir de PHP 5.1, y no en Windows. Esta función es un reemplazo específico para las necesidades del sistema.

Parameters

string $valor
boolean $incluye_tiempo

¿$valor incluye la hora?

$incluye_segundos

Throws

\Exception

si la fecha no tiene el formato correcto

Returns

array —

ver valor de retorno de {@link strptime()}

tipo_pagina()

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.

Parameters

string $pagina

dirección de la página; puede o no incluir ruta y/o cadena de consulta

Throws

\ExcepcionXGAP

si hay un error al leer el archivo descriptor de seguridad (XGAP_ARCHIVO_DESCRIPCION_SEGURIDAD)

Returns

string —

el tipo de $pagina; si no corresponde a un tipo conocido, devuelve null

uniformizar_separadores_directorio()

uniformizar_separadores_directorio(string  $ruta, string  $dir_sep = DIR_SEP) : string

Asegura que todos los separadores de directorio en <var>$ruta</var> sean <var>$dir_sep</var>.

El resultado es $ruta, con las secuencias del separador alternativo por reemplazadas por $dir_sep, es decir, '+' por '/' o '/+' por '\'.

Si $dir_sep no es '/+' o '+', retorna $ruta sin modificar.

Parameters

string $ruta

la ruta a uniformizar

string $dir_sep

el separador de directorios a usar

Returns

string

unserialize_with_exception()

unserialize_with_exception(string  $serialized) : mixed

Intenta deserializar un valor con {@link unserialize() unserialize()} y dispara una excepción si se produce un error.

Parameters

string $serialized

valor a deserializar

Throws

\ExcepcionXGAPUnserialize

si la deserialización falla

Returns

mixed —

el resultado de la deserialización

unserialized_ok()

unserialized_ok(string  $serialized, string  $unserialized) : boolean

Permite determinar si un valor serializado se corresponde con uno deserializado.

Parameters

string $serialized

valor serializado

string $unserialized

valor deserializado

Returns

boolean

uriPaginaActual()

uriPaginaActual() : string

Retorna el URI completo de la página actual.

El resultado es el URI completo que se usó para acceder a la página actual, con la ruta completa e incluyendo los parámetros GET que se hayan pasado.

Returns

string

urlCompletoPagina()

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.

Parameters

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

Returns

string

urlCompletoServidor()

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

Parameters

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?

Returns

string

urldirname()

urldirname(string  $url) : string

Devuelve el directorio que corresponde a <var>$url</var>, es decir, quita de <var>$url</var> el nombre de la página.

Parameters

string $url

Returns

string

valor_a_salida()

valor_a_salida(mixed  $valor, string  $tipo) : string

Parameters

mixed $valor
string $tipo

Returns

string

valor_a_string()

valor_a_string(mixed  $valor, string  $tipo) : string

Parameters

mixed $valor
string $tipo

Returns

string

valor_item_desde_constante()

valor_item_desde_constante(\DomNode  $nodoItem, string  $nombreCte) : string

Usada en $funcion_valor_item de cargar_configuracion().

Parameters

\DomNode $nodoItem
string $nombreCte

Returns

string

valor_item_desde_default()

valor_item_desde_default(\DomNode  $nodoItem, string  $nombreCte) : string

Usada en $funcion_valor_item de cargar_configuracion().

Parameters

\DomNode $nodoItem
string $nombreCte

Returns

string

xgap_adodb_outp()

xgap_adodb_outp(  $msg,   $newline = true) 

Especialización para XGAP del método ADOConnection::outp().

Parameters

$msg
$newline

xgap_array_insert()

xgap_array_insert(  $array, integer  $position, array  $insert_array) 

Inserta un array en una posición dada de otro.

Parameters

$array
integer $position

posición de inserción; si es mayor o igual que la longitud de $array, agrega al final

array $insert_array

array a insertar; si no se pasa un array, se crea uno conteniendo el valor de este parámetro

xgap_convert_encoding()

xgap_convert_encoding(mixed  $value, array|string  $from_encoding, string  $to_encoding) : mixed

Convierte la codificación de caracteres de un valor.

Parameters

mixed $value

valor a convertir

array|string $from_encoding

lista de posibles codificaciones que puede tener $value, dada como un array o un string de nombres separados por comas

string $to_encoding

codificación destino

Throws

\InvalidArgumentException

si no se puede realizar la conversión

Returns

mixed —

$value convertido en la codificación $to_encoding

xgap_convert_encoding_to_internal()

xgap_convert_encoding_to_internal(mixed  $value, array|string  $value_encoding = 'UTF-8, ASCII, ISO-8859-1') : mixed

Convierte la codificación de caracteres de un valor a la interna de PHP.

Parameters

mixed $value

valor a convertir

array|string $value_encoding

lista de posibles codificaciones que puede tener $value, dada como un array o un string de nombres separados por comas

Throws

\InvalidArgumentException

si no se puede realizar la conversión

Returns

mixed —

$value convertido en la codificación interna

xgap_convert_encoding_to_utf8()

xgap_convert_encoding_to_utf8(mixed  $value, array|string  $value_encoding = '') : mixed

Convierte la codificación de caracteres de un valor a UTF-8.

Parameters

mixed $value

valor a convertir

array|string $value_encoding

lista de posibles codificaciones que puede tener $value, dada como un array o un string de nombres separados por comas

Throws

\InvalidArgumentException

si no se puede realizar la conversión

Returns

mixed —

$value convertido en la codificación UTF-8

xgap_get_remote_file_contents()

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.

Parameters

string $url

la dirección del archivo a obtener

$offset
array $options

array de opciones XGAP_GET_REMOTEOPT*

Throws

\ExcepcionXGAP

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.

Returns

mixed