From 43c72da1f3aa15a989ad3531dd877676a5513f60 Mon Sep 17 00:00:00 2001 From: TobiasCricco Date: Tue, 30 Jan 2024 14:05:24 -0300 Subject: [PATCH 1/8] se eliminan funciones en desuso --- php/lib/db/toba_db_postgres7.php | 25 +- php/lib/toba_encriptador.php | 124 +-------- php/lib/toba_fecha.php | 247 ------------------ php/lib/toba_manejador_archivos.php | 28 +- php/lib/toba_varios.php | 64 +---- php/modelo/info/toba_info_permisos.php | 8 - .../componentes/interface/toba_ei_cuadro.php | 119 ++++----- .../interface/toba_ei_cuadro_salida_html.php | 110 +------- php/nucleo/componentes/negocio/toba_cn.php | 17 +- .../persistencia/toba_ap_tabla_db.php | 142 +++++----- .../persistencia/toba_datos_relacion.php | 109 ++++---- .../persistencia/toba_datos_tabla.php | 130 ++++----- php/nucleo/componentes/toba_componente.php | 34 +-- php/nucleo/lib/toba_editor.php | 53 ++-- php/nucleo/lib/toba_instancia.php | 34 +-- php/nucleo/lib/toba_manejador_sesiones.php | 86 ++---- php/nucleo/lib/toba_proyecto.php | 45 ++-- .../lib/toba_proyecto_implementacion.php | 17 -- php/nucleo/lib/toba_usuario.php | 13 +- php/nucleo/lib/toba_usuario_basico.php | 23 +- php/nucleo/lib/toba_vinculador.php | 163 +----------- .../php/usuarios/gestion_arai_usuarios.php | 13 +- 22 files changed, 362 insertions(+), 1242 deletions(-) delete mode 100644 php/lib/toba_fecha.php diff --git a/php/lib/db/toba_db_postgres7.php b/php/lib/db/toba_db_postgres7.php index 2f239a6c80..1d12f663ff 100644 --- a/php/lib/db/toba_db_postgres7.php +++ b/php/lib/db/toba_db_postgres7.php @@ -1,6 +1,6 @@ retrasar_constraints($retrazar); - } - /** * Retraza o activa el chequeo de constraints * @param boolean $retrasar @@ -230,7 +219,7 @@ function cerrar_transaccion() } /** - * Devuelve true si hay una transacción abierta y false en caso contrario + * Devuelve true si hay una transacci�n abierta y false en caso contrario * @return boolean */ function transaccion_abierta() @@ -276,11 +265,11 @@ function liberar_savepoint($nombre) /** * Insert de datos desde un arreglo hacia una tabla. Ahora usa pdo! - * @param string $tabla Nombre de la tabla en la que se insertarán los datos - * @param array $datos Los datos a insertar: cada elemento del arreglo será un registro en la tabla. + * @param string $tabla Nombre de la tabla en la que se insertar�n los datos + * @param array $datos Los datos a insertar: cada elemento del arreglo ser� un registro en la tabla. * @param string $delimitador Separador de datos de cada fila. - * @param string $valor_nulo Cadena que se utlilizará como valor nulo. - * @return boolean Retorn TRUE en caso de éxito o FALSE en caso de error. + * @param string $valor_nulo Cadena que se utlilizar� como valor nulo. + * @return boolean Retorn TRUE en caso de �xito o FALSE en caso de error. */ function insert_masivo($tabla,$datos,$delimitador="\t",$valor_nulo="\\N") { $funciono = true; diff --git a/php/lib/toba_encriptador.php b/php/lib/toba_encriptador.php index c10a02b734..60b7ca18c1 100644 --- a/php/lib/toba_encriptador.php +++ b/php/lib/toba_encriptador.php @@ -26,128 +26,10 @@ static function instancia() } return self::$instancia; } - - /** - * Funcion que cifra un texto en base a una clave de instalacion - * @param mixed $no_encriptado - * @param mixed $clave - * @return mixed - * @deprecated desde version 3.0.11 - */ - function cifrar($no_encriptado, $clave="get") - { - $cifrado = $this->Encrypt($no_encriptado,$this->clave[$clave]); - if ($clave == 'get') { - return urlencode($cifrado); - } else { - return $cifrado; - } - } - - /** - * Funcion que descifra un texto en base a una clave de instalacion - * @param mixed $encriptado - * @param mixed $clave - * @return mixed - * @deprecated desde version 3.0.11 - */ - function descifrar($encriptado, $clave="get") - { - $descifrado = $this->Decrypt($encriptado,$this->clave[$clave]); - if ($clave == 'get') { - return urldecode($descifrado); - } else { - return $descifrado; - } - } //------------------------------------------------------------- // Segun ADOdb: Session Encryption by Ari Kuorikoski //------------------------------------------------------------- - /** - * - * @param type $txt - * @param type $encrypt_key - * @return type - * @deprecated desde version 3.0.11 - */ - function keyED($txt,$encrypt_key) - { - $encrypt_key = md5($encrypt_key); - $ctr=0; - $tmp = ""; - for ($i=0;$ikeyED($tmp,$key)); - } - - /** - * Funcion que desencripta un texto en bae a una clave - * @param mixed $txt - * @param mixed $key - * @return mixed - * @deprecated desde version 3.0.11 - */ - function Decrypt($txt,$key) - { - $txt = $this->keyED(base64_decode($txt),$key); - $tmp = ""; - for ($i=0;$i= 58 && $randnumber <= 64) || ($randnumber >= 91 && $randnumber <= 96)) - { - $randnumber = rand(48,120); - } - - $randomPassword .= chr($randnumber); - } - return $randomPassword; - } //-------------------------------------------------------------------------------------------------------------------------------------------------------------------------// /** @@ -182,7 +64,7 @@ function descifrar_para_web($encriptado, $clave) function encriptar($dato, $clave) { if (! extension_loaded('php_openssl') && ! extension_loaded('Openssl')) { - throw new toba_error('La extensión para openssl no se encuentra cargada, verifique la instalación.'); + throw new toba_error('La extensi�n para openssl no se encuentra cargada, verifique la instalaci�n.'); } $cipher = new Cryptor($this->default_algo, $this->default_hash, $this->default_formato); return $cipher->encryptString($dato, $clave); @@ -197,7 +79,7 @@ function encriptar($dato, $clave) function desencriptar($dato, $clave) { if (! extension_loaded('php_openssl') && ! extension_loaded('Openssl')) { - throw new toba_error('La extensión para openssl no se encuentra cargada, verifique la instalación.'); + throw new toba_error('La extensi�n para openssl no se encuentra cargada, verifique la instalaci�n.'); } $cipher = new Cryptor($this->default_algo, $this->default_hash, $this->default_formato); return $cipher->decryptString($dato, $clave); @@ -207,7 +89,7 @@ function desencriptar($dato, $clave) // FUNCIONES CON UTILIDAD A FUTURO //-------------------------------------------------------------------------------------------------------------------------------------------------------------------------// /** - * Permite fijar el algoritmo de des/encriptación (default aes-256-ctr) + * Permite fijar el algoritmo de des/encriptaci�n (default aes-256-ctr) * @param type $algo */ function set_algoritmo($algo) diff --git a/php/lib/toba_fecha.php b/php/lib/toba_fecha.php deleted file mode 100644 index ed538c7909..0000000000 --- a/php/lib/toba_fecha.php +++ /dev/null @@ -1,247 +0,0 @@ -set_fecha($fecha); - return $salida; - } - - function __construct() - { - if (!func_num_args() ){ - $this->timestamp = strtotime(date("Y-m-d H:i:s")); - }else{ - list($arg) = func_get_args(); - $this->set_fecha( $arg ); - } - } - - //Metodos para setear la variable interna. - function set_fecha($fecha) - { - if (isset($fecha)) { - $this->timestamp = strtotime($fecha); - } - } - - function set_timestamp($timestamp) - { - $this->timestamp = $timestamp; - } - - //Metodos para obtener una fecha desplazada en dias, meses o años. Se debe incluir el signo en el parametro. - function get_fecha_desplazada($dias) - { - $aux = strtotime("$dias day", $this->timestamp); - return $aux; - } - - function get_fecha_desplazada_meses($meses) - { - $aux = strtotime("$meses month", $this->timestamp); - return $aux; - } - - function get_fecha_desplazada_años($anios) - { - $aux = strtotime("$anios year", $this->timestamp); - return $aux; - } - - //Metodos de comparacion de fechas, siempre se compara contra la fecha cargada en la variable interna. - function es_menor_que($fecha2) - { - if ($this->get_diferencia($fecha2) > 0) { - return TRUE; - } - return FALSE; - } - - function es_mayor_que($fecha2) - { - if ($this->get_diferencia($fecha2) < 0) { - return TRUE; - } - return FALSE; - } - - function es_igual_que($fecha2) - { - if ($this->get_diferencia($fecha2) == 0) { - return TRUE; - } - return FALSE; - } - - //Metodo que calcula la diferencia de dias entre dos fechas. - function diferencia_dias($fecha2) - { - return (abs($this->get_diferencia($fecha2))); - } - - //Metodos para obtener la fecha en distintos formatos, se utiliza para recuperar la fecha interna. - function get_timestamp_db() - { - $aux = date("Y-m-d H:i:s",$this->timestamp); - return $aux; - } - - function get_fecha_db() - { - $aux = date("Y-m-d",$this->timestamp); - return $aux; - } - - function get_timestamp_pantalla() - { - $aux = date("d/m/Y H:i:s",$this->timestamp); - return $aux; - } - - function get_fecha_pantalla() - { - $aux = date("d/m/Y",$this->timestamp); - return $aux; - } - - //Metodos estaticos para convertir fechas - static function convertir_fecha_a_timestamp($fecha) - { - $timestamp = strtotime($fecha); - $aux = date("Y-m-d H:i:s",$timestamp); - return $aux; - } - - static function convertir_timestamp_a_fecha($timestamp) - { - $aux = date("Y-m-d",strtotime($timestamp)); - return $aux; - } - - //Metodos para obtener la hora apartir de un timestamp - static function convertir_timestamp_a_hora($timestamp) - { - $aux = date("H:i:s",strtotime($timestamp)); - return $aux; - } - - //Metodo que devuelve si el dia es sabado o domingo. - function es_dia_habil() - { - $aux = $this->get_parte('dia_semana'); //0 es para Domingo y 6 es para Sabado - if (($aux > '0') AND ($aux < '6')) - return TRUE; - - return FALSE; - } - - //Metodo que devuelve una parte especifica de la fecha. - function get_parte($parte) - { - switch($parte) - { - case 'dia': - $parte_fecha = 'mday'; - break; - - case 'mes': - $parte_fecha = 'mon'; - break; - - case 'año': - $parte_fecha = 'year'; - break; - - case 'dia_semana': - $parte_fecha = 'wday'; - break; - - default: - $parte_fecha = 'mday'; - - } // switch - - $aux = $this->separar_fecha_en_partes(); - return ($aux[$parte_fecha]); - } - - function separar_fecha_en_partes() - { - return getdate($this->timestamp); - } - - function get_diferencia($fecha2) - { - if ($fecha2 instanceof toba_fecha) { - $fecha2 = $fecha2->get_fecha_db(); - } - if(! is_null($fecha2)){ - $timestamp2 = strtotime($fecha2); - $diff_segs = $timestamp2 - $this->timestamp; - if ($diff_segs < 0) - $resultado = ceil($diff_segs / 86400); - else - $resultado = floor($diff_segs / 86400); - - return $resultado; - } - } - - static function get_meses_anio() - { - //El dia que windows cumpla con el RFC 1766 esto va a funcar correctamente. - /*$i = 0; - $meses = array(); - setlocale(LC_TIME, "es-ES"); - $next_fecha = strtotime(date("Y-m-d H:i:s")); - while ($i < 12){ - $mes_loco = strftime('%B-%m', $next_fecha); - list($mes_letra, $mes_nro) = explode('-', $mes_loco); - $meses[$mes_nro - 1] = array('id'=> $mes_nro, 'mes' => ucfirst($mes_letra)); - $next_fecha = strtotime("+1 month", $next_fecha); - $i++; - }//while */ - - //Por ahora lo hacemos asi mas croto. - $meses[0]['id'] = 1; - $meses[0]['mes'] = "Enero"; - $meses[1]['id'] = 2; - $meses[1]['mes'] = "Febrero"; - $meses[2]['id'] = 3; - $meses[2]['mes'] = "Marzo"; - $meses[3]['id'] = 4; - $meses[3]['mes'] = "Abril"; - $meses[4]['id'] = 5; - $meses[4]['mes'] = "Mayo"; - $meses[5]['id'] = 6; - $meses[5]['mes'] = "Junio"; - $meses[6]['id'] = 7; - $meses[6]['mes'] = "Julio"; - $meses[7]['id'] = 8; - $meses[7]['mes'] = "Agosto"; - $meses[8]['id'] = 9; - $meses[8]['mes'] = "Septiembre"; - $meses[9]['id'] = 10; - $meses[9]['mes'] = "Octubre"; - $meses[10]['id'] = 11; - $meses[10]['mes'] = "Noviembre"; - $meses[11]['id'] = 12; - $meses[11]['mes'] = "Diciembre"; - - return $meses; - } -} - -?> \ No newline at end of file diff --git a/php/lib/toba_manejador_archivos.php b/php/lib/toba_manejador_archivos.php index 2089f0b3ba..948a6fa0b8 100644 --- a/php/lib/toba_manejador_archivos.php +++ b/php/lib/toba_manejador_archivos.php @@ -50,21 +50,7 @@ static function es_windows() } /** - * Ejecuta un comando dado (deprecated) - * @param string $cmd - * @param mixed $stdout - * @param mixed $stderr - * @return integer - * @deprecated since version 3.0.0 - * @use toba_manejador_procesos::ejecutar - */ - static function ejecutar($cmd, &$stdout, &$stderr) - { - return toba_manejador_procesos::ejecutar($cmd, $stdout, $stderr); - } - - /** - * Similar al file_exists de php pero incluye al include_path en la búsqueda + * Similar al file_exists de php pero incluye al include_path en la b�squeda * @param string $file * @return boolean */ @@ -123,7 +109,7 @@ static function path_a_plataforma($path) } /** - * Retorna un path convertido a la plataforma actual de ejecución (unix o windows) + * Retorna un path convertido a la plataforma actual de ejecuci�n (unix o windows) * @param string $candidato * @return string */ @@ -146,7 +132,7 @@ static function get_archivos_directorio( $directorio, $patron = null, $recursivo $archivos_ok = array(); if( ! is_dir( $directorio ) ) { toba_logger::instancia()->error("BUSCAR ARCHIVOS: El directorio '$directorio' es INVALIDO"); - throw new toba_error('BUSCAR ARCHIVOS: El directorio solicitado no es válido o no tiene permisos'); + throw new toba_error('BUSCAR ARCHIVOS: El directorio solicitado no es v�lido o no tiene permisos'); } if (in_array($directorio, $exclude_dirs, true)) { @@ -190,7 +176,7 @@ static function buscar_archivos_directorio_recursivo( $directorio, &$exclude_dir { if( ! is_dir( $directorio ) ) { toba_logger::instancia()->error("BUSCAR ARCHIVOS: El directorio '$directorio' es INVALIDO"); - throw new toba_error('BUSCAR ARCHIVOS: El directorio solicitado no es válido o no tiene permisos'); + throw new toba_error('BUSCAR ARCHIVOS: El directorio solicitado no es v�lido o no tiene permisos'); } $archivos = array(); $d = dir( $directorio ); @@ -224,7 +210,7 @@ static function get_subdirectorios( $directorio ) $dirs = array(); if( ! is_dir( $directorio ) ) { toba_logger::instancia()->error("BUSCAR SUBDIRECTORIOS: El directorio '$directorio' es INVALIDO"); - throw new toba_error('BUSCAR SUBDIRECTORIOS: El directorio solicitado no es válido o no tiene permisos'); + throw new toba_error('BUSCAR SUBDIRECTORIOS: El directorio solicitado no es v�lido o no tiene permisos'); } $dir = opendir($directorio); if ($dir !== false) { @@ -256,7 +242,7 @@ static function copiar_directorio( $origen, $destino, $excepciones=array(), $man { if( ! is_dir( $origen ) ) { toba_logger::instancia()->error("COPIAR DIRECTORIO: El directorio de origen '$origen' es INVALIDO"); - throw new toba_error('COPIAR DIRECTORIO: El directorio de origen no es válido o no tiene permisos'); + throw new toba_error('COPIAR DIRECTORIO: El directorio de origen no es v�lido o no tiene permisos'); } $ok = true; if( ! is_dir( $destino ) ) { @@ -302,7 +288,7 @@ static function eliminar_directorio( $directorio ) { if( ! is_dir( $directorio ) ) { toba_logger::instancia()->error("ELIMINAR DIRECTORIO: El directorio '$directorio' es INVALIDO"); - throw new toba_error('ELIMINAR DIRECTORIO: El directorio solicitado no es válido o no tiene permisos'); + throw new toba_error('ELIMINAR DIRECTORIO: El directorio solicitado no es v�lido o no tiene permisos'); } $ok = true; $dir = opendir( $directorio ); diff --git a/php/lib/toba_varios.php b/php/lib/toba_varios.php index d61a010a42..aa344e08f8 100644 --- a/php/lib/toba_varios.php +++ b/php/lib/toba_varios.php @@ -46,7 +46,7 @@ function comienza_con($haystack, $needle){ } /** - * Si $var está seteada la devuelve, sino devuelve el valor por defecto + * Si $var est� seteada la devuelve, sino devuelve el valor por defecto * de la misma * @param mixed $var * @param mixed $default @@ -60,11 +60,11 @@ function get_var(&$var, $default = null) { } /** - * Devuelve el nombre de la clase de acuerdo a la extensión de proyecto + * Devuelve el nombre de la clase de acuerdo a la extensi�n de proyecto * que se indique * @param string $nombre * @param string $proyecto - * @param array $extensiones arreglo asociativo con 2 parámetros: el 1ro es + * @param array $extensiones arreglo asociativo con 2 par�metros: el 1ro es * extension_toba y el 2do extension_proyecto. Se obtiene de * toba::proyecto()->get_clases_extendidas() */ @@ -236,7 +236,7 @@ function rest_encode($datos) /** * Elimina los campos del array con valor null. No se modifica el arreglo - * pasado por parámetro, se devuelve uno nuevo con las componentes vacías + * pasado por par�metro, se devuelve uno nuevo con las componentes vac�as * eliminadas * @param array $array * @return array @@ -255,7 +255,7 @@ function array_eliminar_nulls(&$array) } /** - * Borra todos los subarrays vacíos de $array. Modifica la variable de entrada + * Borra todos los subarrays vac�os de $array. Modifica la variable de entrada * @param array $array */ function array_borrar_subarrays_vacios(&$array) @@ -268,8 +268,8 @@ function array_borrar_subarrays_vacios(&$array) } /** - * Si el parámetro no es un arreglo o es un arreglo sin la componente 0 mete - * el parámetro dentro de un arreglo + * Si el par�metro no es un arreglo o es un arreglo sin la componente 0 mete + * el par�metro dentro de un arreglo * @param mixed $elem * @return array */ @@ -339,7 +339,7 @@ function salto_linea() function sl(){ return salto_linea(); } function tecla_acceso($etiqueta) - //Toma una etiqueta e intenta extraer el caracter de acceso rápido + //Toma una etiqueta e intenta extraer el caracter de acceso r�pido // Ej: Proce&sar retornar array('Procesar', 'P') { $escapador = toba::escaper(); @@ -595,7 +595,7 @@ function generar_archivo_entorno($instal_dir, $id_instancia, $es_windows=false) /** - * Clase que otorga rangos para asignación de tabs + * Clase que otorga rangos para asignaci�n de tabs * @package Varios */ class toba_manejador_tabs @@ -623,7 +623,7 @@ function siguiente() } /** - * El objeto_de_mentira intenta superar su ejecución sin causar ningun error ni warning + * El objeto_de_mentira intenta superar su ejecuci�n sin causar ningun error ni warning * Util para simulaciones * @ignore */ @@ -742,53 +742,11 @@ function comparar($valor1, $operador, $valor2) case '~': return preg_match($valor2, $valor1); //$valor2 es el pattern default: - toba_logger::instancia()->error("El operador $operador no está soportado"); + toba_logger::instancia()->error("El operador $operador no est� soportado"); throw new toba_error('Operador no soportado'); } } - /** - * Funcion que hashea con un metodo especifico y un salt - * @param type $clave - * @param type $metodo - * @param type $sal - * @return type - * @deprecated desde version 3.0.11 - * @see toba_hash - */ - function encriptar_con_sal($clave, $metodo, $sal=null) - { - if (version_compare(PHP_VERSION, '5.3.2') >= 0 || $metodo == 'bcrypt') { - $hasher = new toba_hash($metodo); - if (is_null($sal)) { //Hash nuevo - return $hasher->hash($clave); - } else { //Verificacion - $resultado = $hasher->get_hash_verificador($clave, $sal); - if (strlen($resultado) > 13) { //Si es menor a 13 hubo error, puede ser que el hash - return $resultado; //se hubiera generado con el metodo anterior - } - } - } - - if (is_null($sal)) { - $sal = get_salt(); - } else { - $sal = substr($sal, 0, 10); - } - //Si el mecanismo es bcrypt no deberia haber llegado hasta aquí, por lo tanto la respuesta tiene que garantizar que falle - return ($metodo != 'bcrypt') ? $sal . hash($metodo, $sal . $clave): hash('sha256', get_salt().$resultado); - } - - /** - * Funcion que retorna un salt generado (no seguro) - * @return type - * @deprecated desde version 3.0.11 - */ - function get_salt() - { - return substr(md5(uniqid(rand(), true)), 0, 10); - } - function dormir($tiempo) { if (class_exists('inst_timer')) { diff --git a/php/modelo/info/toba_info_permisos.php b/php/modelo/info/toba_info_permisos.php index a9be50a537..ddffa5b124 100644 --- a/php/modelo/info/toba_info_permisos.php +++ b/php/modelo/info/toba_info_permisos.php @@ -91,14 +91,6 @@ static function get_perfiles_funcionales_pueden_ser_miembros($proyecto, $perfil= return toba_contexto_info::get_db()->consultar($sql); } - /** - * @deprecated Desde 1.5 Usar get_perfiles_funcionales - */ - static function get_grupos_acceso($proyecto=null) - { - return self::get_perfiles_funcionales($proyecto); - } - static function get_perfiles_datos($proyecto=null) { if (!isset($proyecto)) { diff --git a/php/nucleo/componentes/interface/toba_ei_cuadro.php b/php/nucleo/componentes/interface/toba_ei_cuadro.php index 2eae450c53..a1e03a9a5a 100644 --- a/php/nucleo/componentes/interface/toba_ei_cuadro.php +++ b/php/nucleo/componentes/interface/toba_ei_cuadro.php @@ -77,7 +77,7 @@ class toba_ei_cuadro extends toba_ei protected $_agrupacion_columnas = array(); protected $_layout_cant_filas = null; protected $_excel_usar_formulas; - protected static $_mostrar_excel_sin_cortes = false; // Especifica si se tiene que dar la opción de renderizar como excel sin cortes + protected static $_mostrar_excel_sin_cortes = false; // Especifica si se tiene que dar la opci�n de renderizar como excel sin cortes protected $_clase_formateo = 'toba_formateo'; protected $_etiqueta_cantidad_filas; @@ -120,7 +120,7 @@ function destruir() } /** - * Método interno para iniciar el componente una vez construido + * M�todo interno para iniciar el componente una vez construido * @ignore */ function inicializar($parametros=array()) @@ -147,7 +147,7 @@ function analizar_cortes_excel() } /** - * Espacio donde el componente cierra su configuración + * Espacio donde el componente cierra su configuraci�n * @ignore */ function post_configurar() @@ -165,7 +165,7 @@ function aplicar_restricciones_funcionales() { parent::aplicar_restricciones_funcionales(); - //-- Restricción funcional Columnas no-visibles ------ + //-- Restricci�n funcional Columnas no-visibles ------ $no_visibles = toba::perfil_funcional()->get_rf_cuadro_cols_no_visibles($this->_id[1]); if (! empty($no_visibles)) { $alguno_eliminado = false; @@ -176,7 +176,7 @@ function aplicar_restricciones_funcionales() array_splice($this->_info_cuadro_columna, $a, 1); //Elimina el elemento y reorganiza indices $a--; $limite--; //por eso vuelvo puntero atras y descuento 1 del maximo $alguno_eliminado = true; - toba::logger()->debug("Restricción funcional. Se filtro la columna: $clave", 'toba'); + toba::logger()->debug("Restricci�n funcional. Se filtro la columna: $clave", 'toba'); } } if ($alguno_eliminado) { @@ -299,7 +299,7 @@ function eliminar_columnas($columnas) if (isset($this->_info_cuadro_columna_indices[$clave])) { $id = $this->_info_cuadro_columna_indices[$clave]; array_splice($this->_info_cuadro_columna, $id, 1); - $this->procesar_definicion_columnas(); //Se re ejecuta por eliminación para actualizar $this->_info_cuadro_columna_indices + $this->procesar_definicion_columnas(); //Se re ejecuta por eliminaci�n para actualizar $this->_info_cuadro_columna_indices } } } @@ -336,7 +336,7 @@ function existen_columnas($columnas) function limpiar_columnas() { $this->_info_cuadro_columna = array(); - $this->procesar_definicion_columnas(); //Se re ejecuta por eliminación para actualizar $this->_info_cuadro_columna_indices + $this->procesar_definicion_columnas(); //Se re ejecuta por eliminaci�n para actualizar $this->_info_cuadro_columna_indices } @@ -347,7 +347,7 @@ function limpiar_columnas() function agregar_columnas($columnas) { $this->agregar_columnas_perezoso($columnas); - $this->procesar_definicion_columnas(); //Se re ejecuta por eliminación para actualizar $this->_info_cuadro_columna_indices + $this->procesar_definicion_columnas(); //Se re ejecuta por eliminaci�n para actualizar $this->_info_cuadro_columna_indices } /** @@ -369,7 +369,7 @@ private function agregar_columnas_perezoso($columnas, $columnas_al_inicio=false) } /** - * Agrupa columnas adyacentes bajo una etiqueta común + * Agrupa columnas adyacentes bajo una etiqueta com�n * * @param string $nombre_grupo Etiqueta que toma el grupo * @param array $columnas Id. de las columnas a agrupar, deben ser adyacentes @@ -395,7 +395,7 @@ function get_columnas_agrupadas() } /** - * Retorna la definición de las columnas actuales del cuadro + * Retorna la definici�n de las columnas actuales del cuadro * @return array */ function get_columnas() @@ -438,8 +438,8 @@ protected function inspeccionar_sumarizaciones_usuario() if(! is_null($id)) { if(isset($this->_sum_usuario[$id])){ - toba_logger::instancia()->error("Las funciones de sumarización deben tener IDs únicos. El id '$id' ya existe"); - throw new toba_error_def('La función de sumarización no es correcta, revise el log'); + toba_logger::instancia()->error("Las funciones de sumarizaci�n deben tener IDs �nicos. El id '$id' ya existe"); + throw new toba_error_def('La funci�n de sumarizaci�n no es correcta, revise el log'); } // Agrego la sumarizacion en la pila de sumarizaciones. $this->_sum_usuario[$id]['metodo'] = $metodo->getName(); @@ -490,7 +490,7 @@ function get_informacion_basica_componente() //################################################################################ /** - * Cambia el título o descripción de una columna dada del cuadro + * Cambia el t�tulo o descripci�n de una columna dada del cuadro * @param string $id_columna Id de la columna a cambiar * @param string $titulo */ @@ -502,7 +502,7 @@ function set_titulo_columna($id_columna, $titulo) /** * Cambia la forma en que se le da formato a una columna * @param string $id_columna - * @param string $funcion Nombre de la función de formateo, sin el prefijo 'formato_' + * @param string $funcion Nombre de la funci�n de formateo, sin el prefijo 'formato_' * @param string $clase Nombre de la clase que contiene la funcion, por defecto toba_formateo */ function set_formateo_columna($id_columna, $funcion, $clase=null) @@ -539,10 +539,10 @@ function get_estructura_datos() function set_manejador_salida ($tipo_salida, $clase) { if (is_null($tipo_salida)){ - throw new toba_error_seguridad('Se debe indicar un tipo de salida válido'); + throw new toba_error_seguridad('Se debe indicar un tipo de salida v�lido'); } if (is_null($clase)) { - throw new toba_error_seguridad('Se debe indicar un nombre de clase válido para el tipo de salida seleccionado '); + throw new toba_error_seguridad('Se debe indicar un nombre de clase v�lido para el tipo de salida seleccionado '); } $this->_manejador_tipo_salida[$tipo_salida] = $clase; } @@ -630,7 +630,7 @@ function set_eof_mostrar($mostrar=true) } /** - * El cuadro muestra su título una única vez antes de los cortes de control + * El cuadro muestra su t�tulo una �nica vez antes de los cortes de control * @param boolean $unico */ function set_mostrar_titulo_antes_cc($unico=true) @@ -796,7 +796,7 @@ private function validar_y_separar_clave(&$klave) { if (! isset($this->_memoria['claves_enviadas']) || ! in_array($klave, $this->_memoria['claves_enviadas'])) { toba_logger::instancia()->error($this->get_txt()." La clave '$klave' del cuadro no estaba entre las enviadas"); - throw new toba_error_seguridad(' La clave seleccionada no es válida'); + throw new toba_error_seguridad(' La clave seleccionada no es v�lida'); } if ($this->_modo_clave_segura) { $aux = (isset($this->_mapeo_clave_segura[$klave])) ? $this->_mapeo_clave_segura[$klave] : array(); @@ -812,7 +812,7 @@ private function validar_y_separar_clave(&$klave) } /** - * Deja al cuadro sin selección alguna de fila + * Deja al cuadro sin selecci�n alguna de fila */ function deseleccionar() { @@ -821,7 +821,7 @@ function deseleccionar() /** * Indica al cuadro cual es la clave seleccionada. - * A la hora de mostrar la grilla se crea un feedback gráfico sobre la fila que posea esta clave + * A la hora de mostrar la grilla se crea un feedback gr�fico sobre la fila que posea esta clave * @param array $clave Arreglo asociativo id_clave => valor_clave */ function seleccionar($clave) @@ -877,15 +877,6 @@ function get_clave_fila_array($fila) } } - /** - * @deprecated Desde 0.8.3. Usar get_clave_seleccionada - */ - function get_clave() - { - toba::logger()->obsoleto(__CLASS__, __FUNCTION__, "0.8.3", "Usar get_clave_seleccionada"); - return $this->get_clave_seleccionada(); - } - /** * En caso de existir una fila seleccionada, retorna su clave * @return array Arreglo asociativo id_clave => valor_clave @@ -983,7 +974,7 @@ function agregar_corte_control($corte) throw new toba_error_def('El corte de control no posee la/s columna/s de corte'); } if (! isset($corte['columnas_descripcion'])) { - throw new toba_error_def('El corte de control no posee la/s columna/s para la descripción'); + throw new toba_error_def('El corte de control no posee la/s columna/s para la descripci�n'); } if (! isset($corte['descripcion'])) { $corte['descripcion'] = ''; @@ -1275,7 +1266,7 @@ protected function finalizar_paginado() } /** - * Cambia el tamaño de página a usar en el paginado + * Cambia el tama�o de p�gina a usar en el paginado * @param integer $tam */ function set_tamanio_pagina($tamanio=null) @@ -1289,8 +1280,8 @@ function set_tamanio_pagina($tamanio=null) /** * Informa al cuadro la cantidad total de registros que posee el set de datos - * Este método se utiliza cuando el paginado no lo hace el propio cuadro, en este caso - * es necesario informarle la cantidad total de registros así puede armar la barra de paginado + * Este m�todo se utiliza cuando el paginado no lo hace el propio cuadro, en este caso + * es necesario informarle la cantidad total de registros as� puede armar la barra de paginado * @param integer $cant */ function set_total_registros($cant) @@ -1299,7 +1290,7 @@ function set_total_registros($cant) } /** - * Fuerza al cuadro a mostrar una página específica + * Fuerza al cuadro a mostrar una p�gina espec�fica * @param integer $pag */ function set_pagina_actual($pag) @@ -1308,7 +1299,7 @@ function set_pagina_actual($pag) } /** - * Retorna la página actualmente seleccionada por el usuario, si existe el paginado + * Retorna la p�gina actualmente seleccionada por el usuario, si existe el paginado * @return integer */ function get_pagina_actual() @@ -1317,7 +1308,7 @@ function get_pagina_actual() } /** - * Retorna el tamaño de página actual en el paginado (si está presente el paginado) + * Retorna el tama�o de p�gina actual en el paginado (si est� presente el paginado) * @return integer */ function get_tamanio_pagina() @@ -1336,7 +1327,7 @@ function get_tipo_paginado() } /** - * Devuelve la cantidad de paginas que posee el cuadro de acuerdo a la los datos y el tamaño de pagina + * Devuelve la cantidad de paginas que posee el cuadro de acuerdo a la los datos y el tama�o de pagina * @return integer */ function get_cantidad_paginas() @@ -1403,7 +1394,7 @@ function set_usar_ordenamiento_con_cortes($usar = true) } /** - * Actualiza el estado actual del ordenamiento en base a la memoria anterior y lo que dice el usuario a través del POST + * Actualiza el estado actual del ordenamiento en base a la memoria anterior y lo que dice el usuario a trav�s del POST * @ignore */ protected function refrescar_ordenamiento() @@ -1418,7 +1409,7 @@ protected function refrescar_ordenamiento() */ private function refrescar_ordenamiento_simple() { - //¿Viene seteado de la memoria? + //�Viene seteado de la memoria? if(isset($this->_memoria['orden_columna'])) { $this->_orden_columna = $this->_memoria['orden_columna']; } @@ -1426,7 +1417,7 @@ private function refrescar_ordenamiento_simple() $this->_orden_sentido = $this->_memoria['orden_sentido']; } - //¿Lo cargo el usuario? + //�Lo cargo el usuario? if (isset($_POST[$this->_submit_orden_columna]) && $_POST[$this->_submit_orden_columna] != '') { $nueva_col = $_POST[$this->_submit_orden_columna]; } @@ -1493,7 +1484,7 @@ function hay_ordenamiento_multiple() } /** - * Método estandar de ordenamiento de los datos, decide el metodo de ordenamiento en base + * M�todo estandar de ordenamiento de los datos, decide el metodo de ordenamiento en base * al tipo de formateo de la columna, sino utiliza ordenamiento por default */ protected function ordenar() @@ -1555,7 +1546,7 @@ protected function ordenar() } /** - * Método estandar de ordenamiento por hora + * M�todo estandar de ordenamiento por hora * Heredar en caso de querer cambiar el mecanismo de ordenamiento * @param string $columna Nombre de la columna * @return mixed @@ -1566,7 +1557,7 @@ protected function ordenamiento_hora($columna) }*/ /** - * Método estandar de ordenamiento de fechas + * M�todo estandar de ordenamiento de fechas * Heredar en caso de querer cambiar el mecanismo de ordenamiento * @param string $columna Nombre de la columna * @return mixed @@ -1577,7 +1568,7 @@ protected function ordenamiento_fecha($columna) } /** - * Método estandar de ordenamiento de timestamps (fecha, hora) + * M�todo estandar de ordenamiento de timestamps (fecha, hora) * Heredar en caso de querer cambiar el mecanismo de ordenamiento * @param string $columna Nombre de la columna * @return mixed @@ -1588,7 +1579,7 @@ protected function ordenamiento_fecha_hora($columna) } /** - * Método estandar de ordenamiento de monedas + * M�todo estandar de ordenamiento de monedas * Heredar en caso de querer cambiar el mecanismo de ordenamiento * @param string $columna Nombre de la columna * @return mixed @@ -1599,7 +1590,7 @@ protected function ordenamiento_moneda($columna) } /** - * Método estandar de ordenamiento de numeros + * M�todo estandar de ordenamiento de numeros * Heredar en caso de querer cambiar el mecanismo de ordenamiento * @param string $columna Nombre de la columna * @return mixed @@ -1610,7 +1601,7 @@ protected function ordenamiento_millares($columna) } /** - * Método estandar de ordenamiento de decimales + * M�todo estandar de ordenamiento de decimales * Heredar en caso de querer cambiar el mecanismo de ordenamiento * @param string $columna Nombre de la columna * @return mixed @@ -1621,7 +1612,7 @@ protected function ordenamiento_decimal($columna) } /** - * Método estandar de ordenamiento de tiempo expresado en numeros + * M�todo estandar de ordenamiento de tiempo expresado en numeros * Heredar en caso de querer cambiar el mecanismo de ordenamiento * @param string $columna Nombre de la columna * @return mixed @@ -1633,7 +1624,7 @@ protected function ordenamiento_tiempo($columna) } /** - * Método estandar de ordenamiento de porcentajes + * M�todo estandar de ordenamiento de porcentajes * Heredar en caso de querer cambiar el mecanismo de ordenamiento * @param string $columna Nombre de la columna * @return mixed @@ -1644,7 +1635,7 @@ protected function ordenamiento_porcentaje($columna) } /** - * Método estandar de ordenamiento de superficie + * M�todo estandar de ordenamiento de superficie * Heredar en caso de querer cambiar el mecanismo de ordenamiento * @param string $columna Nombre de la columna * @return mixed @@ -1655,7 +1646,7 @@ protected function ordenamiento_superficie($columna) } /** - * Método estandar de ordenamiento de caracteres en mayusculas + * M�todo estandar de ordenamiento de caracteres en mayusculas * Heredar en caso de querer cambiar el mecanismo de ordenamiento * @param string $columna Nombre de la columna * @return mixed @@ -1666,7 +1657,7 @@ protected function ordenamiento_mayusculas($columna) } /** - * Método estandar de ordenamiento de caracteres + * M�todo estandar de ordenamiento de caracteres * Heredar en caso de querer cambiar el mecanismo de ordenamiento * @param string $columna Nombre de la columna * @return mixed @@ -1677,7 +1668,7 @@ protected function ordenamiento_may_ind($columna) } /** - * Método estandar de ordenamiento de los datos, utilizando array_multisort + * M�todo estandar de ordenamiento de los datos, utilizando array_multisort * Heredar en caso de querer cambiar el mecanismo de ordenamiento * @param string $columna Nombre de la columna * @return mixed @@ -1694,7 +1685,7 @@ protected function ordenamiento_default($columna) } /** - * Método estandar de ordenamiento de los datos fecha, utilizando array_multisort + * M�todo estandar de ordenamiento de los datos fecha, utilizando array_multisort * Heredar en caso de querer cambiar el mecanismo de ordenamiento * @ignore */ @@ -1710,7 +1701,7 @@ protected function ordenar_fechas($columna) } /** - * Método estandar de ordenamiento de los datos fecha, utilizando array_multisort + * M�todo estandar de ordenamiento de los datos fecha, utilizando array_multisort * Heredar en caso de querer cambiar el mecanismo de ordenamiento * @ignore */ @@ -1726,7 +1717,7 @@ protected function ordenar_numeros($columna) } /** - * Método estandar de ordenamiento de los datos fecha, utilizando array_multisort + * M�todo estandar de ordenamiento de los datos fecha, utilizando array_multisort * Heredar en caso de querer cambiar el mecanismo de ordenamiento * @ignore */ @@ -1748,15 +1739,15 @@ private function get_sentido_ordenamiento($valor = 'asc') }elseif ($valor == 'des') { $sentido = SORT_DESC; }else{ - toba_logger::instancia()->error('Sentido de ordenamiento inválido: '. $valor); - throw new toba_error_def('Sentido de ordenamiento inválido'); + toba_logger::instancia()->error('Sentido de ordenamiento inv�lido: '. $valor); + throw new toba_error_def('Sentido de ordenamiento inv�lido'); } return $sentido; } function quita_acentos($cadena) { - $tofind = "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ"; + $tofind = "�����������������������������������������������������"; $replac = "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn"; return(strtr($cadena,$tofind,$replac)); } @@ -1971,10 +1962,10 @@ function set_datos($datos) $this->datos = $datos; if (!is_array($this->datos)) { toba_logger::instancia()->error( $this->get_txt() . - " El parámetro para cargar el cuadro posee un formato incorrecto:" . + " El par�metro para cargar el cuadro posee un formato incorrecto:" . "Se esperaba un arreglo de dos dimensiones con formato recordset."); - throw new toba_error_def(' El parámetro para cargar el cuadro posee un formato incorrecto, revise el log'); + throw new toba_error_def(' El par�metro para cargar el cuadro posee un formato incorrecto, revise el log'); } if (count($this->datos) > 0 ) { $this->validar_estructura_datos(); @@ -2091,8 +2082,8 @@ function generar_html() protected function generar_salida($tipo, $objeto_toba_salida = null) { if($tipo!="html" && $tipo!="impresion_html" && $tipo!="pdf" && $tipo!='excel' && $tipo!='xml'){ - toba_logger::instancia()->error("El tipo de salida '$tipo' es inválido"); - throw new toba_error_seguridad("El tipo de salida indicado es inválido, revise el log"); + toba_logger::instancia()->error("El tipo de salida '$tipo' es inv�lido"); + throw new toba_error_seguridad("El tipo de salida indicado es inv�lido, revise el log"); } $this->_tipo_salida = $tipo; $this->instanciar_manejador_tipo_salida($tipo); @@ -2420,7 +2411,7 @@ protected function crear_corte(&$nodo, $es_ultimo) // FUNCIONES AUXILIARES //############################################################################################ /** - * Esta función debe ser utilizada desde los archivos de customización + * Esta funci�n debe ser utilizada desde los archivos de customizaci�n * para mostrar la vista de excel sin cortes de control * @param boolean $valor */ diff --git a/php/nucleo/componentes/interface/toba_ei_cuadro_salida_html.php b/php/nucleo/componentes/interface/toba_ei_cuadro_salida_html.php index 0e9c0e10e4..c32fbedd38 100644 --- a/php/nucleo/componentes/interface/toba_ei_cuadro_salida_html.php +++ b/php/nucleo/componentes/interface/toba_ei_cuadro_salida_html.php @@ -45,7 +45,7 @@ function generar_botones($clase='') protected function html_generar_campos_hidden() { $nombre_campos = $this->_cuadro->get_nombres_parametros(); - //Campos de comunicación con JS + //Campos de comunicaci�n con JS echo toba_form::hidden($nombre_campos['submit'], ''); echo toba_form::hidden($nombre_campos['seleccion'], ''); echo toba_form::hidden($nombre_campos['extra'], ''); @@ -169,18 +169,9 @@ function html_fin() } } - - /** - * Genera el pie del cuadro - * @deprecated - */ - protected function html_pie() - { - } - /** * Genera el html que el cuadro muestra cuando no tiene datos cargados - * @param string $texto Texto a mostrar en base a la definición del componente + * @param string $texto Texto a mostrar en base a la definici�n del componente */ function html_mensaje_cuadro_vacio($texto) { @@ -220,70 +211,6 @@ protected function html_selector_ordenamiento() echo toba::output()->get('CuadroSalidaHtml')->getSelectorOrdenamiento($id, $objeto_js, $columnas); } - /** - * Envia la botonera del selector - * @deprecated - * @see manejador_salida_toba - */ - protected function html_botonera_selector() - { - $objeto_js = $this->_cuadro->get_id_objeto_js(); - //Saco la botonera para subir/bajar filas - echo "
"; - echo toba_form::button_html("{$objeto_js}_subir", toba_recurso::imagen_toba('nucleo/orden_subir.gif', true), - "onclick='{$objeto_js}.subir_fila_selector();'", 0, '<', 'Sube una posición la fila seleccionada'); - echo toba_form::button_html("{$objeto_js}_bajar", toba_recurso::imagen_toba('nucleo/orden_bajar.gif', true), - "onclick='{$objeto_js}.bajar_fila_selector();' ", 0, '>', 'Baja una posición la fila seleccionada'); - echo '
'; - } - - /** - * Genera la cabecera con los titulos del selector - * @deprecated - * @see manejador_salida_toba - */ - protected function html_cabecera_selector() - { - echo " - Activar - Columna - Sentido - "; - } - - /** - * Genera el cuerpo del selector - * @deprecated - * @see manejador_salida_toba - */ - protected function html_cuerpo_selector() - { - $columnas = $this->_cuadro->get_columnas(); - $objeto_js = $this->_cuadro->get_id_objeto_js(); - - $cuerpo = ''; - foreach($columnas as $col) { - if ($col['no_ordenar'] != 1) { - //Saco el contenedor de la fila y un checkbox para seleccionar. - $cuerpo .= ""; - $cuerpo .= toba_form::checkbox('check_'.$col['clave'], null, '0','ef-checkbox', "onclick=\"$objeto_js.activar_fila_selector('{$col['clave']}');\" "); - $cuerpo .= " {$col['titulo']}"; - - //Saco el radiobutton para el sentido ascendente - $id = $col['clave'].'0'; - $cuerpo .= ""; - $cuerpo .= '' ; - - //Saco el radiobutton para el sentido descendente - $id = $col['clave'].'1'; - $cuerpo .= ""; - $cuerpo .= ''; - } - } - $cuerpo .= "". toba_form::button('botonazo', 'Aplicar' , "onclick=\"$objeto_js.aplicar_criterio_ordenamiento();\"").''; - echo $cuerpo; - } - //------------------------------------------------------------------------------- //-- Generacion de los CORTES de CONTROL //------------------------------------------------------------------------------- @@ -574,7 +501,7 @@ function generar_layout_fila($columnas, $datos, $id_fila, $clave_fila, $evt_mul if(isset($columnas[$a]["clave"])) { if(isset($datos[$id_fila][$columnas[$a]["clave"]])) { $valor_real = $datos[$id_fila][$columnas[$a]["clave"]]; - //-- Hace el saneamiento para evitar inyección XSS + //-- Hace el saneamiento para evitar inyecci�n XSS if (!isset($columnas[$a]['permitir_html']) || $columnas[$a]['permitir_html'] == 0) { $valor_real = texto_plano($valor_real); } @@ -688,7 +615,7 @@ protected function html_cuadro_fin($nodo=null) */ protected function html_cuadro_cabecera_columnas() { - //¿Alguna columna tiene título? + //�Alguna columna tiene t�tulo? $alguna_tiene_titulo = false; $columnas = $this->_cuadro->get_columnas(); foreach(array_keys($columnas) as $clave) { @@ -739,7 +666,7 @@ protected function html_cuadro_cabecera_columnas() } else { //Guarda el html de la columna para sacarlo una fila mas abajo $html_columnas_agrupadas .= $html_columna; - //Si es la primera columna de la agrupación saca un unico del ancho de la agrupacion + //Si es la primera columna de la agrupaci�n saca un unico del ancho de la agrupacion if (! isset($grupo_actual) || $grupo_actual != $columnas[$a]['grupo']) { $grupo_actual = $columnas[$a]['grupo']; $cant_col = count(array_unique($columnas_agrupadas[$grupo_actual])); //Cuando se fija manualmente el grupo y se re procesa la definicion trae la misma columna + de una vez @@ -777,7 +704,7 @@ protected function html_cuadro_cabecera_columna($titulo,$columna,$indice) /** * @todo por ahora las imagenes del ornamientos queda fijado en Toba ( Despues veremos ) */ - //--- ¿Es ordenable? + //--- �Es ordenable? if ( isset($eventos['ordenar']) && $columnas[$indice]["no_ordenar"] != 1 /*&& $this->_tipo_salida == 'html' */) { @@ -791,7 +718,7 @@ protected function html_cuadro_cabecera_columna($titulo,$columna,$indice) $sel = "_sel";//orden ACTIVO } - //Comunicación del evento + //Comunicaci�n del evento $parametros = array('orden_sentido'=>$sen[0], 'orden_columna'=>$columna); $evento_js = toba_js::evento('ordenar', $eventos['ordenar'], $parametros); $js = "$objeto_js.set_evento($evento_js);"; @@ -907,29 +834,6 @@ protected function html_cuadro_totales_columnas($totales,$estilo=null,$agregar_t //------------------------------------------------------------------------------- //-- Elementos visuales independientes //------------------------------------------------------------------------------- - /** - * Genera el HTML correspondiente a la sumarizacion de los datos - * @deprecated - */ - protected function html_cuadro_sumarizacion($datos, $titulo=null , $ancho=null, $css='col-num-p1') - { - if(isset($ancho)) $ancho = "width='$ancho'"; - echo ""; - //Titulo - if(isset($titulo)){ - echo "\n"; - echo "\n"; - echo "\n"; - } - //Datos - foreach($datos as $desc => $valor){ - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - } - echo "
$titulo
$desc$valor
\n"; - } /** * Genera el HTML correspondiente a la barra de paginacion diff --git a/php/nucleo/componentes/negocio/toba_cn.php b/php/nucleo/componentes/negocio/toba_cn.php index 69db2e99f2..73227885c5 100644 --- a/php/nucleo/componentes/negocio/toba_cn.php +++ b/php/nucleo/componentes/negocio/toba_cn.php @@ -2,7 +2,7 @@ /** * Este componente permite unificar la carga y entrega de datos y servicios a una jerarquia completa de componentes de interface (especialmente a los cis) * - * Separar la carga y utilización de los datos (inicio y fin de una transaccion de negocios) + * Separar la carga y utilizaci�n de los datos (inicio y fin de una transaccion de negocios) * permite: * -Lograr una maxima independencia entre la logica de pantalla y de la de negocio, * -Tener un lugar centralizado para brindar servicios comunes a una jerarquia de componentes @@ -28,24 +28,13 @@ final function __construct($id) /** - * Ventana de extensión que se ejecuta al iniciar el componente en todos los pedidos en los que participa. + * Ventana de extensi�n que se ejecuta al iniciar el componente en todos los pedidos en los que participa. * @ventana */ function ini() { } - /** - * Evento que se dispara cuando se limpia la memoria - * @deprecated Desde 1.4.0 usar limpiar_memoria - * @see limpiar_memoria($no_borrar) - */ - function evt__limpieza_memoria($no_borrar=null) - { - $this->_log->obsoleto(__CLASS__, __METHOD__, "1.4.0", "Usar limpiar_memoria"); - $this->limpiar_memoria($no_borrar); - } - /** * Borra la memoria de este Cn y lo reinicializa * @param array $no_borrar Excepciones, propiedades que no se van a poner en null @@ -75,7 +64,7 @@ function cancelar() * Se inicia una transaccion de base de datos y dentro de ella se llama a : * @see evt__validar_datos() * @see evt__procesar_especifico() - * Una vez terminada la transacción se invoca a la limpieza de memoria + * Una vez terminada la transacci�n se invoca a la limpieza de memoria * * @todo Ver la posibilidad de usar ignore_user_abort() para evitar problemas con medios no transaccionales */ diff --git a/php/nucleo/componentes/persistencia/toba_ap_tabla_db.php b/php/nucleo/componentes/persistencia/toba_ap_tabla_db.php index 3bbd372b02..d78421b43c 100644 --- a/php/nucleo/componentes/persistencia/toba_ap_tabla_db.php +++ b/php/nucleo/componentes/persistencia/toba_ap_tabla_db.php @@ -5,7 +5,7 @@ * Administrador de persistencia a una tabla de DB desde un @see toba_datos_tabla * Supone que la tabla de datos se va a mapear a algun tipo de estructura en una base de datos * - * TODO Poder desactivar el control de sincronizacion (¿se necesita esto?) + * TODO Poder desactivar el control de sincronizacion (�se necesita esto?) * TODO Como se implementa la carga de columnas externas?? * TODO Donde se hacen los controles pre-sincronizacion (nulos db)?? * TODO Hay que definir el manejo de claves (en base a toba_datos_relacion) @@ -70,14 +70,6 @@ function __construct($datos_tabla) } } - /** - * Ventana para agregar configuraciones particulares antes de que el objeto sea construido en su totalidad - * @deprecated - * @see ini - * @ventana - */ - protected function inicializar(){} - /** * Ventana para agregar configuraciones particulares despues de la construccion * @ventana @@ -95,7 +87,7 @@ protected function get_estado_datos_tabla() } /** - * Shorcut a toba::logger()->debug incluyendo infomación básica del componente + * Shorcut a toba::logger()->debug incluyendo infomaci�n b�sica del componente */ protected function log($txt) { @@ -103,7 +95,7 @@ protected function log($txt) } /** - * Método de debug que retorna las propiedades internas + * M�todo de debug que retorna las propiedades internas * @return array */ function info() @@ -140,15 +132,15 @@ function desactivar_transaccion() } /** - * Carga una columna separada del proceso común de carga - * Se brinda una query que carga una o más columnas denominadas como 'externas' - * Una columna externa no participa en la sincronización posterior, pero por necesidades casi siempre estéticas + * Carga una columna separada del proceso com�n de carga + * Se brinda una query que carga una o m�s columnas denominadas como 'externas' + * Una columna externa no participa en la sincronizaci�n posterior, pero por necesidades casi siempre est�ticas * necesitan mantenerse junto al conjunto de datos. * * @param string $sql Query de carga que devolvera un registro conteniendo las columnas 'externas' * @param array $col_parametros Columnas que espera recibir el sql, en la sql necesitan esta el campo entre % (%nombre_campo%) - * @param array $col_resultado Columnas del registro resultante que se tomarán para rellenar la tabla - * @param boolean $sincro_continua En cada pedido de página ejecuta la sql para actualizar los valores de las columnas + * @param array $col_resultado Columnas del registro resultante que se tomar�n para rellenar la tabla + * @param boolean $sincro_continua En cada pedido de p�gina ejecuta la sql para actualizar los valores de las columnas * @param boolean $estricto Indica si es imperioso que la columna externa posea un estado o se * permite que no posea valor. */ @@ -164,17 +156,17 @@ function activar_proceso_carga_externa_sql($sql, $col_parametros, $col_resultado } /** - * Carga una columna separada del proceso común de carga - * Se brinda un DAO que carga una o más columnas denominadas como 'externas' - * Una columna externa no participa en la sincronización posterior, pero por necesidades casi siempre estéticas + * Carga una columna separada del proceso com�n de carga + * Se brinda un DAO que carga una o m�s columnas denominadas como 'externas' + * Una columna externa no participa en la sincronizaci�n posterior, pero por necesidades casi siempre est�ticas * necesitan mantenerse junto al conjunto de datos. * - * @param string $método Método que obtiene los datos. - * @param string $clase Clase a la que pertenece el método. Si es NULL usa el mismo AP + * @param string $m�todo M�todo que obtiene los datos. + * @param string $clase Clase a la que pertenece el m�todo. Si es NULL usa el mismo AP * @param string $include Archivo donde se encuentra la clase. Si es NULL usa el mismo AP * @param array $col_parametros Columnas que espera recibir el DAO. - * @param array $col_resultado Columnas del registro resultante que se tomarán para rellenar la tabla - * @param boolean $sincro_continua En cada pedido de página ejecuta el DAO para actualizar los valores de las columnas + * @param array $col_resultado Columnas del registro resultante que se tomar�n para rellenar la tabla + * @param boolean $sincro_continua En cada pedido de p�gina ejecuta el DAO para actualizar los valores de las columnas * @param boolean $estricto Indica si es imperioso que la columna externa posea un estado o se * permite que no posea valor. */ @@ -194,16 +186,16 @@ function activar_proceso_carga_externa_dao($metodo, $clase=null, $include=null, } /** - * Carga una columna separada del proceso común de carga - * Se brinda un Datos Tabla que carga una o más columnas denominadas como 'externas' - * Una columna externa no participa en la sincronización posterior, pero por necesidades casi siempre estéticas + * Carga una columna separada del proceso com�n de carga + * Se brinda un Datos Tabla que carga una o m�s columnas denominadas como 'externas' + * Una columna externa no participa en la sincronizaci�n posterior, pero por necesidades casi siempre est�ticas * necesitan mantenerse junto al conjunto de datos. * * @param string $tabla Identificador del objeto_datos_tabla a utilizar. - * @param string $metodo Método que obtiene los datos. + * @param string $metodo M�todo que obtiene los datos. * @param array $col_parametros Columnas que espera recibir el DAO. - * @param array $col_resultado Columnas del registro resultante que se tomarán para rellenar la tabla - * @param boolean $sincro_continua En cada pedido de página ejecuta el DAO para actualizar los valores de las columnas + * @param array $col_resultado Columnas del registro resultante que se tomar�n para rellenar la tabla + * @param boolean $sincro_continua En cada pedido de p�gina ejecuta el DAO para actualizar los valores de las columnas * @param boolean $estricto Indica si es imperioso que la columna externa posea un estado o se * permite que no posea valor. */ @@ -236,10 +228,10 @@ function activar_proceso_carga_externa_consulta_php($metodo, $id_consulta_php, $ } /** - * Activa el mecanismo de baja lógica + * Activa el mecanismo de baja l�gica * En este mecanismo en lugar de hacer DELETES actualiza una columna * - * @param string $columna Columna que determina la baja lógica + * @param string $columna Columna que determina la baja l�gica * @param mixed $valor Valor que toma la columna al dar de baja un registro */ function activar_baja_logica($columna, $valor) @@ -263,7 +255,7 @@ function set_schema($schema) } /** - * Activa/Desactiva el uso automático del trim sobre datos en el insert o update + * Activa/Desactiva el uso autom�tico del trim sobre datos en el insert o update * @param boolean $usar */ function set_usar_trim($usar) @@ -277,7 +269,7 @@ function get_usar_trim() } /** - * Activa/Desactiva un mecanismo de chequeo de concurrencia en la edición + * Activa/Desactiva un mecanismo de chequeo de concurrencia en la edici�n */ function set_lock_optimista($usar=true) { @@ -295,7 +287,7 @@ function get_lock_optimista() */ function pertenece_a_tabla(&$col, $tabla) { - // si no está seteado $col['tabla'] entonces no puede ser un ap + // si no est� seteado $col['tabla'] entonces no puede ser un ap // multitabla, por tanto todas las columnas perteneces a la tabla $this->_tabla // porque no hay otra ;) return !isset($col['tabla']) || $tabla == $col['tabla']; @@ -330,7 +322,7 @@ function cargar_por_clave($clave, $anexar_datos=false, $usar_cursores=false) /** * Carga el datos_tabla asociaciado a partir de una clausula where personalizada - * @param string $clausula Cláusula where que será anexada con un AND a las cláusulas básicas de la tabla + * @param string $clausula Cl�usula where que ser� anexada con un AND a las cl�usulas b�sicas de la tabla * @param boolean $anexar_datos Si es false borra todos los datos actuales de la tabla, sino los mantiene y adjunto los nuevos * @param boolean $usar_cursores En caso de anexar datos, fuerza a que los padres de la fila sean los cursores actuales de las tablas padre * @return boolean Falso si no se encontro ningun registro @@ -350,7 +342,7 @@ function cargar_con_where($clausula, $anexar_datos=false, $usar_cursores=false) * @param array $from Tablas extra que participan (la actual se incluye automaticamente) * @param boolean $anexar_datos Si es false borra todos los datos actuales de la tabla, sino los mantiene y adjunto los nuevos * @param boolean $usar_cursores En caso de anexar datos, fuerza a que los padres de la fila sean los cursores actuales de las tablas padre - * @return boolean Falso si no se encontro ningún registro + * @return boolean Falso si no se encontro ning�n registro */ function cargar_con_where_from_especifico($where=null, $from=null, $anexar_datos=false, $usar_cursores=false) { @@ -364,7 +356,7 @@ function cargar_con_where_from_especifico($where=null, $from=null, $anexar_datos * Carga el datos_tabla asociado CON una query SQL directa * @param boolean $anexar_datos Si es false borra todos los datos actuales de la tabla, sino los mantiene y adjunto los nuevos * @param boolean $usar_cursores En caso de anexar datos, fuerza a que los padres de la fila sean los cursores actuales de las tablas padre - * @return boolean Falso si no se encontro ningún registro + * @return boolean Falso si no se encontro ning�n registro */ function cargar_con_sql($sql, $anexar_datos=false, $usar_cursores=false) { @@ -374,7 +366,7 @@ function cargar_con_sql($sql, $anexar_datos=false, $usar_cursores=false) $datos = $db->consultar($sql); }catch(toba_error_db $e){ $mensaje = $e->get_mensaje_motor(); - $mensaje = "Error cargando la tabla $this->_tabla, a continuación el mensaje de la base:
".$mensaje; + $mensaje = "Error cargando la tabla $this->_tabla, a continuaci�n el mensaje de la base:
".$mensaje; $e->set_mensaje_motor($mensaje); toba::logger()->error( get_class($this). ' - '. 'Error cargando datos. ' .$e->getMessage() ); @@ -388,7 +380,7 @@ function cargar_con_sql($sql, $anexar_datos=false, $usar_cursores=false) * @param array $datos Datos a cargar en formato RecordSet. No incluye las columnas externas. * @param boolean $anexar_datos Si es false borra todos los datos actuales de la tabla, sino los mantiene y adjunto los nuevos * @param boolean $usar_cursores En caso de anexar datos, fuerza a que los padres de la fila sean los cursores actuales de las tablas padre - * @return boolean Falso si no se encontro ningún registro + * @return boolean Falso si no se encontro ning�n registro */ function cargar_con_datos($datos, $anexar_datos=false, $usar_cursores=false) { @@ -429,8 +421,8 @@ function cargar_con_datos($datos, $anexar_datos=false, $usar_cursores=false) /** * Sincroniza los cambios en los registros de esta tabla con la base de datos - * Sólo se utiliza cuando la tabla no está involucrada en algun datos_relacion, sino - * la sincronización es guiada por ese objeto + * S�lo se utiliza cuando la tabla no est� involucrada en algun datos_relacion, sino + * la sincronizaci�n es guiada por ese objeto * @return integer Cantidad de registros modificados * @throws toba_error En case de error en la sincronizacion, se aborta la transaccion (si se esta utilizando) */ @@ -450,10 +442,10 @@ function sincronizar($filas=array()) return $modificaciones; } catch(toba_error $e) { if($this->_utilizar_transaccion) { - toba::logger()->info("Abortando transacción en {$this->_fuente}", 'toba'); + toba::logger()->info("Abortando transacci�n en {$this->_fuente}", 'toba'); abortar_transaccion($this->_fuente); } - toba::logger()->debug("Relanzando excepción. ".$e, 'toba'); + toba::logger()->debug("Relanzando excepci�n. ".$e, 'toba'); throw $e; } } @@ -622,7 +614,7 @@ protected function registrar_recuperacion_valor_db($id_registro, $columna, $valo } /** - * Actualiza en los registros los valores generados por el motor durante la transacción + * Actualiza en los registros los valores generados por el motor durante la transacci�n * @ignore */ protected function actualizar_columnas_predeterminadas_db($filas=array()) @@ -641,36 +633,36 @@ protected function actualizar_columnas_predeterminadas_db($filas=array()) } /** - * Ventana para incluír validaciones (disparar una excepcion) o disparar procesos previo a sincronizar con la base de datos - * La transacción con la bd ya fue iniciada (si es que esta definida) + * Ventana para inclu�r validaciones (disparar una excepcion) o disparar procesos previo a sincronizar con la base de datos + * La transacci�n con la bd ya fue iniciada (si es que esta definida) * @ventana */ function evt__pre_sincronizacion(){} /** - * Ventana para incluír validaciones (disparar una excepcion) o disparar procesos antes de terminar de sincronizar con la base de datos - * La transacción con la bd aún no se terminó (si es que esta definida) + * Ventana para inclu�r validaciones (disparar una excepcion) o disparar procesos antes de terminar de sincronizar con la base de datos + * La transacci�n con la bd a�n no se termin� (si es que esta definida) * @ventana */ function evt__post_sincronizacion(){} /** - * Ventana para manejar la pérdida de sincronización con la tabla en la base de datos - * El escenario es que ejecuto un update/delete usando los valores de las columnas originales y no arrojo resultados, con lo que se asume que alguien más modifico el registro en el medio - * La transacción con la bd aún no se terminó (si es que esta definida) + * Ventana para manejar la p�rdida de sincronizaci�n con la tabla en la base de datos + * El escenario es que ejecuto un update/delete usando los valores de las columnas originales y no arrojo resultados, con lo que se asume que alguien m�s modifico el registro en el medio + * La transacci�n con la bd a�n no se termin� (si es que esta definida) * - * @param integer $id_fila Id. de fila de la tabla en la cual se encontró el problema + * @param integer $id_fila Id. de fila de la tabla en la cual se encontr� el problema * @param string $sql_origen Sentencia que se intento ejecutar * @ventana */ function evt__perdida_sincronizacion($id_fila, $sql_origen) { - $mensaje_usuario = "Error de concurrencia en la edición de los datos.

". - "Mientras Ud. editaba esta información, la misma fue modificada por alguien más. ". - "Para garantizar consistencia sólo podrá guardar cambios luego de reiniciar la edición.
"; + $mensaje_usuario = "Error de concurrencia en la edici�n de los datos.

". + "Mientras Ud. editaba esta informaci�n, la misma fue modificada por alguien m�s. ". + "Para garantizar consistencia s�lo podr� guardar cambios luego de reiniciar la edici�n.
"; - //--Hace una consulta SQL contra la tabla para averiguar puntualmente cuál fue el cambio que llevo a esta situación + //--Hace una consulta SQL contra la tabla para averiguar puntualmente cu�l fue el cambio que llevo a esta situaci�n $columnas = array(); foreach ($this->_columnas as $col) { if(!$col['externa'] && $col['tipo'] != 'B') { @@ -704,7 +696,7 @@ function evt__perdida_sincronizacion($id_fila, $sql_origen) if ($modificado) { $anterior = isset($fila_original[$col]) ? "'".$fila_original[$col]."'" : 'NULL'; $actual = isset($fila_base[$col]) ? "'".$fila_base[$col]."'" : 'NULL'; - $diff .= "
  • $col: tenía el valor $anterior y ahora tiene $actual
  • "; + $diff .= "
  • $col: ten�a el valor $anterior y ahora tiene $actual
  • "; } } $diff .= ''; @@ -719,42 +711,42 @@ function evt__perdida_sincronizacion($id_fila, $sql_origen) /** - * Ventana de extensión previo a la inserción de un registro durante una sincronización con la base + * Ventana de extensi�n previo a la inserci�n de un registro durante una sincronizaci�n con la base * @param mixed $id_registro Clave interna del registro * @ventana */ protected function evt__pre_insert($id_registro){} /** - * Ventana de extensión posterior a la inserción de un registro durante una sincronización con la base + * Ventana de extensi�n posterior a la inserci�n de un registro durante una sincronizaci�n con la base * @param mixed $id_registro Clave interna del registro * @ventana */ protected function evt__post_insert($id_registro){} /** - * Ventana de extensión previo a la actualización de un registro durante una sincronización con la base + * Ventana de extensi�n previo a la actualizaci�n de un registro durante una sincronizaci�n con la base * @param mixed $id_registro Clave interna del registro * @ventana */ protected function evt__pre_update($id_registro){} /** - * Ventana de extensión posterior a la actualización de un registro durante una sincronización con la base + * Ventana de extensi�n posterior a la actualizaci�n de un registro durante una sincronizaci�n con la base * @param mixed $id_registro Clave interna del registro * @ventana */ protected function evt__post_update($id_registro){} /** - * Ventana de extensión previa al borrado de un registro durante una sincronización con la base + * Ventana de extensi�n previa al borrado de un registro durante una sincronizaci�n con la base * @param mixed $id_registro Clave interna del registro * @ventana */ protected function evt__pre_delete($id_registro){} /** - * Ventana de extensión posterior al borrado de un registro durante una sincronización con la base + * Ventana de extensi�n posterior al borrado de un registro durante una sincronizaci�n con la base * @param mixed $id_registro Clave interna del registro * @ventana */ @@ -790,7 +782,7 @@ protected function ejecutar_con_binarios($sql, $binarios, $id_fila = null) /** * Genera la sentencia WHERE del estilo ( nombre_columna = valor ) respetando el tipo de datos * @param array $clave Arreglo asociativo clave - valor de la clave a filtrar - * @param boolean $alias Útil para cuando se generan SELECTs complejos + * @param boolean $alias �til para cuando se generan SELECTs complejos * @return array Clausulas where * * @ignore @@ -895,7 +887,7 @@ function get_sql_de_carga($campos) if (isset($this->_sql_carga)) { return $this->generar_sql_select($this->_sql_carga['where'], $this->_sql_carga['from'], $campos); } else { - throw new toba_error_def("AP-TABLA Db: La tabla no ha sido cargada en este pedido de página"); + throw new toba_error_def("AP-TABLA Db: La tabla no ha sido cargada en este pedido de p�gina"); } } @@ -1078,7 +1070,7 @@ function generar_sql_where_registro($id_registro) { $id = array(); if (! $this->_lock_optimista) { - //Sin lock optimista arma el where sólo con las claves + //Sin lock optimista arma el where s�lo con las claves foreach($this->_clave as $clave){ $id[$clave] = $this->_cambios[$id_registro]['clave'][$clave]; } @@ -1280,8 +1272,8 @@ protected function usar_metodo_dao($param_dao, $parametros, $es_carga_inicial = if (method_exists($this, $nombre_metodo)) { $datos = call_user_func_array(array($this,$nombre_metodo), array_values($param_dao)); }else { - $this->log(' ERROR en la carga de una columna externa. El método: '. $nombre_metodo .' no esta definido', 'error'); - throw new toba_error_def('AP_TABLA_DB: ERROR en la carga de una columna externa. Método no definido, revise el log'); + $this->log(' ERROR en la carga de una columna externa. El m�todo: '. $nombre_metodo .' no esta definido', 'error'); + throw new toba_error_def('AP_TABLA_DB: ERROR en la carga de una columna externa. M�todo no definido, revise el log'); } } return $datos; @@ -1300,8 +1292,8 @@ protected function usar_metodo_dt($param_dt, $parametros, $es_carga_inicial = fa $dt = toba_constructor::get_runtime($id, 'toba_datos_tabla'); if (! method_exists($dt, $nombre_metodo)) { $clase = get_class($dt); - $this->log("ERROR en la carga de una columna externa. No existe el método '$nombre_metodo' de la clase '$clase'", 'error'); - throw new toba_error_def('AP_TABLA_DB: ERROR en la carga de una columna externa. Método no definido, revise el log'); + $this->log("ERROR en la carga de una columna externa. No existe el m�todo '$nombre_metodo' de la clase '$clase'", 'error'); + throw new toba_error_def('AP_TABLA_DB: ERROR en la carga de una columna externa. M�todo no definido, revise el log'); } $datos = call_user_func_array(array($dt, $nombre_metodo), array_values($param_dt)); return $datos; @@ -1320,8 +1312,8 @@ protected function usar_clase_consulta_php($param_clase, $parametros, $es_carga_ if (method_exists($obj, $nombre_metodo)) { $datos = call_user_func_array(array($obj,$nombre_metodo), array_values($param_clase)); }else { - $this->log(' ERROR en la carga de una columna externa. El método: '. $nombre_metodo .' no esta definido en la clase de consulta '. $parametros['clase'], 'error'); - throw new toba_error_def('AP_TABLA_DB: ERROR en la carga de una columna externa. Método no definido, revise el log'); + $this->log(' ERROR en la carga de una columna externa. El m�todo: '. $nombre_metodo .' no esta definido en la clase de consulta '. $parametros['clase'], 'error'); + throw new toba_error_def('AP_TABLA_DB: ERROR en la carga de una columna externa. M�todo no definido, revise el log'); } return $datos; } @@ -1352,8 +1344,8 @@ protected function adjuntar_campos_externos_masivo($datos, $externos, $parametro } } if (empty($campos_externos) && $es_obligatoria) { - $this->log('El método de carga masiva no devuelve los campos clave, no se puede adjuntar los datos externos', 'error'); - throw new toba_error_def('AP_TABLA_DB: ERROR El método de carga no devuelve los campos clave, no se puede adjuntar los datos externos'); + $this->log('El m�todo de carga masiva no devuelve los campos clave, no se puede adjuntar los datos externos', 'error'); + throw new toba_error_def('AP_TABLA_DB: ERROR El m�todo de carga no devuelve los campos clave, no se puede adjuntar los datos externos'); } $claves = array_keys($datos); foreach($claves as $id) { @@ -1408,7 +1400,7 @@ protected function verificar_existencia_valores($fila, $parametros, $evento = nu foreach( $parametros['col_parametro'] as $col_llave ) { if (isset($evento) && isset($this->_secuencias[$col_llave])) { toba_logger::instancia()->error("AP_TABLA: [{$this->_tabla}]:\n No puede actualizarse en linea un valor que dependende de una secuencia ($col_llave)"); - throw new toba_error_def('AP_TABLA_DB: No puede actualizarse en línea un valor secuencia, revise el log'); + throw new toba_error_def('AP_TABLA_DB: No puede actualizarse en l�nea un valor secuencia, revise el log'); } if (!isset($fila[$col_llave])) { $estan_todos = false; diff --git a/php/nucleo/componentes/persistencia/toba_datos_relacion.php b/php/nucleo/componentes/persistencia/toba_datos_relacion.php index f3a797bddd..9fa91eeefe 100644 --- a/php/nucleo/componentes/persistencia/toba_datos_relacion.php +++ b/php/nucleo/componentes/persistencia/toba_datos_relacion.php @@ -1,9 +1,9 @@ _relaciones_mapeos = array(); $this->_relaciones_mapeos_eliminados = array(); @@ -74,7 +74,7 @@ function destruir() } /** - * Carga los datos_tabla y les pone los topes mínimos y máximos + * Carga los datos_tabla y les pone los topes m�nimos y m�ximos */ private function crear_tablas() { @@ -91,7 +91,7 @@ private function crear_tablas() } /** - * Para cada relación definida crea una toba_relacion_entre_tablas + * Para cada relaci�n definida crea una toba_relacion_entre_tablas * Determina cual es la tabla raiz */ private function crear_relaciones() @@ -132,7 +132,7 @@ private function crear_relaciones() } /** - * Deshabilita la tabla o las tablas recibidas para la carga y la sincronización + * Deshabilita la tabla o las tablas recibidas para la carga y la sincronizaci�n */ function desactivar_tablas($tablas) { @@ -233,7 +233,7 @@ protected function dump_esquema_relaciones($nodo) echo "var $var_mapeo = ".toba_js::arreglo($mapeo, true).";\n"; echo toba_js::cerrar(); - //Calculo la cantidad de filas padres e hijas involucradas en la relación + //Calculo la cantidad de filas padres e hijas involucradas en la relaci�n $cant_padres = 0; $cant_hijos = 0; $mapeo_hijos = array(); @@ -245,7 +245,7 @@ protected function dump_esquema_relaciones($nodo) } $cant_hijos = count(array_unique($mapeo_hijos)); - //Incluyo la relación + //Incluyo la relaci�n $diagrama .= $padre_id . " -> " . $hijo_id . " [fontsize=6,color=gray, label=\"$cant_padres - $cant_hijos\"". //Esta truchada es para arreglar otra ceguera del IE @@ -263,7 +263,7 @@ protected function dump_esquema_relaciones($nodo) function orden_sincronizacion() { if ($this->_info_estructura['sinc_orden_automatico']) { - //-- Se construye el orden topológico + //-- Se construye el orden topol�gico $sorter = new Structures_Graph_Manipulator_TopologicalSorter(); $deps = $this->get_tablas_activas(); $rel = $this->get_relaciones_activas(); @@ -293,7 +293,7 @@ function orden_sincronizacion() /** * Retorna el orden hacia adelante en el cual se deben cargar las tablas - * Por defecto es el mismo que el orden de sincronización + * Por defecto es el mismo que el orden de sincronizaci�n * @return array Arreglo id_tabla => toba_datos_tabla */ function orden_carga() @@ -334,7 +334,7 @@ static function grafo_relaciones($tablas, $relaciones) //------------------------------------------------------------------------------- /** - * Retorna los identificadores de los datos_tabla incluídos en la relación + * Retorna los identificadores de los datos_tabla inclu�dos en la relaci�n * @return array */ function get_lista_tablas() @@ -343,8 +343,8 @@ function get_lista_tablas() } /** - * Retorna una referencia a una tabla perteneciente a la relación - * @param string $tabla Id. de la tabla en la relación + * Retorna una referencia a una tabla perteneciente a la relaci�n + * @param string $tabla Id. de la tabla en la relaci�n * @return toba_datos_tabla */ function tabla($tabla) @@ -358,7 +358,7 @@ function tabla($tabla) } /** - * Retorna las tablas de una relación + * Retorna las tablas de una relaci�n * @return array de toba_datos_tabla */ function get_tablas() @@ -367,7 +367,7 @@ function get_tablas() } /** - * Retorna las tablas que están habilitadas para la carga y la sincronización + * Retorna las tablas que est�n habilitadas para la carga y la sincronizaci�n * @return array de toba_datos_tabla */ function get_tablas_activas() @@ -386,7 +386,7 @@ function get_tablas_activas() } /** - * Retorna relaciones de las tablas que están habilitadas para la carga y la sincronización + * Retorna relaciones de las tablas que est�n habilitadas para la carga y la sincronizaci�n * @return array de toba_datos_tabla */ function get_relaciones_activas() @@ -405,8 +405,8 @@ function get_relaciones_activas() } /** - * Determina si una tabla es parte de la relación - * @param string $tabla Id. de la tabla en la relación + * Determina si una tabla es parte de la relaci�n + * @param string $tabla Id. de la tabla en la relaci�n * @return boolean */ function existe_tabla($tabla) @@ -415,8 +415,8 @@ function existe_tabla($tabla) } /** - * Retorna al estado inicial todas las tablas incluídas - * Para volver a utilizar estas tablas se debe cargar nuevamente la relación con datos + * Retorna al estado inicial todas las tablas inclu�das + * Para volver a utilizar estas tablas se debe cargar nuevamente la relaci�n con datos */ function resetear() { @@ -427,7 +427,7 @@ function resetear() } /** - * Asegura que ningún cursor de alguna tabla se encuentre posicionado en ninguna fila específica + * Asegura que ning�n cursor de alguna tabla se encuentre posicionado en ninguna fila espec�fica */ function resetear_cursores() { @@ -437,13 +437,13 @@ function resetear_cursores() } /** - * Ventana para validaciones específicas, se ejecuta justo antes de la sincronización + * Ventana para validaciones espec�ficas, se ejecuta justo antes de la sincronizaci�n * @ventana */ protected function evt__validar(){} /** - * Valida cada una de las tablas incluídas en la relación + * Valida cada una de las tablas inclu�das en la relaci�n */ function disparar_validacion_tablas() { @@ -469,7 +469,7 @@ function get_conjunto_datos_interno() //------------------------------------------------------------------------------- /** - * Retorna una referenca al Adm.Persistencia de la relación + * Retorna una referenca al Adm.Persistencia de la relaci�n * @return toba_ap_relacion_db */ function persistidor() @@ -496,18 +496,10 @@ function persistidor() return $this->_persistidor; } - /** - * @deprecated usar persistidor() a secas - */ - function get_persistidor() - { - return $this->persistidor(); - } - /** * Utiliza la carga por clave del administrador de persistencia - * Carga la tabla raiz de la relación y a partir de allí ramifica la carga a sus relaciones - * @param array $clave Arreglo asociativo campo-valor por el cual filtrar la relación, si no se explicita se cargan todos los datos disponibles + * Carga la tabla raiz de la relaci�n y a partir de all� ramifica la carga a sus relaciones + * @param array $clave Arreglo asociativo campo-valor por el cual filtrar la relaci�n, si no se explicita se cargan todos los datos disponibles * @return boolean Falso, si no se encontraron registros */ function cargar($clave=array()) @@ -545,8 +537,8 @@ function set_cargado($cargado) /** * Fuerza a que los datos_tabla contenidos marquen todos sus filas como nuevas - * Esto implica que a la hora de la sincronización se van a generar INSERTS para todas las filas. - * Se utiliza para forzar una clonación completa de los datos una relación. + * Esto implica que a la hora de la sincronizaci�n se van a generar INSERTS para todas las filas. + * Se utiliza para forzar una clonaci�n completa de los datos una relaci�n. */ function forzar_insercion() { @@ -564,7 +556,7 @@ function sincronizar($usar_cursores=false) $this->disparar_validacion_tablas(); $this->evt__validar(); $this->persistidor()->sincronizar(); - //Se notifica el fin de la sincronización a las tablas + //Se notifica el fin de la sincronizaci�n a las tablas foreach ($this->_dependencias as $dependencia) { $dependencia->notificar_fin_sincronizacion(); } @@ -599,7 +591,7 @@ function sincronizar_filas($filas_tablas) } $this->evt__validar(); $this->persistidor()->sincronizar(false, $filas_tablas); - //Se notifica el fin de la sincronización a las tablas + //Se notifica el fin de la sincronizaci�n a las tablas foreach ($this->_dependencias as $id => $dependencia) { if (isset($filas_tablas[$id])) { $dependencias->notificar_fin_sincronizacion($filas_tablas[$id]); @@ -608,7 +600,7 @@ function sincronizar_filas($filas_tablas) } /** - * Elimina y sincroniza en el medio de persistencia todos los datos cargados en la relación + * Elimina y sincroniza en el medio de persistencia todos los datos cargados en la relaci�n */ function eliminar_todo() { @@ -617,18 +609,7 @@ function eliminar_todo() } /** - * Usar eliminar_todo, es más explícito - * @deprecated Desde 0.8.4, usar eliminar_todo, es más explícito - * @see eliminar_todo() - */ - function eliminar() - { - toba::logger()->obsoleto(__CLASS__, __METHOD__, "0.8.4", "Usar eliminar_todo"); - $this->eliminar_todo(); - } - - /** - * Retorna el id de las tablas que no tienen padres en la relación + * Retorna el id de las tablas que no tienen padres en la relaci�n * @return array */ function get_tablas_raiz() @@ -683,15 +664,15 @@ function get_columnas_tabla_hija($datos) } /** - * Carga en el nodo xml los datos cargados en el DR. Funciona sólo para relaciones que se modelan como un árbol, no grafos. + * Carga en el nodo xml los datos cargados en el DR. Funciona s�lo para relaciones que se modelan como un �rbol, no grafos. * @param SimpleXMLElement $xml Es el nodo XML donde se van a cargar todos los datos */ function get_xml($xml){ - // Controla que haya una única tabla raiz + // Controla que haya una �nica tabla raiz if(count($this->_tablas_raiz) != 1) - throw new toba_error_def('El datos_relacion no posee una única tabla raiz.'); + throw new toba_error_def('El datos_relacion no posee una �nica tabla raiz.'); // Recupera los registros de la tabla raiz para armar cada unidad del XML. $datos_raiz = $this->_dependencias[$this->_tablas_raiz[0]]->get_filas(); @@ -705,26 +686,26 @@ function get_xml($xml){ /** * Arma un nodo XML para un registro de un datos tabla, con sus columnas como atributos y sus registros de tablas hijas como nuevos nodos internos - * Es un método recursivo con la siguiente estructura: + * Es un m�todo recursivo con la siguiente estructura: * a) Setea el cursor en el registro dado de la tabla dada - * b) agrega los datos del registro en el que se está parado como atributos del nodo xml recibido + * b) agrega los datos del registro en el que se est� parado como atributos del nodo xml recibido * c) Para cada tabla hija agrega un nodo al nodo dado. - * d) Para cada registro de cada tabla hija, agrega un nodo al nodo creado en c) y llama recursivamente a la función + * d) Para cada registro de cada tabla hija, agrega un nodo al nodo creado en c) y llama recursivamente a la funci�n * - * @param SimpleXMLElement $xml es el nodo donde se va a agregar la información + * @param SimpleXMLElement $xml es el nodo donde se va a agregar la informaci�n * @param string $tabla la tabla de la que se van a sacar los datos * @clave int $clave es la clave del registro de la tabla del que se van a sacar los datos */ protected function armar_xml($xml,$tabla,$clave) { - // Setea el cursor de la tabla (esto además está seteando un cursor en las tablas hijas + // Setea el cursor de la tabla (esto adem�s est� seteando un cursor en las tablas hijas $this->_dependencias[$tabla]->set_cursor($clave); // Agrega los datos del registro seleccionado como atributos $this->_dependencias[$tabla]->get_xml($xml); - // Recupera las tablas hijas de la tabla que se está recorriendo + // Recupera las tablas hijas de la tabla que se est� recorriendo $tablas_hijas = $this->get_tablas_hijas($tabla); // Para cada tabla hija, agrega un nodo al nodo dado @@ -732,7 +713,7 @@ protected function armar_xml($xml,$tabla,$clave) $id_filas_hijas = $this->_dependencias[$tabla_hija]->get_id_filas(); $xml2 = $xml->addChild($tabla_hija); - // Para cada registro de las tablas hijas seleccionado según el cursor, agrego un nodo y llamo recursivamente + // Para cada registro de las tablas hijas seleccionado seg�n el cursor, agrego un nodo y llamo recursivamente foreach($id_filas_hijas as $id_fila_hija){ $xml3 = $xml2->addChild('registro'); $this->armar_xml($xml3,$tabla_hija,$id_fila_hija); @@ -759,8 +740,8 @@ protected function get_tablas_hijas($tabla) // Controlo que se haya encontrado la tabla if(!$id_objeto_padre){ - toba_logger::instancia()->error("No se puede obtener el conjunto de tablas hija de la tabla $tabla, que no pertenece a la relación."); - throw new toba_error_def('La tabla no pertenece a la relación, revise el log'); + toba_logger::instancia()->error("No se puede obtener el conjunto de tablas hija de la tabla $tabla, que no pertenece a la relaci�n."); + throw new toba_error_def('La tabla no pertenece a la relaci�n, revise el log'); } // Busco todos los id de objeto de las tablas hijas $objetos_hijos = array(); diff --git a/php/nucleo/componentes/persistencia/toba_datos_tabla.php b/php/nucleo/componentes/persistencia/toba_datos_tabla.php index 0eccc234b5..693b54eb36 100644 --- a/php/nucleo/componentes/persistencia/toba_datos_tabla.php +++ b/php/nucleo/componentes/persistencia/toba_datos_tabla.php @@ -4,8 +4,8 @@ * * - Utiliza un administrador de persistencia para obtener y sincronizar los datos con un medio de persistencia. * - Una vez en memoria existen primitivas para trabajar sobre estos datos. - * - Los datos y sus modificaciones son mantenidos automáticamente en sesión entre los distintos pedidos de página. - * - Una vez terminada la edición se hace la sincronización con el medio de persistencia marcando el final de la transacción de negocios. + * - Los datos y sus modificaciones son mantenidos autom�ticamente en sesi�n entre los distintos pedidos de p�gina. + * - Una vez terminada la edici�n se hace la sincronizaci�n con el medio de persistencia marcando el final de la transacci�n de negocios. * * TODO Control de FK y PK * @package Componentes\Persistencia @@ -31,7 +31,7 @@ class toba_datos_tabla extends toba_componente protected $_cambios = array(); // Cambios realizados sobre los datos protected $_datos = array(); // Datos cargados en el db_filas protected $_proxima_fila = 0; // Posicion del proximo registro en el array de datos - protected $_cursor; // Puntero a una fila específica + protected $_cursor; // Puntero a una fila espec�fica protected $_cursor_original; // Backup del cursor que se usa para deshacer un seteo protected $_cargada = false; protected $_from; @@ -205,7 +205,7 @@ function get_proximo_id() } /** - * Shorcut a toba::logger()->debug incluyendo infomación básica del componente + * Shorcut a toba::logger()->debug incluyendo infomaci�n b�sica del componente */ protected function log($txt) { @@ -237,7 +237,7 @@ function get_relaciones_con_padres() } /** - * Retorna la relación con una tabla padre + * Retorna la relaci�n con una tabla padre * @return object * @see toba_relacion_entre_tablas * @ignore @@ -384,7 +384,7 @@ function get_cantidad_filas_a_sincronizar() /** * Retorna lasfilas que sufrieron cambios desde la carga - * @param array $cambios Combinación de tipos de cambio a buscar: d, i o u (por defecto los tres) + * @param array $cambios Combinaci�n de tipos de cambio a buscar: d, i o u (por defecto los tres) * @return array Ids. internos */ function get_id_filas_a_sincronizar( $cambios=array("d","i","u") ) @@ -430,7 +430,7 @@ function set_tope_max_filas($cantidad) } /** - * Cambia la cantidad mínima de filas que debe contener la tabla + * Cambia la cantidad m�nima de filas que debe contener la tabla * @param integer $cantidad 0 si no hay tope */ function set_tope_min_filas($cantidad) @@ -453,7 +453,7 @@ function set_no_duplicado( $columnas ) } /** - * Indica que la tabla maneja un único registro en memoria, habilitando la api get/set + * Indica que la tabla maneja un �nico registro en memoria, habilitando la api get/set * @param boolean $unico */ function set_es_unico_registro($unico) @@ -467,8 +467,8 @@ function set_es_unico_registro($unico) /** * Fija el cursor en una fila dada - * Cuando la tabla tiene un cursor muchas de sus operaciones empiezan a tratar a esta fila como la única - * y sus tablas padres e hijas también. Por ejemplo al pedir las filas de la tabla hija solo retorna aquellas filas hijas del registro cursor de la tabla padre. + * Cuando la tabla tiene un cursor muchas de sus operaciones empiezan a tratar a esta fila como la �nica + * y sus tablas padres e hijas tambi�n. Por ejemplo al pedir las filas de la tabla hija solo retorna aquellas filas hijas del registro cursor de la tabla padre. * @param mixed $id Id. interno de la fila */ function set_cursor($id) @@ -479,8 +479,8 @@ function set_cursor($id) $this->_cursor = $id; $this->log("Nuevo cursor '{$this->_cursor}' en reemplazo del anterior '{$this->_cursor_original}'"); }else{ - toba_logger::instancia()->error($this->get_txt() . "La fila '$id' no es válida"); - throw new toba_error_def('La fila solicitada no es válida'); + toba_logger::instancia()->error($this->get_txt() . "La fila '$id' no es v�lida"); + throw new toba_error_def('La fila solicitada no es v�lida'); } } @@ -495,7 +495,7 @@ function restaurar_cursor() /** - * Asegura que el cursor no se encuentre posicionado en ninguna fila específica + * Asegura que el cursor no se encuentre posicionado en ninguna fila espec�fica */ function resetear_cursor() { @@ -528,7 +528,7 @@ function hay_cursor() /** * Retorna el conjunto de filas que respeta las condiciones dadas - * Por defecto la búsqueda es afectada por la presencia de cursores en las tablas padres. + * Por defecto la b�squeda es afectada por la presencia de cursores en las tablas padres. * @param array $condiciones Se utiliza este arreglo campo=>valor y se retornan los registros que cumplen (con condicion de igualdad) con estas restricciones. El valor no puede ser NULL porque siempre da falso * @param boolean $usar_id_fila Hace que las claves del array resultante sean * las claves internas del datos_tabla. Sino se usa una clave posicional y @@ -557,7 +557,7 @@ function get_filas($condiciones=null, $usar_id_fila=false, $usar_cursores=true) * Retorna los ids de todas las filas (sin eliminar) de esta tabla * @param boolean $usar_cursores Este conjunto de filas es afectado por la presencia de cursores en las tablas padres * @return array() - * @todo Se podría optimizar este método para no recaer en tantos recorridos + * @todo Se podr�a optimizar este m�todo para no recaer en tantos recorridos */ function get_id_filas($usar_cursores=true) { @@ -568,7 +568,7 @@ function get_id_filas($usar_cursores=true) } } if ($usar_cursores) { - //Si algún padre tiene un cursor posicionado, + //Si alg�n padre tiene un cursor posicionado, //se restringe a solo las filas que son hijas de esos cursores foreach ($this->_relaciones_con_padres as $id => $rel_padre) { $coincidencias = $rel_padre->filtrar_filas_hijas($coincidencias); @@ -581,7 +581,7 @@ function get_id_filas($usar_cursores=true) * Retorna los ids de todas las filas (sin eliminar) de esta tabla * @param boolean $usar_cursores Este conjunto de filas es afectado por la presencia de cursores en las tablas padres * @return array() - * @todo Se podría optimizar este método para no recaer en tantos recorridos + * @todo Se podr�a optimizar este m�todo para no recaer en tantos recorridos */ function get_id_filas_filtradas_por_cursor($incluir_eliminados=false) { @@ -635,7 +635,7 @@ function get_id_fila_padre($tabla_padre, $id_fila) * Busca los registros en memoria que cumplen una condicion. * Solo se chequea la condicion de igualdad. No se chequean tipos * @param array $condiciones Asociativo de campo => valor. El valor no puede ser NULL porque siempre da falso - * Para condiciones más complejas (no solo igualdad) puede ser array($columna, $condicion, $valor), + * Para condiciones m�s complejas (no solo igualdad) puede ser array($columna, $condicion, $valor), * por ejemplo array(array('id_persona','>=',10),...) * @param boolean $usar_cursores Este conjunto de filas es afectado por la presencia de cursores en las tablas padres * @return array Ids. internos de las filas, pueden no estar numerado correlativamente @@ -667,7 +667,7 @@ function get_id_fila_condicion($condiciones=null, $usar_cursores=true) } if( !isset($this->_columnas[$columna]) ){ toba_logger::instancia()->error("El campo '$columna' no existe. No es posible filtrar por dicho campo"); - throw new toba_error_def('Párametro de filtrado incorrecto, revise el log'); + throw new toba_error_def('P�rametro de filtrado incorrecto, revise el log'); } if(!isset($this->_datos[$id_fila][$columna])) { // Es posible que una fila no posea una columa. Ej: una nueva fila no tiene la clave si esta es una secuencia. @@ -722,7 +722,7 @@ function get_fila_columna($id, $columna) } /** - * Retorna los valores de una columna específica + * Retorna los valores de una columna espec�fica * El conjunto de filas utilizado es afectado por la presencia de cursores en las tablas padres * @param string $columna Nombre del campo o columna * @return array Arreglo plano de valores @@ -783,7 +783,7 @@ function existe_fila($id) * Busca los registros en memoria que cumplen una condicion. * Solo se chequea la condicion de igualdad. No se chequean tipos * @param array $condiciones Asociativo de campo => valor. - * Para condiciones más complejas (no solo igualdad) puede ser array($columna, $condicion, $valor), + * Para condiciones m�s complejas (no solo igualdad) puede ser array($columna, $condicion, $valor), * por ejemplo array(array('id_persona','>=',10),...) * @param boolean $usar_cursores Este conjunto de filas es afectado por la presencia de cursores en las tablas padres */ @@ -867,8 +867,8 @@ function nueva_fila($fila=array(), $ids_padres=null, $id_nuevo=null) * Solo se modifican los valores de las columnas enviadas y que realmente cambien el valor de la fila. * @param mixed $id Id. interno de la fila a modificar * @param array $fila Contenido de la fila, en formato columna=>valor, puede ser incompleto - * @param array $nuevos_padres Arreglo (id_tabla_padre => $id_fila_padre, ....), solo se cambian los padres que se pasan por parámetros - * El resto de los padres sigue con la asociación anterior + * @param array $nuevos_padres Arreglo (id_tabla_padre => $id_fila_padre, ....), solo se cambian los padres que se pasan por par�metros + * El resto de los padres sigue con la asociaci�n anterior * @return mixed Id. interno de la fila modificada */ function modificar_fila($id, $fila, $nuevos_padres=null) @@ -924,8 +924,8 @@ function modificar_fila($id, $fila, $nuevos_padres=null) /** * Cambia los padres de una fila * @param mixed $id_fila - * @param array $nuevos_padres Arreglo (id_tabla_padre => $id_fila_padre, ....), solo se cambian los padres que se pasan por parámetros - * El resto de los padres sigue con la asociación anterior + * @param array $nuevos_padres Arreglo (id_tabla_padre => $id_fila_padre, ....), solo se cambian los padres que se pasan por par�metros + * El resto de los padres sigue con la asociaci�n anterior */ function cambiar_padre_fila($id_fila, $nuevos_padres) { @@ -938,7 +938,7 @@ function cambiar_padre_fila($id_fila, $nuevos_padres) $cambio_padre = false; foreach ($nuevos_padres as $tabla_padre => $id_padre) { if (!isset($this->_relaciones_con_padres[$tabla_padre])) { - $mensaje = ' CAMBIAR PADRE. No existe una relación padre'; + $mensaje = ' CAMBIAR PADRE. No existe una relaci�n padre'; toba_logger::instancia()->error( $this->get_txt(). $mensaje . "$tabla_padre"); throw new toba_error_def($mensaje); } @@ -972,7 +972,7 @@ function eliminar_fila($id) $this->resetear_cursor(); } $this->notificar_contenedor("pre_eliminar", $id); - //Se notifica la eliminación a las relaciones + //Se notifica la eliminaci�n a las relaciones foreach ($this->_relaciones_con_hijos as $rel) { $rel->evt__eliminacion_fila_padre($id); } @@ -1014,12 +1014,12 @@ function set_fila_columna_valor($id, $columna, $valor) if( isset($this->_columnas[$columna]) ){ $this->modificar_fila($id, array($columna => $valor)); }else{ - toba_logger::instancia()->error("La columna '$columna' no es válida"); - throw new toba_error_def('Columna no válida, revise el log'); + toba_logger::instancia()->error("La columna '$columna' no es v�lida"); + throw new toba_error_def('Columna no v�lida, revise el log'); } }else{ - toba_logger::instancia()->error("La fila '$id' no es válida"); - throw new toba_error_def('La fila no es válida, revise el log'); + toba_logger::instancia()->error("La fila '$id' no es v�lida"); + throw new toba_error_def('La fila no es v�lida, revise el log'); } } @@ -1033,8 +1033,8 @@ function set_fila_columna_valor($id, $columna, $valor) function set_columna_valor($columna, $valor, $con_cursores=false) { if(! isset($this->_columnas[$columna]) ) { - toba_logger::instancia()->error("La columna '$columna' no es válida"); - throw new toba_error_def('La columna no es válida, revise el log'); + toba_logger::instancia()->error("La columna '$columna' no es v�lida"); + throw new toba_error_def('La columna no es v�lida, revise el log'); } foreach($this->get_id_filas($con_cursores) as $fila) { $this->modificar_fila($fila, array($columna => $valor)); @@ -1062,7 +1062,7 @@ function procesar_filas($filas, $ids_padres=null) if(!isset($filas[$id][apex_ei_analisis_fila])){ toba_logger::instancia()->error('Se intenta procesar datos que no poseen la columna apex_ei_analisis_fila '. var_export($filas[$id], true)); throw new toba_error_def('Para procesar un conjunto de registros es necesario indicar el estado '. - 'Si los datos provienen de un ML, active la opción de analizar filas.'); + 'Si los datos provienen de un ML, active la opci�n de analizar filas.'); } } //--- Se asume que el id de la fila es la key del registro o la columna apex_datos_clave_fila. @@ -1091,12 +1091,12 @@ function procesar_filas($filas, $ids_padres=null) } //------------------------------------------------------------------------------- - //-- Simplificación sobre una sola línea + //-- Simplificaci�n sobre una sola l�nea //------------------------------------------------------------------------------- /** * Cambia el contenido de la fila donde se encuentra el cursor interno - * Si la tabla se definio admitiendo a lo sumo un registro, este cursor se posiciona automáticamente en la carga, sino se debe explicitar con el método set_cursor + * Si la tabla se definio admitiendo a lo sumo un registro, este cursor se posiciona autom�ticamente en la carga, sino se debe explicitar con el m�todo set_cursor * En caso que no existan filas, se crea una nueva y se posiciona el cursor en ella * Si la fila es null, se borra la fila actual * @@ -1120,7 +1120,7 @@ function set($fila) /** * Retorna el contenido de la fila donde se encuentra posicionado el cursor interno - * Si la tabla se definio admitiendo a lo sumo un registro, este cursor se posiciona automáticamente en la carga, sino se debe explicitar con el método set_cursor + * Si la tabla se definio admitiendo a lo sumo un registro, este cursor se posiciona autom�ticamente en la carga, sino se debe explicitar con el m�todo set_cursor * En caso de que no haya registros retorna NULL */ function get() @@ -1157,7 +1157,7 @@ function set_blob($columna, $blob, $id_fila=null) throw new toba_error_def('No hay posicionado un cursor en la tabla, no es posible determinar la fila actual'); } } - //Borra algïñun cache previo + //Borra alg��un cache previo if (isset($this->_blobs[$id_fila][$columna]['path']) && $this->_blobs[$id_fila][$columna]['path'] != '') { $path = $this->_blobs[$id_fila][$columna]['path']; if (file_exists($path)) { @@ -1251,7 +1251,7 @@ private function validar_fila($fila, $id=null) { if(!is_array($fila)){ toba_logger::instancia()->error($this->get_txt() . ' La fila debe ser una array'); - throw new toba_error_def(' La fila no es válida, revise el log'); + throw new toba_error_def(' La fila no es v�lida, revise el log'); } $this->evt__validar_ingreso($fila, $id); $this->control_estructura_fila($fila); @@ -1330,7 +1330,7 @@ protected function validar_columnas_en_fila($columnas, $fila, $id) //------------------------------------------------------------------------------- /** - * Validacion de toda la tabla necesaria previa a la sincronización + * Validacion de toda la tabla necesaria previa a la sincronizaci�n */ function validar($filas=array()) { @@ -1350,7 +1350,7 @@ function validar($filas=array()) } /** - * Ventana para hacer validaciones particulares previo a la sincronización + * Ventana para hacer validaciones particulares previo a la sincronizaci�n * El proceso puede ser abortado con un toba_error, el mensaje se muestra al usuario * @param array $fila Asociativo clave-valor de la fila a validar * @@ -1384,13 +1384,13 @@ private function control_nulos($fila) } */ /** - * Valida que la cantidad de filas supere el mínimo establecido + * Valida que la cantidad de filas supere el m�nimo establecido */ protected function control_tope_minimo_filas() { if ($this->_tope_min_filas != 0 && $this->get_cantidad_filas() < $this->_tope_min_filas) { - toba_logger::instancia()->error("La tabla {$this->_id_en_controlador} requiere ingresar al menos {$this->_tope_min_filas} registro/s (se encontraron sólo {$this->get_cantidad_filas()})."); - throw new toba_error_validacion('El número de filas enviadas no es adecuado'); + toba_logger::instancia()->error("La tabla {$this->_id_en_controlador} requiere ingresar al menos {$this->_tope_min_filas} registro/s (se encontraron s�lo {$this->get_cantidad_filas()})."); + throw new toba_error_validacion('El n�mero de filas enviadas no es adecuado'); } } @@ -1400,8 +1400,8 @@ protected function control_tope_minimo_filas() protected function control_tope_maximo_filas($cantidad) { if (($this->_tope_max_filas != 0) && ($cantidad > $this->_tope_max_filas)) { - toba_logger::instancia()->error("No está permitido ingresar más de {$this->_tope_max_filas} registros en la tabla {$this->_id_en_controlador} (se encontraron $cantidad)."); - throw new toba_error_validacion('El número de filas enviadas no es adecuado'); + toba_logger::instancia()->error("No est� permitido ingresar m�s de {$this->_tope_max_filas} registros en la tabla {$this->_id_en_controlador} (se encontraron $cantidad)."); + throw new toba_error_validacion('El n�mero de filas enviadas no es adecuado'); } } @@ -1411,7 +1411,7 @@ protected function control_tope_maximo_filas($cantidad) //------------------------------------------------------------------------------- /** - * Retorna el admin. de persistencia que asiste a este objeto durante la sincronización + * Retorna el admin. de persistencia que asiste a este objeto durante la sincronizaci�n * @return toba_ap_tabla_db */ function persistidor() @@ -1421,8 +1421,8 @@ function persistidor() $clase = $this->_info_estructura['ap_sub_clase']; $include = $this->_info_estructura['ap_sub_clase_archivo']; if( (trim($clase) == '' ) ){ - toba_logger::instancia()->error($this->get_txt() . 'Error en la definición, falta definir la subclase'); - throw new toba_error_def('Error de definición del persistidor, revise el log'); + toba_logger::instancia()->error($this->get_txt() . 'Error en la definici�n, falta definir la subclase'); + throw new toba_error_def('Error de definici�n del persistidor, revise el log'); } }else{ $clase = 'toba_'.$this->_info_estructura['ap_clase']; @@ -1440,15 +1440,6 @@ function persistidor() } return $this->_persistidor; } - - /** - * @deprecated Usar persistidor() a secas - */ - function get_persistidor() - { - return $this->persistidor(); - } - /** @@ -1537,7 +1528,7 @@ function anexar_datos($datos, $usar_cursores=true) } /** - * Sincroniza la tabla en memoria con el medio físico a travéz del administrador de persistencia. + * Sincroniza la tabla en memoria con el medio f�sico a trav�z del administrador de persistencia. * * @return integer Cantidad de registros modificados en el medio */ @@ -1561,7 +1552,7 @@ function sincronizar($usar_cursores=false) } /** - * Sincroniza un conjunto de filas de la tabla en memoria con el medio físico a travéz del administrador de persistencia. + * Sincroniza un conjunto de filas de la tabla en memoria con el medio f�sico a trav�z del administrador de persistencia. * * @return integer Cantidad de registros modificados en el medio */ @@ -1585,15 +1576,6 @@ function eliminar_todo() $this->persistidor()->sincronizar_eliminados(); $this->resetear(); } - - /** - * @deprecated Desde 0.8.4, usar eliminar_todo() - */ - function eliminar() - { - toba::logger()->obsoleto(__CLASS__, __METHOD__, "0.8.4", "Usar eliminar_todo"); - $this->eliminar_todo(); - } /** * Deja la tabla sin carga alguna, se pierden todos los cambios realizados desde la carga @@ -1632,7 +1614,7 @@ function resetear() /*--- Del AP a mi ---*/ /** - * El AP avisa que terminó la sincronización + * El AP avisa que termin� la sincronizaci�n * @ignore */ function notificar_fin_sincronizacion($filas=array()) @@ -1716,7 +1698,7 @@ function get_schema_ext() /** * Retorna el alias utilizado para desambiguar la tabla en uniones tales como JOINs - * Se toma el primero seteado de: el alias definido, el rol en la relación o el nombre de la tabla + * Se toma el primero seteado de: el alias definido, el rol en la relaci�n o el nombre de la tabla * @return string */ function get_alias() @@ -1732,7 +1714,7 @@ function get_alias() /** * La tabla posee alguna columna marcada como de 'carga externa' - * Una columna externa no participa en la sincronización posterior, pero por necesidades casi siempre estáticas + * Una columna externa no participa en la sincronizaci�n posterior, pero por necesidades casi siempre est�ticas * necesitan mantenerse junto al conjunto de datos. * @return boolean */ @@ -1813,7 +1795,7 @@ protected function registrar_cambio($fila, $estado) } /** - * Determina si los datos cargados en la tabla difieren de los datos existentes en la base al inicio de la transacción + * Determina si los datos cargados en la tabla difieren de los datos existentes en la base al inicio de la transacci�n * @return boolean */ function hay_cambios() @@ -1833,7 +1815,7 @@ function hay_cambios() } /** - * Retorna verdadero si algún valor de la tabla cambio desde el inicio de la transacción + * Retorna verdadero si alg�n valor de la tabla cambio desde el inicio de la transacci�n * @return boolean */ function hay_cambios_fila($id_fila) diff --git a/php/nucleo/componentes/toba_componente.php b/php/nucleo/componentes/toba_componente.php index 298ff0ff8a..93fbcfaf8d 100644 --- a/php/nucleo/componentes/toba_componente.php +++ b/php/nucleo/componentes/toba_componente.php @@ -88,7 +88,7 @@ function __sleep() } /** - * Alternativa para que la reutilización de un mismo componente en un mismo request se siga comportando como antes de [3050], es decir el ultimo creado pisa la memoria del 1ero. + * Alternativa para que la reutilizaci�n de un mismo componente en un mismo request se siga comportando como antes de [3050], es decir el ultimo creado pisa la memoria del 1ero. */ static function set_modo_compatible_manejo_sesion($compatible) { @@ -96,7 +96,7 @@ static function set_modo_compatible_manejo_sesion($compatible) } /** - * Método interno para iniciar el componente una vez construido + * M�todo interno para iniciar el componente una vez construido * @ignore */ function inicializar($parametros=array()) @@ -108,8 +108,8 @@ function inicializar($parametros=array()) } /** - * Ventana de extensión que se ejecuta al iniciar el componente en todos los pedidos en los que participa. - * Como la ventana es previa a la atención de eventos y servicios es un punto ideal para la configuración global del componente + * Ventana de extensi�n que se ejecuta al iniciar el componente en todos los pedidos en los que participa. + * Como la ventana es previa a la atenci�n de eventos y servicios es un punto ideal para la configuraci�n global del componente * @ventana */ function ini() {} @@ -137,7 +137,7 @@ function get_clave_memoria_global() } /** - * Shortcut de @see toba_logger::debug() que incluye información básica del componente actual + * Shortcut de @see toba_logger::debug() que incluye informaci�n b�sica del componente actual */ protected function log($txt) { @@ -153,7 +153,7 @@ function get_txt() } /** - * Retorna el nombre del componente según se definió en el editor + * Retorna el nombre del componente seg�n se defini� en el editor * @return string */ function get_nombre() @@ -162,7 +162,7 @@ function get_nombre() } /** - * Retorna el título del componente (nombre visible al usuario) + * Retorna el t�tulo del componente (nombre visible al usuario) * @return string */ function get_titulo() @@ -189,7 +189,7 @@ function inicializado() } /** - * Retorna un parámetro estático definido en las prop. básicas del componente + * Retorna un par�metro est�tico definido en las prop. b�sicas del componente * @param string $parametro Puede ser a,b,c,d,e,f */ function get_parametro($parametro) @@ -233,7 +233,7 @@ protected function invocar_callback($metodo) * Retorna un mensaje asociado al componente * * @param mixed $indice Indice del mensaje en el componente - * @param mixed $parametros Parámetros posicionales a ser reemplazados en el mensaje (puede ser uno solo o un array) + * @param mixed $parametros Par�metros posicionales a ser reemplazados en el mensaje (puede ser uno solo o un array) * @return string Mensaje parseado * @see toba_mensajes */ @@ -267,7 +267,7 @@ function informar_msg($mensaje, $nivel=null) * Informa un mensaje predefinido al usuario, usando toba::notificacion() y toba::mensajes() * * @param mixed $indice Indice del mensaje predefinido - * @param mixed $parametros Parámetros posicionales a ser reemplazados en el mensaje (puede ser uno solo o un array) + * @param mixed $parametros Par�metros posicionales a ser reemplazados en el mensaje (puede ser uno solo o un array) * @param string $nivel Severidad: info o error * * @see toba_mensajes @@ -333,14 +333,6 @@ function borrar_memoria() //------------------------------------------------------------------------------- //----------------- Memoria de propiedades -------------------------------- //------------------------------------------------------------------------------- - - /** - * @deprecated Usar $this->set_propiedades_sesion - */ - function mantener_estado_sesion() - { - return array(); - } /** * Determina las propiedades que se almacenaran en sesion @@ -545,7 +537,7 @@ function dep($id, $carga_en_demanda = true) } /** - * Agregar dinámicamente una dependencia al componente actual + * Agregar din�micamente una dependencia al componente actual * * @param string $identificador ID. de la dependencia * @param string $proyecto @@ -561,7 +553,7 @@ function agregar_dependencia( $identificador, $proyecto, $objeto ) } /** - * Agregar dinámicamente una dependencia al componente actual utilizando + * Agregar din�micamente una dependencia al componente actual utilizando * * @param string $identificador ID. del componente * @param string $proyecto @@ -618,7 +610,7 @@ function descargar_dependencia($identificador) } /** - * Retorna verdadero si la dependencia fue construida y asociada en este pedido de página + * Retorna verdadero si la dependencia fue construida y asociada en este pedido de p�gina * @return boolean */ function dependencia_cargada($id) diff --git a/php/nucleo/lib/toba_editor.php b/php/nucleo/lib/toba_editor.php index c203e6e2c8..bf95ecbcda 100644 --- a/php/nucleo/lib/toba_editor.php +++ b/php/nucleo/lib/toba_editor.php @@ -100,7 +100,7 @@ static function referenciar_memoria() toba::proyecto()->set_parametro('es_css3', $datos['es_css3']); } - //Cambia tipo de navegación + //Cambia tipo de navegaci�n if (toba::memoria()->get_parametro('navegacion_ajax') != '') { $ajax = toba::memoria()->get_parametro('navegacion_ajax') ? true : false; toba::proyecto()->set_parametro('navegacion_ajax', $ajax); @@ -283,15 +283,6 @@ static function get_parametros_previsualizacion_js() return $param_prev; } - /** - * @deprecated Desde 1.5 usar get_perfiles_funcionales_previsualizacion - */ - static function get_grupos_acceso_previsualizacion() - { - return self::get_perfiles_funcionales_previsualizacion(); - } - - static function get_perfiles_funcionales_previsualizacion() { $param_prev = self::get_parametros_previsualizacion(); @@ -300,19 +291,7 @@ static function get_perfiles_funcionales_previsualizacion() $grupos = array_map('trim', $grupos); return $grupos; } else { - throw new toba_error('No estan definidos los perfiles de acceso a la previsualización. Desde toba_editor se pueden definir en la opción de Configuración > Previsualización'); - } - } - - /** - * @deprecated 3.0.0 - * @see toba_editor::get_perfiles_datos_previsualizacion() - */ - static function get_perfil_datos_previsualizacion() - { - $perfiles = self::get_perfiles_datos_previsualizacion(); - if (! empty($perfiles) && $perfiles !== FALSE) { - return current($perfiles); + throw new toba_error('No estan definidos los perfiles de acceso a la previsualizaci�n. Desde toba_editor se pueden definir en la opci�n de Configuraci�n > Previsualizaci�n'); } } @@ -437,9 +416,9 @@ static function generar_zona_vinculos_item( $item, $accion, $enviar_div_wrapper toba::solicitud()->set_cronometrar(true); } toba_js::cargar_consumos_globales(array('utilidades/toba_editor')); - $html_ayuda_editor = toba_recurso::ayuda(null, 'Presionando la tecla CTRL se pueden ver los enlaces hacia los editores de los distintos componentes de esta página'); - $html_ayuda_cronometro = toba_recurso::ayuda(null, 'Ver los tiempos de ejecución en la generación de esta página'); - $html_ayuda_ajax = toba_recurso::ayuda(null, 'Activar/Desactivar navegación interna de la operación via AJAX'); + $html_ayuda_editor = toba_recurso::ayuda(null, 'Presionando la tecla CTRL se pueden ver los enlaces hacia los editores de los distintos componentes de esta p�gina'); + $html_ayuda_cronometro = toba_recurso::ayuda(null, 'Ver los tiempos de ejecuci�n en la generaci�n de esta p�gina'); + $html_ayuda_ajax = toba_recurso::ayuda(null, 'Activar/Desactivar navegaci�n interna de la operaci�n via AJAX'); $html_ayuda_editor = toba_recurso::ayuda(null, 'Volver al editor de toba'); $solicitud = toba::solicitud()->get_id(); $link_cronometro = toba::vinculador()->get_url('toba_editor', '1000263', null, array('prefijo'=>toba_editor::get_punto_acceso_editor())); @@ -473,7 +452,7 @@ static function generar_zona_vinculos_item( $item, $accion, $enviar_div_wrapper //Memoria if (function_exists('memory_get_peak_usage')) { $memoria_pico = memory_get_peak_usage(); - echo toba_recurso::imagen_toba('memory.png', true, 16, 16, 'Pico máximo de memoria que ha consumido el script actual'); + echo toba_recurso::imagen_toba('memory.png', true, 16, 16, 'Pico m�ximo de memoria que ha consumido el script actual'); echo ' '.file_size($memoria_pico, 0).' '; } @@ -491,7 +470,7 @@ static function generar_zona_vinculos_item( $item, $accion, $enviar_div_wrapper } $rol = toba::db()->get_rol_actual(); toba::memoria()->set_dato_instancia('previsualizacion_consultas', array('fuente' => $fuente, 'datos' => $info_db)); - echo "".toba_recurso::imagen_toba('objetos/datos_relacion.gif', true, 16, 16, 'Ver detalles de las consultas y comandos ejecutados en este pedido de página'). + echo "".toba_recurso::imagen_toba('objetos/datos_relacion.gif', true, 16, 16, 'Ver detalles de las consultas y comandos ejecutados en este pedido de p�gina'). count($info_db). " ($rol)"; } catch (toba_error $e) { @@ -506,12 +485,12 @@ static function generar_zona_vinculos_item( $item, $accion, $enviar_div_wrapper $total += filesize($arch); } toba::memoria()->set_dato_instancia('previsualizacion_archivos', $archivos); - echo "".toba_recurso::imagen_toba('nucleo/php.gif', true, 16, 16, 'Ver detalle de archivos .php del proyecto incluidos en este pedido de página'). + echo "".toba_recurso::imagen_toba('nucleo/php.gif', true, 16, 16, 'Ver detalle de archivos .php del proyecto incluidos en este pedido de p�gina'). ' '.count($archivos)." arch. (".file_size($total,0).')'; //Session $tamano = file_size(strlen(serialize($_SESSION)), 0); - echo toba_recurso::imagen_toba('sesion.png', true, 16, 16, 'Tamaño de la sesión')." $tamano "; + echo toba_recurso::imagen_toba('sesion.png', true, 16, 16, 'Tama�o de la sesi�n')." $tamano "; echo ""; //-- ACCIONES @@ -542,14 +521,14 @@ static function generar_zona_vinculos_item( $item, $accion, $enviar_div_wrapper if ($hay_limitado) { $actual = self::$memoria['conexion_limitada'] ? 'limitado' : 'normal'; $datos = array("normal" => "Normal", "limitado" => "Limitados"); - $js = "title='Cambia temporalmente el usuario de conexión a la base' onchange=\"location.href = toba_prefijo_vinculo + '&usuario_conexion=' + this.value\""; + $js = "title='Cambia temporalmente el usuario de conexi�n a la base' onchange=\"location.href = toba_prefijo_vinculo + '&usuario_conexion=' + this.value\""; echo "Permisos DB: ".toba_form::select('cambiar_rol', $actual, $datos, 'ef-combo', $js); } //Skin $skins = rs_convertir_asociativo(toba_info_editores::get_lista_skins(), array('estilo','proyecto'), 'descripcion'); - $js = "title='Cambia temporalmente el skin de la aplicación' onchange=\"location.href = toba_prefijo_vinculo + '&skin=' + this.value\""; + $js = "title='Cambia temporalmente el skin de la aplicaci�n' onchange=\"location.href = toba_prefijo_vinculo + '&skin=' + this.value\""; $defecto = toba::proyecto()->get_parametro('estilo').apex_qs_separador.toba::proyecto()->get_parametro('estilo_proyecto'); echo "Skin: ".toba_form::select('cambiar_skin', $defecto, $skins, 'ef-combo', $js); @@ -670,7 +649,7 @@ static function get_vinculos_item( $item, $accion ) $vinculo['frame'] = ''; $vinculo['imagen'] = 'reflexion/abrir.gif'; $vinculo['imagen_origen'] = 'proyecto'; - $vinculo['tip'] = 'Abrir el PHP del ítem en el escritorio'; + $vinculo['tip'] = 'Abrir el PHP del �tem en el escritorio'; $vinculos[] = $vinculo; } @@ -684,7 +663,7 @@ static function get_vinculos_item( $item, $accion ) $vinculo['url'] = toba::vinculador()->get_url(self::get_id(),'1000240',$parametros,$opciones); $vinculo['frame'] = 'frame_centro'; $vinculo['imagen'] = 'objetos/editar.gif'; - $vinculo['tip'] = 'Ir al editor de la operación.'; + $vinculo['tip'] = 'Ir al editor de la operaci�n.'; $vinculos[] = $vinculo; //Catalogo Unificado @@ -696,7 +675,7 @@ static function get_vinculos_item( $item, $accion ) $vinculo['url'] = toba::vinculador()->get_url(self::get_id(),'1000239',$parametros,$opciones); $vinculo['frame'] = 'frame_lista'; $vinculo['imagen'] = 'objetos/arbol.gif'; - $vinculo['tip'] = 'Ver composicion de la operación en el editor.'; + $vinculo['tip'] = 'Ver composicion de la operaci�n en el editor.'; $vinculos[] = $vinculo; /* //Consola JS @@ -704,7 +683,7 @@ static function get_vinculos_item( $item, $accion ) $vinculos[2]['url'] = toba::vinculador()->get_url(self::get_id(),'/admin/objetos/consola_js'); $vinculos[2]['frame'] = 'frame_lista'; $vinculos[2]['imagen'] = 'solic_consola.gif'; - $vinculos[2]['tip'] = 'Ir al editor de la operación.'; + $vinculos[2]['tip'] = 'Ir al editor de la operaci�n.'; */ return $vinculos; } @@ -763,7 +742,7 @@ static function get_utileria_editor_abrir_php($id_componente, $icono='reflexion/ $opciones = array('servicio' => 'ejecutar', 'zona' => false, 'celda_memoria' => 'ajax', 'menu' => true); $vinculo = toba::vinculador()->get_url(toba_editor::get_id(), "3463", $parametros, $opciones); $js = "toba.comunicar_vinculo('$vinculo')"; - $ayuda = 'Abre la extensión PHP del componente en el editor del escritorio'; + $ayuda = 'Abre la extensi�n PHP del componente en el editor del escritorio'; return "".self::imagen_editor($icono, true).""; } diff --git a/php/nucleo/lib/toba_instancia.php b/php/nucleo/lib/toba_instancia.php index ea08e46bd7..55b73041c5 100644 --- a/php/nucleo/lib/toba_instancia.php +++ b/php/nucleo/lib/toba_instancia.php @@ -1,7 +1,7 @@ add_config_file('instancia', $archivo); toba::config()->load(); if (! is_file( $archivo ) ) { - toba_logger::instancia()->error("INFO_INSTANCIA: No se encuentra definido el archivo de inicialización de la INSTANCIA: '".self::get_id()."' ('$archivo')"); - throw new toba_error('INFO_INSTANCIA: No se encuentra definido el archivo de inicialización de la INSTANCIA'); + toba_logger::instancia()->error("INFO_INSTANCIA: No se encuentra definido el archivo de inicializaci�n de la INSTANCIA: '".self::get_id()."' ('$archivo')"); + throw new toba_error('INFO_INSTANCIA: No se encuentra definido el archivo de inicializaci�n de la INSTANCIA'); } return toba::config()->get_seccion('instancia'); } @@ -79,8 +79,8 @@ function get_db() if ( isset( $this->memoria['base'] ) ) { return toba_dba::get_db($this->memoria['base']); } else { - toba_logger::error("INFO_INSTANCIA: El archivo de inicialización de la INSTANCIA: '".self::$id."' no posee una BASE DEFINIDA"); - throw new toba_error('INFO_INSTANCIA: El archivo de inicialización de la INSTANCIA no posee una BASE DEFINIDA'); + toba_logger::error("INFO_INSTANCIA: El archivo de inicializaci�n de la INSTANCIA: '".self::$id."' no posee una BASE DEFINIDA"); + throw new toba_error('INFO_INSTANCIA: El archivo de inicializaci�n de la INSTANCIA no posee una BASE DEFINIDA'); } } @@ -304,7 +304,7 @@ function registrar_solicitud_web_service($proyecto, $solicitud, $metodo, $ip) //------------------ Relacion entre PROYECTOS -------------------------- /** - * Retorna las urls de los proyectos actualmente incluídos en la instancia + * Retorna las urls de los proyectos actualmente inclu�dos en la instancia */ function get_url_proyectos($proys) { @@ -376,7 +376,7 @@ function get_id_proyectos() //-------------------------------------------------------------------------- /** - * Retorna la información cruda de un usuario, tal como está en la base de datos + * Retorna la informaci�n cruda de un usuario, tal como est� en la base de datos * Para hacer preguntas del usuario actual utilizar toba::usuario()-> * * @see toba_usuario @@ -393,7 +393,7 @@ function get_info_usuario($usuario) } /** - * Retorna la información cruda de un grupo de usuarios, tal como está en la base de datos + * Retorna la informaci�n cruda de un grupo de usuarios, tal como est� en la base de datos * @see toba_usuario */ function get_info_usuarios($usuarios) @@ -433,7 +433,7 @@ function get_info_autenticacion($usuario) if(!empty($rs)) return $rs[0]; } catch (toba_error_db $e ) { toba::logger()->info($e->getMessage()); - throw new toba_error('Error recuperando información'); + throw new toba_error('Error recuperando informaci�n'); } } @@ -446,7 +446,7 @@ function get_pregunta_secreta($usuario) if (!empty($rs)) return $rs[0]; } catch (toba_error_db $e) { toba::logger()->info($e->getMessage()); - throw new toba_error('Error recuperando información'); + throw new toba_error('Error recuperando informaci�n'); } } @@ -467,7 +467,7 @@ function get_lista_claves_usadas($usuario, $periodo_tiempo=null, $no_repetidas=n return $rs; } catch (toba_error_db $e) { toba::logger()->info($e->getMessage()); - throw new toba_error('Error recuperando información'); + throw new toba_error('Error recuperando informaci�n'); } } @@ -518,16 +518,6 @@ function get_perfiles_funcionales($usuario, $proyecto) } } - - - /** - * @deprecated Usar get_perfiles_funcionales - */ - function get_grupos_acceso($usuario, $proyecto) - { - return $this->get_perfiles_funcionales($usuario, $proyecto); - } - /** * Utilizada en el login automatico */ @@ -650,7 +640,7 @@ function get_id_sesion() $sql = "SELECT nextval('{$this->get_schema_logs_toba()}.apex_sesion_browser_seq'::text) as id;"; $rs = $this->get_db()->consultar($sql); if(empty($rs)){ - throw new toba_error('No es posible recuperar el ID de la sesión.'); + throw new toba_error('No es posible recuperar el ID de la sesi�n.'); } return $rs[0]['id']; } diff --git a/php/nucleo/lib/toba_manejador_sesiones.php b/php/nucleo/lib/toba_manejador_sesiones.php index d75146f266..8808b9f667 100644 --- a/php/nucleo/lib/toba_manejador_sesiones.php +++ b/php/nucleo/lib/toba_manejador_sesiones.php @@ -64,7 +64,7 @@ private function iniciar_session_php() $handler->configure_settings(); if (session_id() != '') { - throw new toba_error('Ya existe una sesión abierta, probablemente tenga activado session.auto_start = 1 en el php.ini'); + throw new toba_error('Ya existe una sesi�n abierta, probablemente tenga activado session.auto_start = 1 en el php.ini'); } if (! toba_nucleo::instancia()->es_acceso_rest()) { session_name(toba::instalacion()->get_session_name()); @@ -98,9 +98,9 @@ function login($id_usuario, $clave=null, $datos_iniciales=null) $this->procesar_acceso_proyecto($datos_iniciales); } $this->autenticar($id_usuario, $clave, $datos_iniciales); - if ($this->contrasenia_vencida) { //Si se vencio la contraseña del usuario redirecciono al item correspondiente + if ($this->contrasenia_vencida) { //Si se vencio la contrase�a del usuario redirecciono al item correspondiente $this->contrasenia_vencida = false; - throw new toba_error_login_contrasenia_vencida('La contraseña actual del usuario ha caducado'); + throw new toba_error_login_contrasenia_vencida('La contrase�a actual del usuario ha caducado'); } $this->procesar_acceso_instancia($id_usuario, $datos_iniciales); @@ -170,7 +170,7 @@ function cambio_usuario($actual, $nuevo, $datos_iniciales=null) //Verificar que el usuario nuevo esta en la lista de posibles fijada por el app_launcher $mapeo = $this->recuperar_mapeo_usuarios($nuevo , $this->_usuarios_posibles); if (empty($mapeo)) { - throw new toba_error_seguridad('Es intentando acceder a un usuario no válido' ); + throw new toba_error_seguridad('Es intentando acceder a un usuario no v�lido' ); } //Si todo va bien. $this->procesar_salida_proyecto('Logout por cambio de usuario'); //Redirije a la pantalla de login, quizas hay que hacer algo distinto por ejemplo, no borrar la sesion @@ -178,7 +178,7 @@ function cambio_usuario($actual, $nuevo, $datos_iniciales=null) } /** - * Entrada a un proyecto desde la operación de inicializacion de sesion + * Entrada a un proyecto desde la operaci�n de inicializacion de sesion */ function iniciar_sesion_proyecto($datos_iniciales) { @@ -196,7 +196,7 @@ function iniciar_sesion_proyecto($datos_iniciales) } /** - * Delega la autenticación del proyecto a un objeto + * Delega la autenticaci�n del proyecto a un objeto * @param toba_autenticable $autenticacion Objeto responsable de la autenticacion */ function set_autenticacion(toba_autenticable $autenticacion) @@ -366,7 +366,7 @@ function get_restricciones_funcionales() } /** - * Retorna los perfiles funcionales activos en la sesión actual + * Retorna los perfiles funcionales activos en la sesi�n actual * @return array */ function get_perfiles_funcionales_activos() @@ -397,15 +397,6 @@ function set_perfiles_funcionales_activos($activos) return $this->perfiles_funcionales_activos = array_unique($finales); } - /** - * @deprecated Desde 1.5 usar get_perfiles_funcionales - */ - function get_grupos_acceso() - { - return $this->get_perfiles_funcionales(); - - } - function verificar_cambio_perfil_activo() { if (isset($_POST[apex_sesion_qs_cambio_pf]) && toba::proyecto()->permite_cambio_perfiles()) { @@ -421,20 +412,6 @@ function verificar_cambio_perfil_activo() } } - /** - * Determina el perfil de datos del usuario actual - * @deprecated 3.0.0 - * @see toba_manejador_sesiones::get_perfiles_datos - */ - function get_perfil_datos() - { - if( (toba_editor::modo_prueba() && ( ! toba_editor::acceso_recursivo() ) ) ) { - return toba_editor::get_perfil_datos_previsualizacion(); - } else { - return $this->usuario()->get_perfil_datos(); - } - } - /** * Determina los perfiles de datos del usuario actual * @return array @@ -456,19 +433,6 @@ function get_perfil_datos_activo() return $this->perfiles_datos_activos; } - /** - * @deprecated 3.0.0 - * @see toba_manejador_sesiones::set_perfiles_datos_activos() - */ - function set_perfil_datos_activo($id_perfil) - { - if (! is_array($id_perfil)) { - if (! is_null($id_perfil)) { - $this->set_perfiles_datos_activos(array($id_perfil)); - } - } - } - /** * Fija cuales son los perfiles de datos activos para el usuario actual, chequea contra configurados en base * @param array $perfiles @@ -541,7 +505,7 @@ function iniciar() $this->registrar_activacion_sesion(); $this->control_cambio_usuario(); } catch ( toba_error $e ) { - toba::logger()->debug('Pérdida de sesión: '. $e->getMessage()); + toba::logger()->debug('P�rdida de sesi�n: '. $e->getMessage()); $this->logout($e->getMessage()); $this->comprobar_acceso_anonimo(); } @@ -749,11 +713,11 @@ private function control_finalizacion_sesion() $tiempo_desconectado = ((time()-$ultimo_acceso)/60);//Tiempo desde el ultimo REQUEST if ( $tiempo_desconectado >= $ventana) { toba::notificacion()->agregar('Usted ha permanecido varios minutos sin interactuar - con el servidor. Por razones de seguridad su sesión ha sido eliminada. + con el servidor. Por razones de seguridad su sesi�n ha sido eliminada. Por favor vuelva a registrarse si desea continuar utilizando el sistema. Disculpe las molestias ocasionadas.'); - toba_logger::instancia()->error("Se excedió la ventana temporal ($ventana m.)"); - throw new toba_error_autorizacion('Se excedió la ventana temporal'); + toba_logger::instancia()->error("Se excedi� la ventana temporal ($ventana m.)"); + throw new toba_error_autorizacion('Se excedi� la ventana temporal'); } } // Controlo el tiempo maximo de sesion @@ -762,11 +726,11 @@ private function control_finalizacion_sesion() $inicio_sesion = $_SESSION[TOBA_DIR]['instancias'][$this->instancia]['proyectos'][$this->proyecto]['info_sesion']['inicio']; $tiempo_total = ((time()-$inicio_sesion)/60);//Tiempo desde que se inicio la sesion if ( $tiempo_total >= $maximo) { - toba::notificacion()->agregar('Se ha superado el tiempo de sesión permitido + toba::notificacion()->agregar('Se ha superado el tiempo de sesi�n permitido Por favor vuelva a registrarse si desea continuar utilizando el sistema. Disculpe las molestias ocasionadas.'); - toba_logger::instancia()->error("Se excedió el tiempo máximo de sesión ($maximo m.)"); - throw new toba_error_autorizacion('Se excedió el tiempo máximo de sesión'); + toba_logger::instancia()->error("Se excedi� el tiempo m�ximo de sesi�n ($maximo m.)"); + throw new toba_error_autorizacion('Se excedi� el tiempo m�ximo de sesi�n'); } } @@ -802,7 +766,7 @@ private function desregistrar_usuario() function abortar_sesion_proyecto($proyecto, $obs=null) { $id = $this->get_id_sesion($proyecto); - toba::logger()->debug("Abortando la sesión '$id' del proyecto '$proyecto'.",'toba'); + toba::logger()->debug("Abortando la sesi�n '$id' del proyecto '$proyecto'.",'toba'); toba::instancia()->cerrar_sesion($id, $obs); $this->borrar_segmento_proyecto($proyecto); } @@ -990,16 +954,16 @@ private function autenticar($id_usuario, $clave=null, $datos_iniciales=null) throw new toba_error('La IP esta bloqueada. Contactese con el administrador'); } if ($this->invocar_metodo_usuario('es_usuario_bloqueado', array($id_usuario))) { - throw new toba_error('El usuario se encuentra bloqueado. Contáctese con el administrador'); + throw new toba_error('El usuario se encuentra bloqueado. Cont�ctese con el administrador'); } // Disparo la autenticacion if ($this->get_autenticacion() != null) { $estado = $this->autenticacion->autenticar($id_usuario, $clave, $datos_iniciales); } else { - throw new toba_error_seguridad('No existe la autenticación propuesta'); + throw new toba_error_seguridad('No existe la autenticaci�n propuesta'); } if (!$estado) { - $error = 'La combinación usuario/clave es incorrecta'; + $error = 'La combinaci�n usuario/clave es incorrecta'; $this->invocar_metodo_usuario('registrar_error_login', array($id_usuario, $ip, $error)); $proyecto = toba::proyecto()->get_id(); $cant_max_intentos = toba_parametros::get_intentos_validacion($proyecto); @@ -1018,15 +982,15 @@ private function autenticar($id_usuario, $clave=null, $datos_iniciales=null) if ( $supero_tope_intentos_en_ventana ) { if ($bloquear_usuario) { $this->invocar_metodo_usuario('bloquear_usuario',array($id_usuario)); - toba_logger::instancia()->error("$error. Ha superado el límite de inicios de sesión. El usuario ha sido bloqueado."); - throw new toba_error_autenticacion("$error. Ha superado el límite de inicios de sesión."); + toba_logger::instancia()->error("$error. Ha superado el l�mite de inicios de sesi�n. El usuario ha sido bloqueado."); + throw new toba_error_autenticacion("$error. Ha superado el l�mite de inicios de sesi�n."); }elseif ($lanzar_excepcion) { - toba_logger::instancia()->error("$error. Ha superado el límite de inicios de sesión.|$intentos"); - throw new toba_error_autenticacion_intentos("$error. Ha superado el límite de inicios de sesión."); + toba_logger::instancia()->error("$error. Ha superado el l�mite de inicios de sesi�n.|$intentos"); + throw new toba_error_autenticacion_intentos("$error. Ha superado el l�mite de inicios de sesi�n."); } else { $this->invocar_metodo_usuario('bloquear_ip',array($ip)); toba_logger::instancia()->error("$error. La IP ha sido bloqueada."); - throw new toba_error_autenticacion("$error. Ha superado el límite de inicios de sesión."); + throw new toba_error_autenticacion("$error. Ha superado el l�mite de inicios de sesi�n."); } } } @@ -1040,7 +1004,7 @@ private function autenticar($id_usuario, $clave=null, $datos_iniciales=null) $this->_usuarios_posibles = $this->generar_mapeo_usuarios($usr_posibles); } } else { - throw new toba_error_seguridad('No existe la autenticación propuesta'); + throw new toba_error_seguridad('No existe la autenticaci�n propuesta'); } } @@ -1240,7 +1204,7 @@ protected function instanciar_handler() $handler = '\toba_session_memcached_handler'; break; default: - throw new \toba_error_ini_sesion('El handler de sesión elegido no es válido'); + throw new \toba_error_ini_sesion('El handler de sesi�n elegido no es v�lido'); } } return new $handler(); diff --git a/php/nucleo/lib/toba_proyecto.php b/php/nucleo/lib/toba_proyecto.php index 3543fe66dc..339684ee73 100644 --- a/php/nucleo/lib/toba_proyecto.php +++ b/php/nucleo/lib/toba_proyecto.php @@ -1,8 +1,8 @@ memoria =& toba::manejador_sesiones()->segmento_info_proyecto($proyecto); if (!$this->memoria) { $this->memoria = self::cargar_info_basica(); - //toba::logger()->debug('Inicialización de TOBA_PROYECTO: ' . $this->id,'toba'); + //toba::logger()->debug('Inicializaci�n de TOBA_PROYECTO: ' . $this->id,'toba'); } $path_ini = self::get_path().'/proyecto.ini'; if (file_exists($path_ini)) { @@ -93,8 +93,8 @@ private function __construct($proyecto) /** - * Retorna el valor de un parámetro generico del proyecto (ej. descripcion) cacheado en la memoria - * @return toba_error si el parametro no se encuentra definido, sino el valor del parámetro + * Retorna el valor de un par�metro generico del proyecto (ej. descripcion) cacheado en la memoria + * @return toba_error si el parametro no se encuentra definido, sino el valor del par�metro */ function get_parametro($seccion, $parametro=null, $obligatorio=true) { @@ -113,8 +113,8 @@ function get_parametro($seccion, $parametro=null, $obligatorio=true) return null; }else{ if ($obligatorio) { - toba_logger::instancia()->error("INFO_PROYECTO: El parámetro '$id' no se encuentra definido."); - throw new toba_error('INFO_PROYECTO: El parámetro solicitado no se encuentra definido, revise el log.'); + toba_logger::instancia()->error("INFO_PROYECTO: El par�metro '$id' no se encuentra definido."); + throw new toba_error('INFO_PROYECTO: El par�metro solicitado no se encuentra definido, revise el log.'); } else { return null; } @@ -135,7 +135,7 @@ function set_parametro($id, $valor) //---------------------------------------------------------------- /** - * Retorna el número de versión propio del proyecto + * Retorna el n�mero de versi�n propio del proyecto * @return toba_version */ function get_version() @@ -280,7 +280,7 @@ function get_www_pers($archivo="") /** * Retorna el path y url del directorio temporal navegable del proyecto (mi_proyecto/www/temp); * En caso de no existir, crea el directorio - * Si se pasa un path relativo como parámetro retorna el path absoluto del archivo en el directorio temporal + * Si se pasa un path relativo como par�metro retorna el path absoluto del archivo en el directorio temporal * @return array con claves 'path' (en el sist.arch.) y 'url' (URL navegable) */ function get_www_temp($archivo='') @@ -391,7 +391,7 @@ function get_info_fuente_datos($id_fuente, $proyecto=null) * @param unknown_type $solo_primer_nivel * @param string $proyecto Por defecto el actual * @param string $grupos_acceso Por defecto el del usuario actual - * @return array RecordSet contienendo información de los items + * @return array RecordSet contienendo informaci�n de los items */ function get_items_menu($proyecto=null, $grupos_acceso=null) { @@ -439,7 +439,7 @@ function puede_grupo_acceder_item($item) 'get_items_accesibles', false); } else { - //-- Si no tiene grupo, busca aquellos items que son públicos + //-- Si no tiene grupo, busca aquellos items que son p�blicos $this->indice_items_accesibles = $this->recuperar_datos_compilados_grupo('toba_mc_gene__items_', array('publicos'), 'get_items_accesibles', @@ -481,15 +481,6 @@ function get_perfiles_funcionales_usuario_anonimo() return $grupos; } - /** - * @deprecated Desde 1.5 usar get_perfiles_funcionales_usuario_anonimo - */ - function get_grupos_acceso_usuario_anonimo() - { - return $this->get_perfiles_funcionales_usuario_anonimo(); - } - - function get_perfiles_funcionales_asociados($perfil) { if ( toba::nucleo()->utilizar_metadatos_compilados( $this->id ) ) { @@ -521,7 +512,7 @@ function get_lista_permisos($grupos_acceso=null) } /** - * Retorna la descripción asociada a un permiso global particular del proy. actual + * Retorna la descripci�n asociada a un permiso global particular del proy. actual */ function get_descripcion_permiso($permiso) { @@ -611,8 +602,8 @@ function get_info_servicios_web_acc($id, $proyecto=null) $rs = toba_proyecto_db::get_info_servicio_web($proyecto, $id); } if (empty($rs)) { - toba_logger::instancia()->error("No se puede encontrar la definición del Servicio Web '$id' en el proyecto '$proyecto'"); - throw new toba_error('No se puede encontrar la definición del Servicio Web en el proyecto '); + toba_logger::instancia()->error("No se puede encontrar la definici�n del Servicio Web '$id' en el proyecto '$proyecto'"); + throw new toba_error('No se puede encontrar la definici�n del Servicio Web en el proyecto '); } return $rs; } @@ -674,7 +665,7 @@ private function get_objeto_gadget($info) case apex_tipo_gadget_interno: if (! isset($info['subclase']) || ! isset($info['subclase_archivo'])) { - throw new toba_error_def('La definición de subclase para el gadget esta incompleta'); + throw new toba_error_def('La definici�n de subclase para el gadget esta incompleta'); } else { $clase = $info['subclase']; require_once($info['subclase_archivo']); @@ -683,7 +674,7 @@ private function get_objeto_gadget($info) } break; default: - throw new toba_error_def('El tipo de gadget recuperado no es válido.'); + throw new toba_error_def('El tipo de gadget recuperado no es v�lido.'); } if (isset($info['titulo'])) {$objeto->set_titulo($info['titulo']);} if (isset($info['descripcion'])) {$objeto->set_descripcion($info['descripcion']);} diff --git a/php/nucleo/lib/toba_proyecto_implementacion.php b/php/nucleo/lib/toba_proyecto_implementacion.php index 7c9d71183d..907770b404 100644 --- a/php/nucleo/lib/toba_proyecto_implementacion.php +++ b/php/nucleo/lib/toba_proyecto_implementacion.php @@ -37,23 +37,6 @@ static function get_info_perfiles_datos($proyecto, $perfil) "; return $db->consultar_fila($sql); } - - /** - * Devuelve el perfil de datos de un usuario - * @deprecated 3.0.0 - * @see toba_proyecto_implementacion::get_perfiles_datos_usuario() - */ - static function get_perfil_datos($usuario, $proyecto) - { - $datos = self::get_perfiles_datos_usuario($usuario, $proyecto); - if(empty($datos)) { - $result = null; - } else { - $anx = current($datos); - $result = $anx['perfil_datos']; - } - return $result; - } /** * Devuelve los perfiles de datos del usuario en el proyecto diff --git a/php/nucleo/lib/toba_usuario.php b/php/nucleo/lib/toba_usuario.php index a38c447bc3..1ed83e2421 100644 --- a/php/nucleo/lib/toba_usuario.php +++ b/php/nucleo/lib/toba_usuario.php @@ -59,15 +59,6 @@ function get_restricciones_funcionales($perfiles = null) return array(); } - /** - * @deprecated 3.0.0 - * @see toba_usuario_basico::get_perfiles_datos() - */ - function get_perfil_datos() - { - return null; - } - //------------------------ Generacion de claves --------------------------- static function generar_clave_aleatoria($long) { @@ -133,7 +124,7 @@ static function forzar_cambio_clave($usuario) $id = toba::instancia()->get_db()->sentencia_preparar($sql); toba::instancia()->get_db()->sentencia_ejecutar($id, array( 'usuario'=> $usuario)); } catch(toba_error_db $e) { - toba::logger()->debug('No se pudo forzar el cambio de contraseña en el usuario '. $usuario); + toba::logger()->debug('No se pudo forzar el cambio de contrase�a en el usuario '. $usuario); throw new toba_error_usuario('Hubo problemas al modificar el usuario '); } } @@ -170,7 +161,7 @@ static function verificar_periodo_minimo_cambio($usuario, $periodo) } /** - * Verifica la composicion y largo de una contraseña de usuario, lanza excepcion cuando falla la validacion, + * Verifica la composicion y largo de una contrase�a de usuario, lanza excepcion cuando falla la validacion, * de lo contrario retorna true. * @param string $pwd * @param int $largo_minimo diff --git a/php/nucleo/lib/toba_usuario_basico.php b/php/nucleo/lib/toba_usuario_basico.php index aa96ea3441..ea2dedd85a 100644 --- a/php/nucleo/lib/toba_usuario_basico.php +++ b/php/nucleo/lib/toba_usuario_basico.php @@ -26,7 +26,7 @@ static function autenticar($id_usuario, $clave, $datos_iniciales=null, $usar_log } return false; } else { - //--- Autentificación + //--- Autentificaci�n $algoritmo = $datos_usuario['autentificacion']; if ($algoritmo != 'plano') { if ($algoritmo == 'md5') { @@ -141,23 +141,6 @@ function get_perfiles_funcionales() return $this->grupos_acceso; } - /** - * @deprecated Desde 1.5 usar get_perfiles_funcionales - */ - function get_grupos_acceso() - { - return $this->get_perfiles_funcionales(); - } - - /** - * @deprecated 3.0.0 - * @see toba_usuario_basico::get_perfiles_datos() - */ - function get_perfil_datos() - { - return $this->perfil_datos; - } - /** * Retorna un array con los perfiles de datos del usuario * @return array @@ -198,8 +181,8 @@ function get_parametro($parametro) { $parametro = strtolower(trim($parametro)); if ( !($parametro=='a'||$parametro=='b'||$parametro=='c') ) { - toba::logger()->error("Consulta de parámetro de usuario: El parámetro '$parametro' es invalido."); - throw new toba_error('Consulta de parámetro de usuario: El parámetro no se encuentra o es invalido, revise el log.'); + toba::logger()->error("Consulta de par�metro de usuario: El par�metro '$parametro' es invalido."); + throw new toba_error('Consulta de par�metro de usuario: El par�metro no se encuentra o es invalido, revise el log.'); } //Las opciones correctas son 'a','b' o 'c' $nombre_parametro = 'parametro_'. $parametro; diff --git a/php/nucleo/lib/toba_vinculador.php b/php/nucleo/lib/toba_vinculador.php index 8c41de754d..aa6f286f83 100644 --- a/php/nucleo/lib/toba_vinculador.php +++ b/php/nucleo/lib/toba_vinculador.php @@ -2,8 +2,8 @@ /** * Esta clase maneja la VINCULACION entre operaciones. Conoce todos los lugares a los que la - * operación actual puede acceder (considerando el USUARIO que lo solicito) - * Para navegar hacia ellas puede construir URLs e incluirlos en algún TAG + * operaci�n actual puede acceder (considerando el USUARIO que lo solicito) + * Para navegar hacia ellas puede construir URLs e incluirlos en alg�n TAG * * @see toba_vinculo * @package Centrales @@ -30,39 +30,19 @@ private function __construct() { $this->prefijo = toba::memoria()->prefijo_vinculo(); } - - /** - * @deprecated Usar get_url - * @see get_url - */ - function crear_vinculo($proyecto=null, $item=null, $parametros=array(), $opciones=array()) - { - return $this->get_url($proyecto, $item, $parametros, $opciones); - } - - - /** - * @deprecated Usar get_url - * @see get_url - **/ - function crear_autovinculo($parametros=array(), $opciones=array()) - { - return $this->get_url(null, null, $parametros, $opciones); - } - /** - * Genera una url que apunta a una operación de un proyecto + * Genera una url que apunta a una operaci�n de un proyecto * * @param string $proyecto Proyecto destino, por defecto el actual * @param string $item Item destino, por defecto el actual * @param array $parametros Parametros pasados al item, es un arreglo asociativo id_parametro => valor * @param array $opciones Arreglo asociativo de opciones ellas son: - * zona => Activa la propagación automática del editable en la zona + * zona => Activa la propagaci�n autom�tica del editable en la zona * cronometrar => Indica si la solicitud generada por este vinculo debe cronometrarse * param_html => Parametros para la construccion de HTML. Si esta presente se genera HTML en vez de una URL. Las claves asociativas son: frame, clase_css, texto, tipo [normal,popup], inicializacion, imagen_recurso_origen, imagen - * texto => Texto del vínculo - * menu => El vinculo esta solicitado por una opción menu? + * texto => Texto del v�nculo + * menu => El vinculo esta solicitado por una opci�n menu? * celda_memoria => Namespace de memoria a utilizar, por defecto el actual * servicio => Servicio solicitado, por defecto get_html * objetos_destino => array(array(proyecto, id_objeto), ...) Objetos destino del vinculo @@ -155,130 +135,9 @@ function registrar_vinculo( toba_vinculo $vinculo ) //################################################################################## //######################## Solicitud DIRECTA de URLS ############################ //################################################################################## - - /** - * Generacion directa de una URL que representa un posible futuro acceso a la infraestructura - * No se chequean permisos - * - * @param string $item_proyecto Proyecto al que pertenece el ítem destino (por defecto el actual) - * @param string $item ID. del ítem destino (por defecto el actual) - * @param array $parametros Párametros enviados al ítem, arreglo asociativo de strings - * @param boolean $zona Activa la propagación automática del editable en la zona - * @param boolean $cronometrar Indica si la solicitud generada por este vinculo debe cronometrarse - * @param array $param_html - * @param boolean $menu El vinculo esta solicitado por el menu? - * @param string $celda_memoria Namespace de memoria a utilizar, por defecto el actual - * @param string $nombre_ventana Nombre con que se abrira la ventana hija en caso de ser popup - * @return string URL hacia el ítem solicitado - * @deprecated Desde 1.0 usar get_url o get_url_ - */ - protected function generar_solicitud($item_proyecto=null,$item=null,$parametros=null, - $zona=false,$cronometrar=false,$param_html=null, - $menu=null,$celda_memoria=null, $servicio=null, - $objetos_destino=null, $prefijo=null, $nombre_ventana=null) - { - $separador = '&'; - $escapador = toba::escaper(); - //-[1]- Determino ITEM - //Por defecto se propaga el id de la operación actual, o una operación del mismo proyecto - $autovinculo = false; - if ($item_proyecto == null || $item == null) { - $item_solic = toba::memoria()->get_item_solicitado(); - if($item_proyecto==null) { - $item_proyecto = $item_solic[0]; - } - if($item==null){ - $item = $item_solic[1]; - $autovinculo = true; - } - } - //Controlo que el usuario posea permisos para acceder al ITEM - if ( !$autovinculo ) { - //El control es solo dentro del proyecto actual - if ( toba::proyecto()->get_id() == $item_proyecto && - !toba::proyecto()->puede_grupo_acceder_item($item)) { - toba::logger()->notice("VINCULADOR: Fallo la creacion de un vinculo al item '$item' porque el usuario no posee permisos para acceder al mismo."); - return null; - } - } - - $item_a_llamar = $escapador->escapeUrl($item_proyecto . apex_qs_separador . $item); - //-[2]- Determino parametros - $parametros_formateados = ""; - if ($zona){//Hay que propagar la zona? - $parametros_formateados .= $this->get_qs_zona(); - } - //Cual es el tipo de salida? - if (isset($servicio) && $servicio != apex_hilo_qs_servicio_defecto) { - $parametros_formateados .= $separador.apex_hilo_qs_servicio ."=". $escapador->escapeUrl($servicio); - } - if (isset($objetos_destino) && is_array($objetos_destino)) { - $objetos = array(); - foreach ($objetos_destino as $obj) { - $objetos[] = $escapador->escapeUrl($obj[0] . apex_qs_separador . $obj[1]); - } - $qs_objetos = implode(',', $objetos); - $parametros_formateados .= $separador.apex_hilo_qs_objetos_destino ."=". $qs_objetos; - } - //Cual es la celda de memoria del proximo request? - if(!isset($celda_memoria)) { - $celda_actual = toba::memoria()->get_celda_memoria_actual_id(); - //Si es la celda por defecto, no explicitar ya que se asume - if ($celda_actual != apex_hilo_qs_celda_memoria_defecto) { - $celda_memoria = toba::memoria()->get_celda_memoria_actual_id(); - } - } - if (isset($celda_memoria)) { - $parametros_formateados .= $separador. apex_hilo_qs_celda_memoria ."=". $escapador->escapeUrl($celda_memoria); - } - //La proxima pagina va a CRONOMETRARSE? - if($cronometrar){ - $parametros_formateados .= $separador. apex_hilo_qs_cronometro ."=1"; - } - //Formateo paremetros directos - if(isset($parametros) && is_array($parametros)){ - foreach($parametros as $clave => $valor){ - if (null !== $valor && null !== $clave) { - $parametros_formateados .= $separador."$clave=". $escapador->escapeUrl($valor); - } - } - } - //Obtengo el prefijo del vinculo - if ( ! isset($prefijo) ) { - $prefijo = $this->prefijo; - } elseif (strpos($prefijo,'?') === false) { - $prefijo = $prefijo . '?'; - } - //Genero la URL que invoca la solicitud - $vinculo = (substr($prefijo, -1, 1) == '?') ? $prefijo : $prefijo . $separador; - $vinculo .= apex_hilo_qs_item . "=" . $item_a_llamar; - if(trim($parametros_formateados)!="") { - $encriptar_qs = toba::proyecto()->get_parametro('encriptar_qs'); - if($encriptar_qs){ - $claves = toba::instalacion()->get_claves_encriptacion(); - //Le concateno un string unico al texto que quiero encriptar asi evito que conozca - //la clave alguien que ve los parametros encriptados y sin encriptar - $parametros_formateados .= $parametros_formateados . $separador."jmb76=". uniqid(""); - $vinculo = $vinculo . $separador . apex_hilo_qs_parametros ."=". toba::encriptador()->cifrar_para_web($parametros_formateados, $claves['get']); - }else{ - $vinculo = $vinculo . $parametros_formateados; - } - } - //El vinculo esta solicitado por el menu? - //Esto se maneja directamente $_GET por performance (NO encriptar todo el menu) - if($menu){ - $vinculo .= $separador . apex_hilo_qs_menu ."=1"; - } - //Genero HTML o devuelvo el VINCULO - if(is_array($param_html)) { - return $this->generar_html($vinculo, $param_html, $nombre_ventana); - } else { - return $vinculo; - } - } /** - * Retorna el querystring propagando la zona actual (si es que hay y está cargada) + * Retorna el querystring propagando la zona actual (si es que hay y est� cargada) * @return string */ function get_qs_zona() @@ -430,12 +289,12 @@ protected function generar_html($url, $parametros, $nombre_ventana=null) /** * Genera un salto de javascript directo a una pagina * - * @param string $item_proyecto Proyecto al que pertenece el ítem destino (por defecto el actual) - * @param string $item ID. del ítem destino (por defecto el actual) + * @param string $item_proyecto Proyecto al que pertenece el �tem destino (por defecto el actual) + * @param string $item ID. del �tem destino (por defecto el actual) * @param array $parametros Parametros pasados a la OPERACION (Array asociativo de strings) * @param boolean $zona Activa la propagacion automatica del editable de la ZONA * @param boolean $cronometrar Indica si la solicitud generada por este vinculo debe cronometrarse - * @return string Comando JS que contiene el salto de página + * @return string Comando JS que contiene el salto de p�gina */ function navegar_a($item_proyecto="",$item="",$parametros=null, $zona=false,$cronometrar=false) @@ -477,7 +336,7 @@ function generar_js() } /** - * Método de debug que dumpea el estado actual de los vinculos registrados + * M�todo de debug que dumpea el estado actual de los vinculos registrados */ function info() { diff --git a/proyectos/toba_usuarios/php/usuarios/gestion_arai_usuarios.php b/proyectos/toba_usuarios/php/usuarios/gestion_arai_usuarios.php index 35a87bdbe4..60edcabd2d 100644 --- a/proyectos/toba_usuarios/php/usuarios/gestion_arai_usuarios.php +++ b/proyectos/toba_usuarios/php/usuarios/gestion_arai_usuarios.php @@ -20,17 +20,6 @@ public static function get_datos($datos) return $datos; } - /** - * @deprecated desde version 3.1.0 - * @param array $datos - * @param int $largo_clave - * @return array - */ - public static function set_datos($datos, $largo_clave) - { - return self::completar_datos_usuario($datos, $largo_clave); - } - public static function completar_datos_usuario($datos, $largo_clave) { if (toba::instalacion()->vincula_arai_usuarios()) { @@ -136,7 +125,7 @@ private static function verifica_version_arai_cli() } //Agregar verificacion puntual de version compatible de arai-cli if (! SIUToba\Framework\Arai\RegistryHooksProyectoToba::checkVersionCompatible()) { - throw new toba_error('La versión del paquete siu/arai-cli no es compatible, revise la documentación del sistema.'); + throw new toba_error('La versi�n del paquete siu/arai-cli no es compatible, revise la documentaci�n del sistema.'); } return true; From dfc0db8a457be906b32b4c53cd16744d9b2d4c43 Mon Sep 17 00:00:00 2001 From: TobiasCricco Date: Wed, 7 Feb 2024 16:08:33 -0300 Subject: [PATCH 2/8] correccion encoding --- php/lib/db/toba_db_postgres7.php | 14 +- php/lib/toba_encriptador.php | 6 +- php/lib/toba_manejador_archivos.php | 14 +- php/lib/toba_varios.php | 22 +-- .../componentes/interface/toba_ei_cuadro.php | 110 +++++++------- .../interface/toba_ei_cuadro_salida_html.php | 14 +- php/nucleo/componentes/negocio/toba_cn.php | 6 +- .../persistencia/toba_ap_tabla_db.php | 134 +++++++++--------- .../persistencia/toba_datos_relacion.php | 90 ++++++------ .../persistencia/toba_datos_tabla.php | 112 +++++++-------- php/nucleo/componentes/toba_componente.php | 26 ++-- php/nucleo/lib/toba_editor.php | 32 ++--- php/nucleo/lib/toba_instancia.php | 24 ++-- php/nucleo/lib/toba_manejador_sesiones.php | 50 +++---- php/nucleo/lib/toba_proyecto.php | 36 ++--- php/nucleo/lib/toba_usuario.php | 4 +- php/nucleo/lib/toba_usuario_basico.php | 6 +- php/nucleo/lib/toba_vinculador.php | 22 +-- .../php/usuarios/gestion_arai_usuarios.php | 2 +- 19 files changed, 362 insertions(+), 362 deletions(-) diff --git a/php/lib/db/toba_db_postgres7.php b/php/lib/db/toba_db_postgres7.php index 1d12f663ff..4e505214cb 100644 --- a/php/lib/db/toba_db_postgres7.php +++ b/php/lib/db/toba_db_postgres7.php @@ -1,6 +1,6 @@ default_algo, $this->default_hash, $this->default_formato); return $cipher->encryptString($dato, $clave); @@ -79,7 +79,7 @@ function encriptar($dato, $clave) function desencriptar($dato, $clave) { if (! extension_loaded('php_openssl') && ! extension_loaded('Openssl')) { - throw new toba_error('La extensi�n para openssl no se encuentra cargada, verifique la instalaci�n.'); + throw new toba_error('La extensión para openssl no se encuentra cargada, verifique la instalación.'); } $cipher = new Cryptor($this->default_algo, $this->default_hash, $this->default_formato); return $cipher->decryptString($dato, $clave); @@ -89,7 +89,7 @@ function desencriptar($dato, $clave) // FUNCIONES CON UTILIDAD A FUTURO //-------------------------------------------------------------------------------------------------------------------------------------------------------------------------// /** - * Permite fijar el algoritmo de des/encriptaci�n (default aes-256-ctr) + * Permite fijar el algoritmo de des/encriptación (default aes-256-ctr) * @param type $algo */ function set_algoritmo($algo) diff --git a/php/lib/toba_manejador_archivos.php b/php/lib/toba_manejador_archivos.php index 948a6fa0b8..09b5b624e9 100644 --- a/php/lib/toba_manejador_archivos.php +++ b/php/lib/toba_manejador_archivos.php @@ -50,7 +50,7 @@ static function es_windows() } /** - * Similar al file_exists de php pero incluye al include_path en la b�squeda + * Similar al file_exists de php pero incluye al include_path en la búsqueda * @param string $file * @return boolean */ @@ -109,7 +109,7 @@ static function path_a_plataforma($path) } /** - * Retorna un path convertido a la plataforma actual de ejecuci�n (unix o windows) + * Retorna un path convertido a la plataforma actual de ejecución (unix o windows) * @param string $candidato * @return string */ @@ -132,7 +132,7 @@ static function get_archivos_directorio( $directorio, $patron = null, $recursivo $archivos_ok = array(); if( ! is_dir( $directorio ) ) { toba_logger::instancia()->error("BUSCAR ARCHIVOS: El directorio '$directorio' es INVALIDO"); - throw new toba_error('BUSCAR ARCHIVOS: El directorio solicitado no es v�lido o no tiene permisos'); + throw new toba_error('BUSCAR ARCHIVOS: El directorio solicitado no es válido o no tiene permisos'); } if (in_array($directorio, $exclude_dirs, true)) { @@ -176,7 +176,7 @@ static function buscar_archivos_directorio_recursivo( $directorio, &$exclude_dir { if( ! is_dir( $directorio ) ) { toba_logger::instancia()->error("BUSCAR ARCHIVOS: El directorio '$directorio' es INVALIDO"); - throw new toba_error('BUSCAR ARCHIVOS: El directorio solicitado no es v�lido o no tiene permisos'); + throw new toba_error('BUSCAR ARCHIVOS: El directorio solicitado no es válido o no tiene permisos'); } $archivos = array(); $d = dir( $directorio ); @@ -210,7 +210,7 @@ static function get_subdirectorios( $directorio ) $dirs = array(); if( ! is_dir( $directorio ) ) { toba_logger::instancia()->error("BUSCAR SUBDIRECTORIOS: El directorio '$directorio' es INVALIDO"); - throw new toba_error('BUSCAR SUBDIRECTORIOS: El directorio solicitado no es v�lido o no tiene permisos'); + throw new toba_error('BUSCAR SUBDIRECTORIOS: El directorio solicitado no es válido o no tiene permisos'); } $dir = opendir($directorio); if ($dir !== false) { @@ -242,7 +242,7 @@ static function copiar_directorio( $origen, $destino, $excepciones=array(), $man { if( ! is_dir( $origen ) ) { toba_logger::instancia()->error("COPIAR DIRECTORIO: El directorio de origen '$origen' es INVALIDO"); - throw new toba_error('COPIAR DIRECTORIO: El directorio de origen no es v�lido o no tiene permisos'); + throw new toba_error('COPIAR DIRECTORIO: El directorio de origen no es válido o no tiene permisos'); } $ok = true; if( ! is_dir( $destino ) ) { @@ -288,7 +288,7 @@ static function eliminar_directorio( $directorio ) { if( ! is_dir( $directorio ) ) { toba_logger::instancia()->error("ELIMINAR DIRECTORIO: El directorio '$directorio' es INVALIDO"); - throw new toba_error('ELIMINAR DIRECTORIO: El directorio solicitado no es v�lido o no tiene permisos'); + throw new toba_error('ELIMINAR DIRECTORIO: El directorio solicitado no es válido o no tiene permisos'); } $ok = true; $dir = opendir( $directorio ); diff --git a/php/lib/toba_varios.php b/php/lib/toba_varios.php index aa344e08f8..93bfeb7ff5 100644 --- a/php/lib/toba_varios.php +++ b/php/lib/toba_varios.php @@ -46,7 +46,7 @@ function comienza_con($haystack, $needle){ } /** - * Si $var est� seteada la devuelve, sino devuelve el valor por defecto + * Si $var está seteada la devuelve, sino devuelve el valor por defecto * de la misma * @param mixed $var * @param mixed $default @@ -60,11 +60,11 @@ function get_var(&$var, $default = null) { } /** - * Devuelve el nombre de la clase de acuerdo a la extensi�n de proyecto + * Devuelve el nombre de la clase de acuerdo a la extensión de proyecto * que se indique * @param string $nombre * @param string $proyecto - * @param array $extensiones arreglo asociativo con 2 par�metros: el 1ro es + * @param array $extensiones arreglo asociativo con 2 parámetros: el 1ro es * extension_toba y el 2do extension_proyecto. Se obtiene de * toba::proyecto()->get_clases_extendidas() */ @@ -236,7 +236,7 @@ function rest_encode($datos) /** * Elimina los campos del array con valor null. No se modifica el arreglo - * pasado por par�metro, se devuelve uno nuevo con las componentes vac�as + * pasado por parámetro, se devuelve uno nuevo con las componentes vacías * eliminadas * @param array $array * @return array @@ -255,7 +255,7 @@ function array_eliminar_nulls(&$array) } /** - * Borra todos los subarrays vac�os de $array. Modifica la variable de entrada + * Borra todos los subarrays vacíos de $array. Modifica la variable de entrada * @param array $array */ function array_borrar_subarrays_vacios(&$array) @@ -268,8 +268,8 @@ function array_borrar_subarrays_vacios(&$array) } /** - * Si el par�metro no es un arreglo o es un arreglo sin la componente 0 mete - * el par�metro dentro de un arreglo + * Si el parámetro no es un arreglo o es un arreglo sin la componente 0 mete + * el parámetro dentro de un arreglo * @param mixed $elem * @return array */ @@ -339,7 +339,7 @@ function salto_linea() function sl(){ return salto_linea(); } function tecla_acceso($etiqueta) - //Toma una etiqueta e intenta extraer el caracter de acceso r�pido + //Toma una etiqueta e intenta extraer el caracter de acceso rápido // Ej: Proce&sar retornar array('Procesar', 'P') { $escapador = toba::escaper(); @@ -595,7 +595,7 @@ function generar_archivo_entorno($instal_dir, $id_instancia, $es_windows=false) /** - * Clase que otorga rangos para asignaci�n de tabs + * Clase que otorga rangos para asignación de tabs * @package Varios */ class toba_manejador_tabs @@ -623,7 +623,7 @@ function siguiente() } /** - * El objeto_de_mentira intenta superar su ejecuci�n sin causar ningun error ni warning + * El objeto_de_mentira intenta superar su ejecución sin causar ningun error ni warning * Util para simulaciones * @ignore */ @@ -742,7 +742,7 @@ function comparar($valor1, $operador, $valor2) case '~': return preg_match($valor2, $valor1); //$valor2 es el pattern default: - toba_logger::instancia()->error("El operador $operador no est� soportado"); + toba_logger::instancia()->error("El operador $operador no está soportado"); throw new toba_error('Operador no soportado'); } } diff --git a/php/nucleo/componentes/interface/toba_ei_cuadro.php b/php/nucleo/componentes/interface/toba_ei_cuadro.php index a1e03a9a5a..61ad1a6370 100644 --- a/php/nucleo/componentes/interface/toba_ei_cuadro.php +++ b/php/nucleo/componentes/interface/toba_ei_cuadro.php @@ -77,7 +77,7 @@ class toba_ei_cuadro extends toba_ei protected $_agrupacion_columnas = array(); protected $_layout_cant_filas = null; protected $_excel_usar_formulas; - protected static $_mostrar_excel_sin_cortes = false; // Especifica si se tiene que dar la opci�n de renderizar como excel sin cortes + protected static $_mostrar_excel_sin_cortes = false; // Especifica si se tiene que dar la opción de renderizar como excel sin cortes protected $_clase_formateo = 'toba_formateo'; protected $_etiqueta_cantidad_filas; @@ -120,7 +120,7 @@ function destruir() } /** - * M�todo interno para iniciar el componente una vez construido + * Método interno para iniciar el componente una vez construido * @ignore */ function inicializar($parametros=array()) @@ -147,7 +147,7 @@ function analizar_cortes_excel() } /** - * Espacio donde el componente cierra su configuraci�n + * Espacio donde el componente cierra su configuración * @ignore */ function post_configurar() @@ -165,7 +165,7 @@ function aplicar_restricciones_funcionales() { parent::aplicar_restricciones_funcionales(); - //-- Restricci�n funcional Columnas no-visibles ------ + //-- Restricción funcional Columnas no-visibles ------ $no_visibles = toba::perfil_funcional()->get_rf_cuadro_cols_no_visibles($this->_id[1]); if (! empty($no_visibles)) { $alguno_eliminado = false; @@ -176,7 +176,7 @@ function aplicar_restricciones_funcionales() array_splice($this->_info_cuadro_columna, $a, 1); //Elimina el elemento y reorganiza indices $a--; $limite--; //por eso vuelvo puntero atras y descuento 1 del maximo $alguno_eliminado = true; - toba::logger()->debug("Restricci�n funcional. Se filtro la columna: $clave", 'toba'); + toba::logger()->debug("Restricción funcional. Se filtro la columna: $clave", 'toba'); } } if ($alguno_eliminado) { @@ -299,7 +299,7 @@ function eliminar_columnas($columnas) if (isset($this->_info_cuadro_columna_indices[$clave])) { $id = $this->_info_cuadro_columna_indices[$clave]; array_splice($this->_info_cuadro_columna, $id, 1); - $this->procesar_definicion_columnas(); //Se re ejecuta por eliminaci�n para actualizar $this->_info_cuadro_columna_indices + $this->procesar_definicion_columnas(); //Se re ejecuta por eliminación para actualizar $this->_info_cuadro_columna_indices } } } @@ -336,7 +336,7 @@ function existen_columnas($columnas) function limpiar_columnas() { $this->_info_cuadro_columna = array(); - $this->procesar_definicion_columnas(); //Se re ejecuta por eliminaci�n para actualizar $this->_info_cuadro_columna_indices + $this->procesar_definicion_columnas(); //Se re ejecuta por eliminación para actualizar $this->_info_cuadro_columna_indices } @@ -347,7 +347,7 @@ function limpiar_columnas() function agregar_columnas($columnas) { $this->agregar_columnas_perezoso($columnas); - $this->procesar_definicion_columnas(); //Se re ejecuta por eliminaci�n para actualizar $this->_info_cuadro_columna_indices + $this->procesar_definicion_columnas(); //Se re ejecuta por eliminación para actualizar $this->_info_cuadro_columna_indices } /** @@ -369,7 +369,7 @@ private function agregar_columnas_perezoso($columnas, $columnas_al_inicio=false) } /** - * Agrupa columnas adyacentes bajo una etiqueta com�n + * Agrupa columnas adyacentes bajo una etiqueta común * * @param string $nombre_grupo Etiqueta que toma el grupo * @param array $columnas Id. de las columnas a agrupar, deben ser adyacentes @@ -395,7 +395,7 @@ function get_columnas_agrupadas() } /** - * Retorna la definici�n de las columnas actuales del cuadro + * Retorna la definición de las columnas actuales del cuadro * @return array */ function get_columnas() @@ -438,8 +438,8 @@ protected function inspeccionar_sumarizaciones_usuario() if(! is_null($id)) { if(isset($this->_sum_usuario[$id])){ - toba_logger::instancia()->error("Las funciones de sumarizaci�n deben tener IDs �nicos. El id '$id' ya existe"); - throw new toba_error_def('La funci�n de sumarizaci�n no es correcta, revise el log'); + toba_logger::instancia()->error("Las funciones de sumarización deben tener IDs únicos. El id '$id' ya existe"); + throw new toba_error_def('La función de sumarización no es correcta, revise el log'); } // Agrego la sumarizacion en la pila de sumarizaciones. $this->_sum_usuario[$id]['metodo'] = $metodo->getName(); @@ -490,7 +490,7 @@ function get_informacion_basica_componente() //################################################################################ /** - * Cambia el t�tulo o descripci�n de una columna dada del cuadro + * Cambia el título o descripción de una columna dada del cuadro * @param string $id_columna Id de la columna a cambiar * @param string $titulo */ @@ -502,7 +502,7 @@ function set_titulo_columna($id_columna, $titulo) /** * Cambia la forma en que se le da formato a una columna * @param string $id_columna - * @param string $funcion Nombre de la funci�n de formateo, sin el prefijo 'formato_' + * @param string $funcion Nombre de la función de formateo, sin el prefijo 'formato_' * @param string $clase Nombre de la clase que contiene la funcion, por defecto toba_formateo */ function set_formateo_columna($id_columna, $funcion, $clase=null) @@ -539,10 +539,10 @@ function get_estructura_datos() function set_manejador_salida ($tipo_salida, $clase) { if (is_null($tipo_salida)){ - throw new toba_error_seguridad('Se debe indicar un tipo de salida v�lido'); + throw new toba_error_seguridad('Se debe indicar un tipo de salida válido'); } if (is_null($clase)) { - throw new toba_error_seguridad('Se debe indicar un nombre de clase v�lido para el tipo de salida seleccionado '); + throw new toba_error_seguridad('Se debe indicar un nombre de clase válido para el tipo de salida seleccionado '); } $this->_manejador_tipo_salida[$tipo_salida] = $clase; } @@ -630,7 +630,7 @@ function set_eof_mostrar($mostrar=true) } /** - * El cuadro muestra su t�tulo una �nica vez antes de los cortes de control + * El cuadro muestra su título una única vez antes de los cortes de control * @param boolean $unico */ function set_mostrar_titulo_antes_cc($unico=true) @@ -796,7 +796,7 @@ private function validar_y_separar_clave(&$klave) { if (! isset($this->_memoria['claves_enviadas']) || ! in_array($klave, $this->_memoria['claves_enviadas'])) { toba_logger::instancia()->error($this->get_txt()." La clave '$klave' del cuadro no estaba entre las enviadas"); - throw new toba_error_seguridad(' La clave seleccionada no es v�lida'); + throw new toba_error_seguridad(' La clave seleccionada no es válida'); } if ($this->_modo_clave_segura) { $aux = (isset($this->_mapeo_clave_segura[$klave])) ? $this->_mapeo_clave_segura[$klave] : array(); @@ -812,7 +812,7 @@ private function validar_y_separar_clave(&$klave) } /** - * Deja al cuadro sin selecci�n alguna de fila + * Deja al cuadro sin selección alguna de fila */ function deseleccionar() { @@ -821,7 +821,7 @@ function deseleccionar() /** * Indica al cuadro cual es la clave seleccionada. - * A la hora de mostrar la grilla se crea un feedback gr�fico sobre la fila que posea esta clave + * A la hora de mostrar la grilla se crea un feedback gráfico sobre la fila que posea esta clave * @param array $clave Arreglo asociativo id_clave => valor_clave */ function seleccionar($clave) @@ -974,7 +974,7 @@ function agregar_corte_control($corte) throw new toba_error_def('El corte de control no posee la/s columna/s de corte'); } if (! isset($corte['columnas_descripcion'])) { - throw new toba_error_def('El corte de control no posee la/s columna/s para la descripci�n'); + throw new toba_error_def('El corte de control no posee la/s columna/s para la descripción'); } if (! isset($corte['descripcion'])) { $corte['descripcion'] = ''; @@ -1266,7 +1266,7 @@ protected function finalizar_paginado() } /** - * Cambia el tama�o de p�gina a usar en el paginado + * Cambia el tamaño de página a usar en el paginado * @param integer $tam */ function set_tamanio_pagina($tamanio=null) @@ -1280,8 +1280,8 @@ function set_tamanio_pagina($tamanio=null) /** * Informa al cuadro la cantidad total de registros que posee el set de datos - * Este m�todo se utiliza cuando el paginado no lo hace el propio cuadro, en este caso - * es necesario informarle la cantidad total de registros as� puede armar la barra de paginado + * Este método se utiliza cuando el paginado no lo hace el propio cuadro, en este caso + * es necesario informarle la cantidad total de registros así puede armar la barra de paginado * @param integer $cant */ function set_total_registros($cant) @@ -1290,7 +1290,7 @@ function set_total_registros($cant) } /** - * Fuerza al cuadro a mostrar una p�gina espec�fica + * Fuerza al cuadro a mostrar una página específica * @param integer $pag */ function set_pagina_actual($pag) @@ -1299,7 +1299,7 @@ function set_pagina_actual($pag) } /** - * Retorna la p�gina actualmente seleccionada por el usuario, si existe el paginado + * Retorna la página actualmente seleccionada por el usuario, si existe el paginado * @return integer */ function get_pagina_actual() @@ -1308,7 +1308,7 @@ function get_pagina_actual() } /** - * Retorna el tama�o de p�gina actual en el paginado (si est� presente el paginado) + * Retorna el tamaño de página actual en el paginado (si está presente el paginado) * @return integer */ function get_tamanio_pagina() @@ -1327,7 +1327,7 @@ function get_tipo_paginado() } /** - * Devuelve la cantidad de paginas que posee el cuadro de acuerdo a la los datos y el tama�o de pagina + * Devuelve la cantidad de paginas que posee el cuadro de acuerdo a la los datos y el tamaño de pagina * @return integer */ function get_cantidad_paginas() @@ -1394,7 +1394,7 @@ function set_usar_ordenamiento_con_cortes($usar = true) } /** - * Actualiza el estado actual del ordenamiento en base a la memoria anterior y lo que dice el usuario a trav�s del POST + * Actualiza el estado actual del ordenamiento en base a la memoria anterior y lo que dice el usuario a través del POST * @ignore */ protected function refrescar_ordenamiento() @@ -1409,7 +1409,7 @@ protected function refrescar_ordenamiento() */ private function refrescar_ordenamiento_simple() { - //�Viene seteado de la memoria? + //¿Viene seteado de la memoria? if(isset($this->_memoria['orden_columna'])) { $this->_orden_columna = $this->_memoria['orden_columna']; } @@ -1417,7 +1417,7 @@ private function refrescar_ordenamiento_simple() $this->_orden_sentido = $this->_memoria['orden_sentido']; } - //�Lo cargo el usuario? + //¿Lo cargo el usuario? if (isset($_POST[$this->_submit_orden_columna]) && $_POST[$this->_submit_orden_columna] != '') { $nueva_col = $_POST[$this->_submit_orden_columna]; } @@ -1484,7 +1484,7 @@ function hay_ordenamiento_multiple() } /** - * M�todo estandar de ordenamiento de los datos, decide el metodo de ordenamiento en base + * Método estandar de ordenamiento de los datos, decide el metodo de ordenamiento en base * al tipo de formateo de la columna, sino utiliza ordenamiento por default */ protected function ordenar() @@ -1546,7 +1546,7 @@ protected function ordenar() } /** - * M�todo estandar de ordenamiento por hora + * Método estandar de ordenamiento por hora * Heredar en caso de querer cambiar el mecanismo de ordenamiento * @param string $columna Nombre de la columna * @return mixed @@ -1557,7 +1557,7 @@ protected function ordenamiento_hora($columna) }*/ /** - * M�todo estandar de ordenamiento de fechas + * Método estandar de ordenamiento de fechas * Heredar en caso de querer cambiar el mecanismo de ordenamiento * @param string $columna Nombre de la columna * @return mixed @@ -1568,7 +1568,7 @@ protected function ordenamiento_fecha($columna) } /** - * M�todo estandar de ordenamiento de timestamps (fecha, hora) + * Método estandar de ordenamiento de timestamps (fecha, hora) * Heredar en caso de querer cambiar el mecanismo de ordenamiento * @param string $columna Nombre de la columna * @return mixed @@ -1579,7 +1579,7 @@ protected function ordenamiento_fecha_hora($columna) } /** - * M�todo estandar de ordenamiento de monedas + * Método estandar de ordenamiento de monedas * Heredar en caso de querer cambiar el mecanismo de ordenamiento * @param string $columna Nombre de la columna * @return mixed @@ -1590,7 +1590,7 @@ protected function ordenamiento_moneda($columna) } /** - * M�todo estandar de ordenamiento de numeros + * Método estandar de ordenamiento de numeros * Heredar en caso de querer cambiar el mecanismo de ordenamiento * @param string $columna Nombre de la columna * @return mixed @@ -1601,7 +1601,7 @@ protected function ordenamiento_millares($columna) } /** - * M�todo estandar de ordenamiento de decimales + * Método estandar de ordenamiento de decimales * Heredar en caso de querer cambiar el mecanismo de ordenamiento * @param string $columna Nombre de la columna * @return mixed @@ -1612,7 +1612,7 @@ protected function ordenamiento_decimal($columna) } /** - * M�todo estandar de ordenamiento de tiempo expresado en numeros + * Método estandar de ordenamiento de tiempo expresado en numeros * Heredar en caso de querer cambiar el mecanismo de ordenamiento * @param string $columna Nombre de la columna * @return mixed @@ -1624,7 +1624,7 @@ protected function ordenamiento_tiempo($columna) } /** - * M�todo estandar de ordenamiento de porcentajes + * Método estandar de ordenamiento de porcentajes * Heredar en caso de querer cambiar el mecanismo de ordenamiento * @param string $columna Nombre de la columna * @return mixed @@ -1635,7 +1635,7 @@ protected function ordenamiento_porcentaje($columna) } /** - * M�todo estandar de ordenamiento de superficie + * Método estandar de ordenamiento de superficie * Heredar en caso de querer cambiar el mecanismo de ordenamiento * @param string $columna Nombre de la columna * @return mixed @@ -1646,7 +1646,7 @@ protected function ordenamiento_superficie($columna) } /** - * M�todo estandar de ordenamiento de caracteres en mayusculas + * Método estandar de ordenamiento de caracteres en mayusculas * Heredar en caso de querer cambiar el mecanismo de ordenamiento * @param string $columna Nombre de la columna * @return mixed @@ -1657,7 +1657,7 @@ protected function ordenamiento_mayusculas($columna) } /** - * M�todo estandar de ordenamiento de caracteres + * Método estandar de ordenamiento de caracteres * Heredar en caso de querer cambiar el mecanismo de ordenamiento * @param string $columna Nombre de la columna * @return mixed @@ -1668,7 +1668,7 @@ protected function ordenamiento_may_ind($columna) } /** - * M�todo estandar de ordenamiento de los datos, utilizando array_multisort + * Método estandar de ordenamiento de los datos, utilizando array_multisort * Heredar en caso de querer cambiar el mecanismo de ordenamiento * @param string $columna Nombre de la columna * @return mixed @@ -1685,7 +1685,7 @@ protected function ordenamiento_default($columna) } /** - * M�todo estandar de ordenamiento de los datos fecha, utilizando array_multisort + * Método estandar de ordenamiento de los datos fecha, utilizando array_multisort * Heredar en caso de querer cambiar el mecanismo de ordenamiento * @ignore */ @@ -1701,7 +1701,7 @@ protected function ordenar_fechas($columna) } /** - * M�todo estandar de ordenamiento de los datos fecha, utilizando array_multisort + * Método estandar de ordenamiento de los datos fecha, utilizando array_multisort * Heredar en caso de querer cambiar el mecanismo de ordenamiento * @ignore */ @@ -1717,7 +1717,7 @@ protected function ordenar_numeros($columna) } /** - * M�todo estandar de ordenamiento de los datos fecha, utilizando array_multisort + * Método estandar de ordenamiento de los datos fecha, utilizando array_multisort * Heredar en caso de querer cambiar el mecanismo de ordenamiento * @ignore */ @@ -1739,15 +1739,15 @@ private function get_sentido_ordenamiento($valor = 'asc') }elseif ($valor == 'des') { $sentido = SORT_DESC; }else{ - toba_logger::instancia()->error('Sentido de ordenamiento inv�lido: '. $valor); - throw new toba_error_def('Sentido de ordenamiento inv�lido'); + toba_logger::instancia()->error('Sentido de ordenamiento inválido: '. $valor); + throw new toba_error_def('Sentido de ordenamiento inválido'); } return $sentido; } function quita_acentos($cadena) { - $tofind = "�����������������������������������������������������"; + $tofind = "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ"; $replac = "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn"; return(strtr($cadena,$tofind,$replac)); } @@ -1962,10 +1962,10 @@ function set_datos($datos) $this->datos = $datos; if (!is_array($this->datos)) { toba_logger::instancia()->error( $this->get_txt() . - " El par�metro para cargar el cuadro posee un formato incorrecto:" . + " El parámetro para cargar el cuadro posee un formato incorrecto:" . "Se esperaba un arreglo de dos dimensiones con formato recordset."); - throw new toba_error_def(' El par�metro para cargar el cuadro posee un formato incorrecto, revise el log'); + throw new toba_error_def(' El parámetro para cargar el cuadro posee un formato incorrecto, revise el log'); } if (count($this->datos) > 0 ) { $this->validar_estructura_datos(); @@ -2082,8 +2082,8 @@ function generar_html() protected function generar_salida($tipo, $objeto_toba_salida = null) { if($tipo!="html" && $tipo!="impresion_html" && $tipo!="pdf" && $tipo!='excel' && $tipo!='xml'){ - toba_logger::instancia()->error("El tipo de salida '$tipo' es inv�lido"); - throw new toba_error_seguridad("El tipo de salida indicado es inv�lido, revise el log"); + toba_logger::instancia()->error("El tipo de salida '$tipo' es inválido"); + throw new toba_error_seguridad("El tipo de salida indicado es inválido, revise el log"); } $this->_tipo_salida = $tipo; $this->instanciar_manejador_tipo_salida($tipo); @@ -2411,7 +2411,7 @@ protected function crear_corte(&$nodo, $es_ultimo) // FUNCIONES AUXILIARES //############################################################################################ /** - * Esta funci�n debe ser utilizada desde los archivos de customizaci�n + * Esta función debe ser utilizada desde los archivos de customización * para mostrar la vista de excel sin cortes de control * @param boolean $valor */ diff --git a/php/nucleo/componentes/interface/toba_ei_cuadro_salida_html.php b/php/nucleo/componentes/interface/toba_ei_cuadro_salida_html.php index c32fbedd38..ba1f0e59e5 100644 --- a/php/nucleo/componentes/interface/toba_ei_cuadro_salida_html.php +++ b/php/nucleo/componentes/interface/toba_ei_cuadro_salida_html.php @@ -45,7 +45,7 @@ function generar_botones($clase='') protected function html_generar_campos_hidden() { $nombre_campos = $this->_cuadro->get_nombres_parametros(); - //Campos de comunicaci�n con JS + //Campos de comunicación con JS echo toba_form::hidden($nombre_campos['submit'], ''); echo toba_form::hidden($nombre_campos['seleccion'], ''); echo toba_form::hidden($nombre_campos['extra'], ''); @@ -171,7 +171,7 @@ function html_fin() /** * Genera el html que el cuadro muestra cuando no tiene datos cargados - * @param string $texto Texto a mostrar en base a la definici�n del componente + * @param string $texto Texto a mostrar en base a la definición del componente */ function html_mensaje_cuadro_vacio($texto) { @@ -501,7 +501,7 @@ function generar_layout_fila($columnas, $datos, $id_fila, $clave_fila, $evt_mul if(isset($columnas[$a]["clave"])) { if(isset($datos[$id_fila][$columnas[$a]["clave"]])) { $valor_real = $datos[$id_fila][$columnas[$a]["clave"]]; - //-- Hace el saneamiento para evitar inyecci�n XSS + //-- Hace el saneamiento para evitar inyección XSS if (!isset($columnas[$a]['permitir_html']) || $columnas[$a]['permitir_html'] == 0) { $valor_real = texto_plano($valor_real); } @@ -615,7 +615,7 @@ protected function html_cuadro_fin($nodo=null) */ protected function html_cuadro_cabecera_columnas() { - //�Alguna columna tiene t�tulo? + //¿Alguna columna tiene título? $alguna_tiene_titulo = false; $columnas = $this->_cuadro->get_columnas(); foreach(array_keys($columnas) as $clave) { @@ -666,7 +666,7 @@ protected function html_cuadro_cabecera_columnas() } else { //Guarda el html de la columna para sacarlo una fila mas abajo $html_columnas_agrupadas .= $html_columna; - //Si es la primera columna de la agrupaci�n saca un unico del ancho de la agrupacion + //Si es la primera columna de la agrupación saca un unico del ancho de la agrupacion if (! isset($grupo_actual) || $grupo_actual != $columnas[$a]['grupo']) { $grupo_actual = $columnas[$a]['grupo']; $cant_col = count(array_unique($columnas_agrupadas[$grupo_actual])); //Cuando se fija manualmente el grupo y se re procesa la definicion trae la misma columna + de una vez @@ -704,7 +704,7 @@ protected function html_cuadro_cabecera_columna($titulo,$columna,$indice) /** * @todo por ahora las imagenes del ornamientos queda fijado en Toba ( Despues veremos ) */ - //--- �Es ordenable? + //--- ¿Es ordenable? if ( isset($eventos['ordenar']) && $columnas[$indice]["no_ordenar"] != 1 /*&& $this->_tipo_salida == 'html' */) { @@ -718,7 +718,7 @@ protected function html_cuadro_cabecera_columna($titulo,$columna,$indice) $sel = "_sel";//orden ACTIVO } - //Comunicaci�n del evento + //Comunicación del evento $parametros = array('orden_sentido'=>$sen[0], 'orden_columna'=>$columna); $evento_js = toba_js::evento('ordenar', $eventos['ordenar'], $parametros); $js = "$objeto_js.set_evento($evento_js);"; diff --git a/php/nucleo/componentes/negocio/toba_cn.php b/php/nucleo/componentes/negocio/toba_cn.php index 73227885c5..99bac261ca 100644 --- a/php/nucleo/componentes/negocio/toba_cn.php +++ b/php/nucleo/componentes/negocio/toba_cn.php @@ -2,7 +2,7 @@ /** * Este componente permite unificar la carga y entrega de datos y servicios a una jerarquia completa de componentes de interface (especialmente a los cis) * - * Separar la carga y utilizaci�n de los datos (inicio y fin de una transaccion de negocios) + * Separar la carga y utilización de los datos (inicio y fin de una transaccion de negocios) * permite: * -Lograr una maxima independencia entre la logica de pantalla y de la de negocio, * -Tener un lugar centralizado para brindar servicios comunes a una jerarquia de componentes @@ -28,7 +28,7 @@ final function __construct($id) /** - * Ventana de extensi�n que se ejecuta al iniciar el componente en todos los pedidos en los que participa. + * Ventana de extensión que se ejecuta al iniciar el componente en todos los pedidos en los que participa. * @ventana */ function ini() @@ -64,7 +64,7 @@ function cancelar() * Se inicia una transaccion de base de datos y dentro de ella se llama a : * @see evt__validar_datos() * @see evt__procesar_especifico() - * Una vez terminada la transacci�n se invoca a la limpieza de memoria + * Una vez terminada la transacción se invoca a la limpieza de memoria * * @todo Ver la posibilidad de usar ignore_user_abort() para evitar problemas con medios no transaccionales */ diff --git a/php/nucleo/componentes/persistencia/toba_ap_tabla_db.php b/php/nucleo/componentes/persistencia/toba_ap_tabla_db.php index d78421b43c..4679572445 100644 --- a/php/nucleo/componentes/persistencia/toba_ap_tabla_db.php +++ b/php/nucleo/componentes/persistencia/toba_ap_tabla_db.php @@ -5,7 +5,7 @@ * Administrador de persistencia a una tabla de DB desde un @see toba_datos_tabla * Supone que la tabla de datos se va a mapear a algun tipo de estructura en una base de datos * - * TODO Poder desactivar el control de sincronizacion (�se necesita esto?) + * TODO Poder desactivar el control de sincronizacion (¿se necesita esto?) * TODO Como se implementa la carga de columnas externas?? * TODO Donde se hacen los controles pre-sincronizacion (nulos db)?? * TODO Hay que definir el manejo de claves (en base a toba_datos_relacion) @@ -87,7 +87,7 @@ protected function get_estado_datos_tabla() } /** - * Shorcut a toba::logger()->debug incluyendo infomaci�n b�sica del componente + * Shorcut a toba::logger()->debug incluyendo infomación básica del componente */ protected function log($txt) { @@ -95,7 +95,7 @@ protected function log($txt) } /** - * M�todo de debug que retorna las propiedades internas + * Método de debug que retorna las propiedades internas * @return array */ function info() @@ -132,15 +132,15 @@ function desactivar_transaccion() } /** - * Carga una columna separada del proceso com�n de carga - * Se brinda una query que carga una o m�s columnas denominadas como 'externas' - * Una columna externa no participa en la sincronizaci�n posterior, pero por necesidades casi siempre est�ticas + * Carga una columna separada del proceso común de carga + * Se brinda una query que carga una o más columnas denominadas como 'externas' + * Una columna externa no participa en la sincronización posterior, pero por necesidades casi siempre estéticas * necesitan mantenerse junto al conjunto de datos. * * @param string $sql Query de carga que devolvera un registro conteniendo las columnas 'externas' * @param array $col_parametros Columnas que espera recibir el sql, en la sql necesitan esta el campo entre % (%nombre_campo%) - * @param array $col_resultado Columnas del registro resultante que se tomar�n para rellenar la tabla - * @param boolean $sincro_continua En cada pedido de p�gina ejecuta la sql para actualizar los valores de las columnas + * @param array $col_resultado Columnas del registro resultante que se tomarán para rellenar la tabla + * @param boolean $sincro_continua En cada pedido de página ejecuta la sql para actualizar los valores de las columnas * @param boolean $estricto Indica si es imperioso que la columna externa posea un estado o se * permite que no posea valor. */ @@ -156,17 +156,17 @@ function activar_proceso_carga_externa_sql($sql, $col_parametros, $col_resultado } /** - * Carga una columna separada del proceso com�n de carga - * Se brinda un DAO que carga una o m�s columnas denominadas como 'externas' - * Una columna externa no participa en la sincronizaci�n posterior, pero por necesidades casi siempre est�ticas + * Carga una columna separada del proceso común de carga + * Se brinda un DAO que carga una o más columnas denominadas como 'externas' + * Una columna externa no participa en la sincronización posterior, pero por necesidades casi siempre estéticas * necesitan mantenerse junto al conjunto de datos. * - * @param string $m�todo M�todo que obtiene los datos. - * @param string $clase Clase a la que pertenece el m�todo. Si es NULL usa el mismo AP + * @param string $método Método que obtiene los datos. + * @param string $clase Clase a la que pertenece el método. Si es NULL usa el mismo AP * @param string $include Archivo donde se encuentra la clase. Si es NULL usa el mismo AP * @param array $col_parametros Columnas que espera recibir el DAO. - * @param array $col_resultado Columnas del registro resultante que se tomar�n para rellenar la tabla - * @param boolean $sincro_continua En cada pedido de p�gina ejecuta el DAO para actualizar los valores de las columnas + * @param array $col_resultado Columnas del registro resultante que se tomarán para rellenar la tabla + * @param boolean $sincro_continua En cada pedido de página ejecuta el DAO para actualizar los valores de las columnas * @param boolean $estricto Indica si es imperioso que la columna externa posea un estado o se * permite que no posea valor. */ @@ -186,16 +186,16 @@ function activar_proceso_carga_externa_dao($metodo, $clase=null, $include=null, } /** - * Carga una columna separada del proceso com�n de carga - * Se brinda un Datos Tabla que carga una o m�s columnas denominadas como 'externas' - * Una columna externa no participa en la sincronizaci�n posterior, pero por necesidades casi siempre est�ticas + * Carga una columna separada del proceso común de carga + * Se brinda un Datos Tabla que carga una o más columnas denominadas como 'externas' + * Una columna externa no participa en la sincronización posterior, pero por necesidades casi siempre estéticas * necesitan mantenerse junto al conjunto de datos. * * @param string $tabla Identificador del objeto_datos_tabla a utilizar. - * @param string $metodo M�todo que obtiene los datos. + * @param string $metodo Método que obtiene los datos. * @param array $col_parametros Columnas que espera recibir el DAO. - * @param array $col_resultado Columnas del registro resultante que se tomar�n para rellenar la tabla - * @param boolean $sincro_continua En cada pedido de p�gina ejecuta el DAO para actualizar los valores de las columnas + * @param array $col_resultado Columnas del registro resultante que se tomarán para rellenar la tabla + * @param boolean $sincro_continua En cada pedido de página ejecuta el DAO para actualizar los valores de las columnas * @param boolean $estricto Indica si es imperioso que la columna externa posea un estado o se * permite que no posea valor. */ @@ -228,10 +228,10 @@ function activar_proceso_carga_externa_consulta_php($metodo, $id_consulta_php, $ } /** - * Activa el mecanismo de baja l�gica + * Activa el mecanismo de baja lógica * En este mecanismo en lugar de hacer DELETES actualiza una columna * - * @param string $columna Columna que determina la baja l�gica + * @param string $columna Columna que determina la baja lógica * @param mixed $valor Valor que toma la columna al dar de baja un registro */ function activar_baja_logica($columna, $valor) @@ -255,7 +255,7 @@ function set_schema($schema) } /** - * Activa/Desactiva el uso autom�tico del trim sobre datos en el insert o update + * Activa/Desactiva el uso automático del trim sobre datos en el insert o update * @param boolean $usar */ function set_usar_trim($usar) @@ -269,7 +269,7 @@ function get_usar_trim() } /** - * Activa/Desactiva un mecanismo de chequeo de concurrencia en la edici�n + * Activa/Desactiva un mecanismo de chequeo de concurrencia en la edición */ function set_lock_optimista($usar=true) { @@ -287,7 +287,7 @@ function get_lock_optimista() */ function pertenece_a_tabla(&$col, $tabla) { - // si no est� seteado $col['tabla'] entonces no puede ser un ap + // si no está seteado $col['tabla'] entonces no puede ser un ap // multitabla, por tanto todas las columnas perteneces a la tabla $this->_tabla // porque no hay otra ;) return !isset($col['tabla']) || $tabla == $col['tabla']; @@ -322,7 +322,7 @@ function cargar_por_clave($clave, $anexar_datos=false, $usar_cursores=false) /** * Carga el datos_tabla asociaciado a partir de una clausula where personalizada - * @param string $clausula Cl�usula where que ser� anexada con un AND a las cl�usulas b�sicas de la tabla + * @param string $clausula Cláusula where que será anexada con un AND a las cláusulas básicas de la tabla * @param boolean $anexar_datos Si es false borra todos los datos actuales de la tabla, sino los mantiene y adjunto los nuevos * @param boolean $usar_cursores En caso de anexar datos, fuerza a que los padres de la fila sean los cursores actuales de las tablas padre * @return boolean Falso si no se encontro ningun registro @@ -342,7 +342,7 @@ function cargar_con_where($clausula, $anexar_datos=false, $usar_cursores=false) * @param array $from Tablas extra que participan (la actual se incluye automaticamente) * @param boolean $anexar_datos Si es false borra todos los datos actuales de la tabla, sino los mantiene y adjunto los nuevos * @param boolean $usar_cursores En caso de anexar datos, fuerza a que los padres de la fila sean los cursores actuales de las tablas padre - * @return boolean Falso si no se encontro ning�n registro + * @return boolean Falso si no se encontro ningún registro */ function cargar_con_where_from_especifico($where=null, $from=null, $anexar_datos=false, $usar_cursores=false) { @@ -356,7 +356,7 @@ function cargar_con_where_from_especifico($where=null, $from=null, $anexar_datos * Carga el datos_tabla asociado CON una query SQL directa * @param boolean $anexar_datos Si es false borra todos los datos actuales de la tabla, sino los mantiene y adjunto los nuevos * @param boolean $usar_cursores En caso de anexar datos, fuerza a que los padres de la fila sean los cursores actuales de las tablas padre - * @return boolean Falso si no se encontro ning�n registro + * @return boolean Falso si no se encontro ningún registro */ function cargar_con_sql($sql, $anexar_datos=false, $usar_cursores=false) { @@ -366,7 +366,7 @@ function cargar_con_sql($sql, $anexar_datos=false, $usar_cursores=false) $datos = $db->consultar($sql); }catch(toba_error_db $e){ $mensaje = $e->get_mensaje_motor(); - $mensaje = "Error cargando la tabla $this->_tabla, a continuaci�n el mensaje de la base:
    ".$mensaje; + $mensaje = "Error cargando la tabla $this->_tabla, a continuación el mensaje de la base:
    ".$mensaje; $e->set_mensaje_motor($mensaje); toba::logger()->error( get_class($this). ' - '. 'Error cargando datos. ' .$e->getMessage() ); @@ -380,7 +380,7 @@ function cargar_con_sql($sql, $anexar_datos=false, $usar_cursores=false) * @param array $datos Datos a cargar en formato RecordSet. No incluye las columnas externas. * @param boolean $anexar_datos Si es false borra todos los datos actuales de la tabla, sino los mantiene y adjunto los nuevos * @param boolean $usar_cursores En caso de anexar datos, fuerza a que los padres de la fila sean los cursores actuales de las tablas padre - * @return boolean Falso si no se encontro ning�n registro + * @return boolean Falso si no se encontro ningún registro */ function cargar_con_datos($datos, $anexar_datos=false, $usar_cursores=false) { @@ -421,8 +421,8 @@ function cargar_con_datos($datos, $anexar_datos=false, $usar_cursores=false) /** * Sincroniza los cambios en los registros de esta tabla con la base de datos - * S�lo se utiliza cuando la tabla no est� involucrada en algun datos_relacion, sino - * la sincronizaci�n es guiada por ese objeto + * Sólo se utiliza cuando la tabla no está involucrada en algun datos_relacion, sino + * la sincronización es guiada por ese objeto * @return integer Cantidad de registros modificados * @throws toba_error En case de error en la sincronizacion, se aborta la transaccion (si se esta utilizando) */ @@ -442,10 +442,10 @@ function sincronizar($filas=array()) return $modificaciones; } catch(toba_error $e) { if($this->_utilizar_transaccion) { - toba::logger()->info("Abortando transacci�n en {$this->_fuente}", 'toba'); + toba::logger()->info("Abortando transacción en {$this->_fuente}", 'toba'); abortar_transaccion($this->_fuente); } - toba::logger()->debug("Relanzando excepci�n. ".$e, 'toba'); + toba::logger()->debug("Relanzando excepción. ".$e, 'toba'); throw $e; } } @@ -614,7 +614,7 @@ protected function registrar_recuperacion_valor_db($id_registro, $columna, $valo } /** - * Actualiza en los registros los valores generados por el motor durante la transacci�n + * Actualiza en los registros los valores generados por el motor durante la transacción * @ignore */ protected function actualizar_columnas_predeterminadas_db($filas=array()) @@ -633,36 +633,36 @@ protected function actualizar_columnas_predeterminadas_db($filas=array()) } /** - * Ventana para inclu�r validaciones (disparar una excepcion) o disparar procesos previo a sincronizar con la base de datos - * La transacci�n con la bd ya fue iniciada (si es que esta definida) + * Ventana para incluír validaciones (disparar una excepcion) o disparar procesos previo a sincronizar con la base de datos + * La transacción con la bd ya fue iniciada (si es que esta definida) * @ventana */ function evt__pre_sincronizacion(){} /** - * Ventana para inclu�r validaciones (disparar una excepcion) o disparar procesos antes de terminar de sincronizar con la base de datos - * La transacci�n con la bd a�n no se termin� (si es que esta definida) + * Ventana para incluír validaciones (disparar una excepcion) o disparar procesos antes de terminar de sincronizar con la base de datos + * La transacción con la bd aún no se terminó (si es que esta definida) * @ventana */ function evt__post_sincronizacion(){} /** - * Ventana para manejar la p�rdida de sincronizaci�n con la tabla en la base de datos - * El escenario es que ejecuto un update/delete usando los valores de las columnas originales y no arrojo resultados, con lo que se asume que alguien m�s modifico el registro en el medio - * La transacci�n con la bd a�n no se termin� (si es que esta definida) + * Ventana para manejar la pérdida de sincronización con la tabla en la base de datos + * El escenario es que ejecuto un update/delete usando los valores de las columnas originales y no arrojo resultados, con lo que se asume que alguien más modifico el registro en el medio + * La transacción con la bd aún no se terminó (si es que esta definida) * - * @param integer $id_fila Id. de fila de la tabla en la cual se encontr� el problema + * @param integer $id_fila Id. de fila de la tabla en la cual se encontró el problema * @param string $sql_origen Sentencia que se intento ejecutar * @ventana */ function evt__perdida_sincronizacion($id_fila, $sql_origen) { - $mensaje_usuario = "Error de concurrencia en la edici�n de los datos.

    ". - "Mientras Ud. editaba esta informaci�n, la misma fue modificada por alguien m�s. ". - "Para garantizar consistencia s�lo podr� guardar cambios luego de reiniciar la edici�n.
    "; + $mensaje_usuario = "Error de concurrencia en la edición de los datos.

    ". + "Mientras Ud. editaba esta información, la misma fue modificada por alguien más. ". + "Para garantizar consistencia sólo podrá guardar cambios luego de reiniciar la edición.
    "; - //--Hace una consulta SQL contra la tabla para averiguar puntualmente cu�l fue el cambio que llevo a esta situaci�n + //--Hace una consulta SQL contra la tabla para averiguar puntualmente cuál fue el cambio que llevo a esta situación $columnas = array(); foreach ($this->_columnas as $col) { if(!$col['externa'] && $col['tipo'] != 'B') { @@ -696,7 +696,7 @@ function evt__perdida_sincronizacion($id_fila, $sql_origen) if ($modificado) { $anterior = isset($fila_original[$col]) ? "'".$fila_original[$col]."'" : 'NULL'; $actual = isset($fila_base[$col]) ? "'".$fila_base[$col]."'" : 'NULL'; - $diff .= "
  • $col: ten�a el valor $anterior y ahora tiene $actual
  • "; + $diff .= "
  • $col: tenía el valor $anterior y ahora tiene $actual
  • "; } } $diff .= ''; @@ -711,42 +711,42 @@ function evt__perdida_sincronizacion($id_fila, $sql_origen) /** - * Ventana de extensi�n previo a la inserci�n de un registro durante una sincronizaci�n con la base + * Ventana de extensión previo a la inserción de un registro durante una sincronización con la base * @param mixed $id_registro Clave interna del registro * @ventana */ protected function evt__pre_insert($id_registro){} /** - * Ventana de extensi�n posterior a la inserci�n de un registro durante una sincronizaci�n con la base + * Ventana de extensión posterior a la inserción de un registro durante una sincronización con la base * @param mixed $id_registro Clave interna del registro * @ventana */ protected function evt__post_insert($id_registro){} /** - * Ventana de extensi�n previo a la actualizaci�n de un registro durante una sincronizaci�n con la base + * Ventana de extensión previo a la actualización de un registro durante una sincronización con la base * @param mixed $id_registro Clave interna del registro * @ventana */ protected function evt__pre_update($id_registro){} /** - * Ventana de extensi�n posterior a la actualizaci�n de un registro durante una sincronizaci�n con la base + * Ventana de extensión posterior a la actualización de un registro durante una sincronización con la base * @param mixed $id_registro Clave interna del registro * @ventana */ protected function evt__post_update($id_registro){} /** - * Ventana de extensi�n previa al borrado de un registro durante una sincronizaci�n con la base + * Ventana de extensión previa al borrado de un registro durante una sincronización con la base * @param mixed $id_registro Clave interna del registro * @ventana */ protected function evt__pre_delete($id_registro){} /** - * Ventana de extensi�n posterior al borrado de un registro durante una sincronizaci�n con la base + * Ventana de extensión posterior al borrado de un registro durante una sincronización con la base * @param mixed $id_registro Clave interna del registro * @ventana */ @@ -782,7 +782,7 @@ protected function ejecutar_con_binarios($sql, $binarios, $id_fila = null) /** * Genera la sentencia WHERE del estilo ( nombre_columna = valor ) respetando el tipo de datos * @param array $clave Arreglo asociativo clave - valor de la clave a filtrar - * @param boolean $alias �til para cuando se generan SELECTs complejos + * @param boolean $alias Útil para cuando se generan SELECTs complejos * @return array Clausulas where * * @ignore @@ -887,7 +887,7 @@ function get_sql_de_carga($campos) if (isset($this->_sql_carga)) { return $this->generar_sql_select($this->_sql_carga['where'], $this->_sql_carga['from'], $campos); } else { - throw new toba_error_def("AP-TABLA Db: La tabla no ha sido cargada en este pedido de p�gina"); + throw new toba_error_def("AP-TABLA Db: La tabla no ha sido cargada en este pedido de página"); } } @@ -1070,7 +1070,7 @@ function generar_sql_where_registro($id_registro) { $id = array(); if (! $this->_lock_optimista) { - //Sin lock optimista arma el where s�lo con las claves + //Sin lock optimista arma el where sólo con las claves foreach($this->_clave as $clave){ $id[$clave] = $this->_cambios[$id_registro]['clave'][$clave]; } @@ -1272,8 +1272,8 @@ protected function usar_metodo_dao($param_dao, $parametros, $es_carga_inicial = if (method_exists($this, $nombre_metodo)) { $datos = call_user_func_array(array($this,$nombre_metodo), array_values($param_dao)); }else { - $this->log(' ERROR en la carga de una columna externa. El m�todo: '. $nombre_metodo .' no esta definido', 'error'); - throw new toba_error_def('AP_TABLA_DB: ERROR en la carga de una columna externa. M�todo no definido, revise el log'); + $this->log(' ERROR en la carga de una columna externa. El método: '. $nombre_metodo .' no esta definido', 'error'); + throw new toba_error_def('AP_TABLA_DB: ERROR en la carga de una columna externa. Método no definido, revise el log'); } } return $datos; @@ -1292,8 +1292,8 @@ protected function usar_metodo_dt($param_dt, $parametros, $es_carga_inicial = fa $dt = toba_constructor::get_runtime($id, 'toba_datos_tabla'); if (! method_exists($dt, $nombre_metodo)) { $clase = get_class($dt); - $this->log("ERROR en la carga de una columna externa. No existe el m�todo '$nombre_metodo' de la clase '$clase'", 'error'); - throw new toba_error_def('AP_TABLA_DB: ERROR en la carga de una columna externa. M�todo no definido, revise el log'); + $this->log("ERROR en la carga de una columna externa. No existe el método '$nombre_metodo' de la clase '$clase'", 'error'); + throw new toba_error_def('AP_TABLA_DB: ERROR en la carga de una columna externa. Método no definido, revise el log'); } $datos = call_user_func_array(array($dt, $nombre_metodo), array_values($param_dt)); return $datos; @@ -1312,8 +1312,8 @@ protected function usar_clase_consulta_php($param_clase, $parametros, $es_carga_ if (method_exists($obj, $nombre_metodo)) { $datos = call_user_func_array(array($obj,$nombre_metodo), array_values($param_clase)); }else { - $this->log(' ERROR en la carga de una columna externa. El m�todo: '. $nombre_metodo .' no esta definido en la clase de consulta '. $parametros['clase'], 'error'); - throw new toba_error_def('AP_TABLA_DB: ERROR en la carga de una columna externa. M�todo no definido, revise el log'); + $this->log(' ERROR en la carga de una columna externa. El método: '. $nombre_metodo .' no esta definido en la clase de consulta '. $parametros['clase'], 'error'); + throw new toba_error_def('AP_TABLA_DB: ERROR en la carga de una columna externa. Método no definido, revise el log'); } return $datos; } @@ -1344,8 +1344,8 @@ protected function adjuntar_campos_externos_masivo($datos, $externos, $parametro } } if (empty($campos_externos) && $es_obligatoria) { - $this->log('El m�todo de carga masiva no devuelve los campos clave, no se puede adjuntar los datos externos', 'error'); - throw new toba_error_def('AP_TABLA_DB: ERROR El m�todo de carga no devuelve los campos clave, no se puede adjuntar los datos externos'); + $this->log('El método de carga masiva no devuelve los campos clave, no se puede adjuntar los datos externos', 'error'); + throw new toba_error_def('AP_TABLA_DB: ERROR El método de carga no devuelve los campos clave, no se puede adjuntar los datos externos'); } $claves = array_keys($datos); foreach($claves as $id) { @@ -1400,7 +1400,7 @@ protected function verificar_existencia_valores($fila, $parametros, $evento = nu foreach( $parametros['col_parametro'] as $col_llave ) { if (isset($evento) && isset($this->_secuencias[$col_llave])) { toba_logger::instancia()->error("AP_TABLA: [{$this->_tabla}]:\n No puede actualizarse en linea un valor que dependende de una secuencia ($col_llave)"); - throw new toba_error_def('AP_TABLA_DB: No puede actualizarse en l�nea un valor secuencia, revise el log'); + throw new toba_error_def('AP_TABLA_DB: No puede actualizarse en línea un valor secuencia, revise el log'); } if (!isset($fila[$col_llave])) { $estan_todos = false; diff --git a/php/nucleo/componentes/persistencia/toba_datos_relacion.php b/php/nucleo/componentes/persistencia/toba_datos_relacion.php index 9fa91eeefe..f8fb722ac6 100644 --- a/php/nucleo/componentes/persistencia/toba_datos_relacion.php +++ b/php/nucleo/componentes/persistencia/toba_datos_relacion.php @@ -1,9 +1,9 @@ _relaciones_mapeos = array(); $this->_relaciones_mapeos_eliminados = array(); @@ -74,7 +74,7 @@ function destruir() } /** - * Carga los datos_tabla y les pone los topes m�nimos y m�ximos + * Carga los datos_tabla y les pone los topes mínimos y máximos */ private function crear_tablas() { @@ -91,7 +91,7 @@ private function crear_tablas() } /** - * Para cada relaci�n definida crea una toba_relacion_entre_tablas + * Para cada relación definida crea una toba_relacion_entre_tablas * Determina cual es la tabla raiz */ private function crear_relaciones() @@ -132,7 +132,7 @@ private function crear_relaciones() } /** - * Deshabilita la tabla o las tablas recibidas para la carga y la sincronizaci�n + * Deshabilita la tabla o las tablas recibidas para la carga y la sincronización */ function desactivar_tablas($tablas) { @@ -233,7 +233,7 @@ protected function dump_esquema_relaciones($nodo) echo "var $var_mapeo = ".toba_js::arreglo($mapeo, true).";\n"; echo toba_js::cerrar(); - //Calculo la cantidad de filas padres e hijas involucradas en la relaci�n + //Calculo la cantidad de filas padres e hijas involucradas en la relación $cant_padres = 0; $cant_hijos = 0; $mapeo_hijos = array(); @@ -245,7 +245,7 @@ protected function dump_esquema_relaciones($nodo) } $cant_hijos = count(array_unique($mapeo_hijos)); - //Incluyo la relaci�n + //Incluyo la relación $diagrama .= $padre_id . " -> " . $hijo_id . " [fontsize=6,color=gray, label=\"$cant_padres - $cant_hijos\"". //Esta truchada es para arreglar otra ceguera del IE @@ -263,7 +263,7 @@ protected function dump_esquema_relaciones($nodo) function orden_sincronizacion() { if ($this->_info_estructura['sinc_orden_automatico']) { - //-- Se construye el orden topol�gico + //-- Se construye el orden topológico $sorter = new Structures_Graph_Manipulator_TopologicalSorter(); $deps = $this->get_tablas_activas(); $rel = $this->get_relaciones_activas(); @@ -293,7 +293,7 @@ function orden_sincronizacion() /** * Retorna el orden hacia adelante en el cual se deben cargar las tablas - * Por defecto es el mismo que el orden de sincronizaci�n + * Por defecto es el mismo que el orden de sincronización * @return array Arreglo id_tabla => toba_datos_tabla */ function orden_carga() @@ -334,7 +334,7 @@ static function grafo_relaciones($tablas, $relaciones) //------------------------------------------------------------------------------- /** - * Retorna los identificadores de los datos_tabla inclu�dos en la relaci�n + * Retorna los identificadores de los datos_tabla incluídos en la relación * @return array */ function get_lista_tablas() @@ -343,8 +343,8 @@ function get_lista_tablas() } /** - * Retorna una referencia a una tabla perteneciente a la relaci�n - * @param string $tabla Id. de la tabla en la relaci�n + * Retorna una referencia a una tabla perteneciente a la relación + * @param string $tabla Id. de la tabla en la relación * @return toba_datos_tabla */ function tabla($tabla) @@ -358,7 +358,7 @@ function tabla($tabla) } /** - * Retorna las tablas de una relaci�n + * Retorna las tablas de una relación * @return array de toba_datos_tabla */ function get_tablas() @@ -367,7 +367,7 @@ function get_tablas() } /** - * Retorna las tablas que est�n habilitadas para la carga y la sincronizaci�n + * Retorna las tablas que están habilitadas para la carga y la sincronización * @return array de toba_datos_tabla */ function get_tablas_activas() @@ -386,7 +386,7 @@ function get_tablas_activas() } /** - * Retorna relaciones de las tablas que est�n habilitadas para la carga y la sincronizaci�n + * Retorna relaciones de las tablas que están habilitadas para la carga y la sincronización * @return array de toba_datos_tabla */ function get_relaciones_activas() @@ -405,8 +405,8 @@ function get_relaciones_activas() } /** - * Determina si una tabla es parte de la relaci�n - * @param string $tabla Id. de la tabla en la relaci�n + * Determina si una tabla es parte de la relación + * @param string $tabla Id. de la tabla en la relación * @return boolean */ function existe_tabla($tabla) @@ -415,8 +415,8 @@ function existe_tabla($tabla) } /** - * Retorna al estado inicial todas las tablas inclu�das - * Para volver a utilizar estas tablas se debe cargar nuevamente la relaci�n con datos + * Retorna al estado inicial todas las tablas incluídas + * Para volver a utilizar estas tablas se debe cargar nuevamente la relación con datos */ function resetear() { @@ -427,7 +427,7 @@ function resetear() } /** - * Asegura que ning�n cursor de alguna tabla se encuentre posicionado en ninguna fila espec�fica + * Asegura que ningún cursor de alguna tabla se encuentre posicionado en ninguna fila específica */ function resetear_cursores() { @@ -437,13 +437,13 @@ function resetear_cursores() } /** - * Ventana para validaciones espec�ficas, se ejecuta justo antes de la sincronizaci�n + * Ventana para validaciones específicas, se ejecuta justo antes de la sincronización * @ventana */ protected function evt__validar(){} /** - * Valida cada una de las tablas inclu�das en la relaci�n + * Valida cada una de las tablas incluídas en la relación */ function disparar_validacion_tablas() { @@ -469,7 +469,7 @@ function get_conjunto_datos_interno() //------------------------------------------------------------------------------- /** - * Retorna una referenca al Adm.Persistencia de la relaci�n + * Retorna una referenca al Adm.Persistencia de la relación * @return toba_ap_relacion_db */ function persistidor() @@ -498,8 +498,8 @@ function persistidor() /** * Utiliza la carga por clave del administrador de persistencia - * Carga la tabla raiz de la relaci�n y a partir de all� ramifica la carga a sus relaciones - * @param array $clave Arreglo asociativo campo-valor por el cual filtrar la relaci�n, si no se explicita se cargan todos los datos disponibles + * Carga la tabla raiz de la relación y a partir de allí ramifica la carga a sus relaciones + * @param array $clave Arreglo asociativo campo-valor por el cual filtrar la relación, si no se explicita se cargan todos los datos disponibles * @return boolean Falso, si no se encontraron registros */ function cargar($clave=array()) @@ -537,8 +537,8 @@ function set_cargado($cargado) /** * Fuerza a que los datos_tabla contenidos marquen todos sus filas como nuevas - * Esto implica que a la hora de la sincronizaci�n se van a generar INSERTS para todas las filas. - * Se utiliza para forzar una clonaci�n completa de los datos una relaci�n. + * Esto implica que a la hora de la sincronización se van a generar INSERTS para todas las filas. + * Se utiliza para forzar una clonación completa de los datos una relación. */ function forzar_insercion() { @@ -556,7 +556,7 @@ function sincronizar($usar_cursores=false) $this->disparar_validacion_tablas(); $this->evt__validar(); $this->persistidor()->sincronizar(); - //Se notifica el fin de la sincronizaci�n a las tablas + //Se notifica el fin de la sincronización a las tablas foreach ($this->_dependencias as $dependencia) { $dependencia->notificar_fin_sincronizacion(); } @@ -591,7 +591,7 @@ function sincronizar_filas($filas_tablas) } $this->evt__validar(); $this->persistidor()->sincronizar(false, $filas_tablas); - //Se notifica el fin de la sincronizaci�n a las tablas + //Se notifica el fin de la sincronización a las tablas foreach ($this->_dependencias as $id => $dependencia) { if (isset($filas_tablas[$id])) { $dependencias->notificar_fin_sincronizacion($filas_tablas[$id]); @@ -600,7 +600,7 @@ function sincronizar_filas($filas_tablas) } /** - * Elimina y sincroniza en el medio de persistencia todos los datos cargados en la relaci�n + * Elimina y sincroniza en el medio de persistencia todos los datos cargados en la relación */ function eliminar_todo() { @@ -609,7 +609,7 @@ function eliminar_todo() } /** - * Retorna el id de las tablas que no tienen padres en la relaci�n + * Retorna el id de las tablas que no tienen padres en la relación * @return array */ function get_tablas_raiz() @@ -664,15 +664,15 @@ function get_columnas_tabla_hija($datos) } /** - * Carga en el nodo xml los datos cargados en el DR. Funciona s�lo para relaciones que se modelan como un �rbol, no grafos. + * Carga en el nodo xml los datos cargados en el DR. Funciona sólo para relaciones que se modelan como un árbol, no grafos. * @param SimpleXMLElement $xml Es el nodo XML donde se van a cargar todos los datos */ function get_xml($xml){ - // Controla que haya una �nica tabla raiz + // Controla que haya una única tabla raiz if(count($this->_tablas_raiz) != 1) - throw new toba_error_def('El datos_relacion no posee una �nica tabla raiz.'); + throw new toba_error_def('El datos_relacion no posee una única tabla raiz.'); // Recupera los registros de la tabla raiz para armar cada unidad del XML. $datos_raiz = $this->_dependencias[$this->_tablas_raiz[0]]->get_filas(); @@ -686,26 +686,26 @@ function get_xml($xml){ /** * Arma un nodo XML para un registro de un datos tabla, con sus columnas como atributos y sus registros de tablas hijas como nuevos nodos internos - * Es un m�todo recursivo con la siguiente estructura: + * Es un método recursivo con la siguiente estructura: * a) Setea el cursor en el registro dado de la tabla dada - * b) agrega los datos del registro en el que se est� parado como atributos del nodo xml recibido + * b) agrega los datos del registro en el que se está parado como atributos del nodo xml recibido * c) Para cada tabla hija agrega un nodo al nodo dado. - * d) Para cada registro de cada tabla hija, agrega un nodo al nodo creado en c) y llama recursivamente a la funci�n + * d) Para cada registro de cada tabla hija, agrega un nodo al nodo creado en c) y llama recursivamente a la función * - * @param SimpleXMLElement $xml es el nodo donde se va a agregar la informaci�n + * @param SimpleXMLElement $xml es el nodo donde se va a agregar la información * @param string $tabla la tabla de la que se van a sacar los datos * @clave int $clave es la clave del registro de la tabla del que se van a sacar los datos */ protected function armar_xml($xml,$tabla,$clave) { - // Setea el cursor de la tabla (esto adem�s est� seteando un cursor en las tablas hijas + // Setea el cursor de la tabla (esto además está seteando un cursor en las tablas hijas $this->_dependencias[$tabla]->set_cursor($clave); // Agrega los datos del registro seleccionado como atributos $this->_dependencias[$tabla]->get_xml($xml); - // Recupera las tablas hijas de la tabla que se est� recorriendo + // Recupera las tablas hijas de la tabla que se está recorriendo $tablas_hijas = $this->get_tablas_hijas($tabla); // Para cada tabla hija, agrega un nodo al nodo dado @@ -713,7 +713,7 @@ protected function armar_xml($xml,$tabla,$clave) $id_filas_hijas = $this->_dependencias[$tabla_hija]->get_id_filas(); $xml2 = $xml->addChild($tabla_hija); - // Para cada registro de las tablas hijas seleccionado seg�n el cursor, agrego un nodo y llamo recursivamente + // Para cada registro de las tablas hijas seleccionado según el cursor, agrego un nodo y llamo recursivamente foreach($id_filas_hijas as $id_fila_hija){ $xml3 = $xml2->addChild('registro'); $this->armar_xml($xml3,$tabla_hija,$id_fila_hija); @@ -740,8 +740,8 @@ protected function get_tablas_hijas($tabla) // Controlo que se haya encontrado la tabla if(!$id_objeto_padre){ - toba_logger::instancia()->error("No se puede obtener el conjunto de tablas hija de la tabla $tabla, que no pertenece a la relaci�n."); - throw new toba_error_def('La tabla no pertenece a la relaci�n, revise el log'); + toba_logger::instancia()->error("No se puede obtener el conjunto de tablas hija de la tabla $tabla, que no pertenece a la relación."); + throw new toba_error_def('La tabla no pertenece a la relación, revise el log'); } // Busco todos los id de objeto de las tablas hijas $objetos_hijos = array(); diff --git a/php/nucleo/componentes/persistencia/toba_datos_tabla.php b/php/nucleo/componentes/persistencia/toba_datos_tabla.php index 693b54eb36..dde3682f51 100644 --- a/php/nucleo/componentes/persistencia/toba_datos_tabla.php +++ b/php/nucleo/componentes/persistencia/toba_datos_tabla.php @@ -4,8 +4,8 @@ * * - Utiliza un administrador de persistencia para obtener y sincronizar los datos con un medio de persistencia. * - Una vez en memoria existen primitivas para trabajar sobre estos datos. - * - Los datos y sus modificaciones son mantenidos autom�ticamente en sesi�n entre los distintos pedidos de p�gina. - * - Una vez terminada la edici�n se hace la sincronizaci�n con el medio de persistencia marcando el final de la transacci�n de negocios. + * - Los datos y sus modificaciones son mantenidos automáticamente en sesión entre los distintos pedidos de página. + * - Una vez terminada la edición se hace la sincronización con el medio de persistencia marcando el final de la transacción de negocios. * * TODO Control de FK y PK * @package Componentes\Persistencia @@ -31,7 +31,7 @@ class toba_datos_tabla extends toba_componente protected $_cambios = array(); // Cambios realizados sobre los datos protected $_datos = array(); // Datos cargados en el db_filas protected $_proxima_fila = 0; // Posicion del proximo registro en el array de datos - protected $_cursor; // Puntero a una fila espec�fica + protected $_cursor; // Puntero a una fila específica protected $_cursor_original; // Backup del cursor que se usa para deshacer un seteo protected $_cargada = false; protected $_from; @@ -205,7 +205,7 @@ function get_proximo_id() } /** - * Shorcut a toba::logger()->debug incluyendo infomaci�n b�sica del componente + * Shorcut a toba::logger()->debug incluyendo infomación básica del componente */ protected function log($txt) { @@ -237,7 +237,7 @@ function get_relaciones_con_padres() } /** - * Retorna la relaci�n con una tabla padre + * Retorna la relación con una tabla padre * @return object * @see toba_relacion_entre_tablas * @ignore @@ -384,7 +384,7 @@ function get_cantidad_filas_a_sincronizar() /** * Retorna lasfilas que sufrieron cambios desde la carga - * @param array $cambios Combinaci�n de tipos de cambio a buscar: d, i o u (por defecto los tres) + * @param array $cambios Combinación de tipos de cambio a buscar: d, i o u (por defecto los tres) * @return array Ids. internos */ function get_id_filas_a_sincronizar( $cambios=array("d","i","u") ) @@ -430,7 +430,7 @@ function set_tope_max_filas($cantidad) } /** - * Cambia la cantidad m�nima de filas que debe contener la tabla + * Cambia la cantidad mínima de filas que debe contener la tabla * @param integer $cantidad 0 si no hay tope */ function set_tope_min_filas($cantidad) @@ -453,7 +453,7 @@ function set_no_duplicado( $columnas ) } /** - * Indica que la tabla maneja un �nico registro en memoria, habilitando la api get/set + * Indica que la tabla maneja un único registro en memoria, habilitando la api get/set * @param boolean $unico */ function set_es_unico_registro($unico) @@ -467,8 +467,8 @@ function set_es_unico_registro($unico) /** * Fija el cursor en una fila dada - * Cuando la tabla tiene un cursor muchas de sus operaciones empiezan a tratar a esta fila como la �nica - * y sus tablas padres e hijas tambi�n. Por ejemplo al pedir las filas de la tabla hija solo retorna aquellas filas hijas del registro cursor de la tabla padre. + * Cuando la tabla tiene un cursor muchas de sus operaciones empiezan a tratar a esta fila como la única + * y sus tablas padres e hijas también. Por ejemplo al pedir las filas de la tabla hija solo retorna aquellas filas hijas del registro cursor de la tabla padre. * @param mixed $id Id. interno de la fila */ function set_cursor($id) @@ -479,8 +479,8 @@ function set_cursor($id) $this->_cursor = $id; $this->log("Nuevo cursor '{$this->_cursor}' en reemplazo del anterior '{$this->_cursor_original}'"); }else{ - toba_logger::instancia()->error($this->get_txt() . "La fila '$id' no es v�lida"); - throw new toba_error_def('La fila solicitada no es v�lida'); + toba_logger::instancia()->error($this->get_txt() . "La fila '$id' no es válida"); + throw new toba_error_def('La fila solicitada no es válida'); } } @@ -495,7 +495,7 @@ function restaurar_cursor() /** - * Asegura que el cursor no se encuentre posicionado en ninguna fila espec�fica + * Asegura que el cursor no se encuentre posicionado en ninguna fila específica */ function resetear_cursor() { @@ -528,7 +528,7 @@ function hay_cursor() /** * Retorna el conjunto de filas que respeta las condiciones dadas - * Por defecto la b�squeda es afectada por la presencia de cursores en las tablas padres. + * Por defecto la búsqueda es afectada por la presencia de cursores en las tablas padres. * @param array $condiciones Se utiliza este arreglo campo=>valor y se retornan los registros que cumplen (con condicion de igualdad) con estas restricciones. El valor no puede ser NULL porque siempre da falso * @param boolean $usar_id_fila Hace que las claves del array resultante sean * las claves internas del datos_tabla. Sino se usa una clave posicional y @@ -557,7 +557,7 @@ function get_filas($condiciones=null, $usar_id_fila=false, $usar_cursores=true) * Retorna los ids de todas las filas (sin eliminar) de esta tabla * @param boolean $usar_cursores Este conjunto de filas es afectado por la presencia de cursores en las tablas padres * @return array() - * @todo Se podr�a optimizar este m�todo para no recaer en tantos recorridos + * @todo Se podría optimizar este método para no recaer en tantos recorridos */ function get_id_filas($usar_cursores=true) { @@ -568,7 +568,7 @@ function get_id_filas($usar_cursores=true) } } if ($usar_cursores) { - //Si alg�n padre tiene un cursor posicionado, + //Si algún padre tiene un cursor posicionado, //se restringe a solo las filas que son hijas de esos cursores foreach ($this->_relaciones_con_padres as $id => $rel_padre) { $coincidencias = $rel_padre->filtrar_filas_hijas($coincidencias); @@ -581,7 +581,7 @@ function get_id_filas($usar_cursores=true) * Retorna los ids de todas las filas (sin eliminar) de esta tabla * @param boolean $usar_cursores Este conjunto de filas es afectado por la presencia de cursores en las tablas padres * @return array() - * @todo Se podr�a optimizar este m�todo para no recaer en tantos recorridos + * @todo Se podría optimizar este método para no recaer en tantos recorridos */ function get_id_filas_filtradas_por_cursor($incluir_eliminados=false) { @@ -635,7 +635,7 @@ function get_id_fila_padre($tabla_padre, $id_fila) * Busca los registros en memoria que cumplen una condicion. * Solo se chequea la condicion de igualdad. No se chequean tipos * @param array $condiciones Asociativo de campo => valor. El valor no puede ser NULL porque siempre da falso - * Para condiciones m�s complejas (no solo igualdad) puede ser array($columna, $condicion, $valor), + * Para condiciones más complejas (no solo igualdad) puede ser array($columna, $condicion, $valor), * por ejemplo array(array('id_persona','>=',10),...) * @param boolean $usar_cursores Este conjunto de filas es afectado por la presencia de cursores en las tablas padres * @return array Ids. internos de las filas, pueden no estar numerado correlativamente @@ -667,7 +667,7 @@ function get_id_fila_condicion($condiciones=null, $usar_cursores=true) } if( !isset($this->_columnas[$columna]) ){ toba_logger::instancia()->error("El campo '$columna' no existe. No es posible filtrar por dicho campo"); - throw new toba_error_def('P�rametro de filtrado incorrecto, revise el log'); + throw new toba_error_def('Párametro de filtrado incorrecto, revise el log'); } if(!isset($this->_datos[$id_fila][$columna])) { // Es posible que una fila no posea una columa. Ej: una nueva fila no tiene la clave si esta es una secuencia. @@ -722,7 +722,7 @@ function get_fila_columna($id, $columna) } /** - * Retorna los valores de una columna espec�fica + * Retorna los valores de una columna específica * El conjunto de filas utilizado es afectado por la presencia de cursores en las tablas padres * @param string $columna Nombre del campo o columna * @return array Arreglo plano de valores @@ -783,7 +783,7 @@ function existe_fila($id) * Busca los registros en memoria que cumplen una condicion. * Solo se chequea la condicion de igualdad. No se chequean tipos * @param array $condiciones Asociativo de campo => valor. - * Para condiciones m�s complejas (no solo igualdad) puede ser array($columna, $condicion, $valor), + * Para condiciones más complejas (no solo igualdad) puede ser array($columna, $condicion, $valor), * por ejemplo array(array('id_persona','>=',10),...) * @param boolean $usar_cursores Este conjunto de filas es afectado por la presencia de cursores en las tablas padres */ @@ -867,8 +867,8 @@ function nueva_fila($fila=array(), $ids_padres=null, $id_nuevo=null) * Solo se modifican los valores de las columnas enviadas y que realmente cambien el valor de la fila. * @param mixed $id Id. interno de la fila a modificar * @param array $fila Contenido de la fila, en formato columna=>valor, puede ser incompleto - * @param array $nuevos_padres Arreglo (id_tabla_padre => $id_fila_padre, ....), solo se cambian los padres que se pasan por par�metros - * El resto de los padres sigue con la asociaci�n anterior + * @param array $nuevos_padres Arreglo (id_tabla_padre => $id_fila_padre, ....), solo se cambian los padres que se pasan por parámetros + * El resto de los padres sigue con la asociación anterior * @return mixed Id. interno de la fila modificada */ function modificar_fila($id, $fila, $nuevos_padres=null) @@ -924,8 +924,8 @@ function modificar_fila($id, $fila, $nuevos_padres=null) /** * Cambia los padres de una fila * @param mixed $id_fila - * @param array $nuevos_padres Arreglo (id_tabla_padre => $id_fila_padre, ....), solo se cambian los padres que se pasan por par�metros - * El resto de los padres sigue con la asociaci�n anterior + * @param array $nuevos_padres Arreglo (id_tabla_padre => $id_fila_padre, ....), solo se cambian los padres que se pasan por parámetros + * El resto de los padres sigue con la asociación anterior */ function cambiar_padre_fila($id_fila, $nuevos_padres) { @@ -938,7 +938,7 @@ function cambiar_padre_fila($id_fila, $nuevos_padres) $cambio_padre = false; foreach ($nuevos_padres as $tabla_padre => $id_padre) { if (!isset($this->_relaciones_con_padres[$tabla_padre])) { - $mensaje = ' CAMBIAR PADRE. No existe una relaci�n padre'; + $mensaje = ' CAMBIAR PADRE. No existe una relación padre'; toba_logger::instancia()->error( $this->get_txt(). $mensaje . "$tabla_padre"); throw new toba_error_def($mensaje); } @@ -972,7 +972,7 @@ function eliminar_fila($id) $this->resetear_cursor(); } $this->notificar_contenedor("pre_eliminar", $id); - //Se notifica la eliminaci�n a las relaciones + //Se notifica la eliminación a las relaciones foreach ($this->_relaciones_con_hijos as $rel) { $rel->evt__eliminacion_fila_padre($id); } @@ -1014,12 +1014,12 @@ function set_fila_columna_valor($id, $columna, $valor) if( isset($this->_columnas[$columna]) ){ $this->modificar_fila($id, array($columna => $valor)); }else{ - toba_logger::instancia()->error("La columna '$columna' no es v�lida"); - throw new toba_error_def('Columna no v�lida, revise el log'); + toba_logger::instancia()->error("La columna '$columna' no es válida"); + throw new toba_error_def('Columna no válida, revise el log'); } }else{ - toba_logger::instancia()->error("La fila '$id' no es v�lida"); - throw new toba_error_def('La fila no es v�lida, revise el log'); + toba_logger::instancia()->error("La fila '$id' no es válida"); + throw new toba_error_def('La fila no es válida, revise el log'); } } @@ -1033,8 +1033,8 @@ function set_fila_columna_valor($id, $columna, $valor) function set_columna_valor($columna, $valor, $con_cursores=false) { if(! isset($this->_columnas[$columna]) ) { - toba_logger::instancia()->error("La columna '$columna' no es v�lida"); - throw new toba_error_def('La columna no es v�lida, revise el log'); + toba_logger::instancia()->error("La columna '$columna' no es válida"); + throw new toba_error_def('La columna no es válida, revise el log'); } foreach($this->get_id_filas($con_cursores) as $fila) { $this->modificar_fila($fila, array($columna => $valor)); @@ -1062,7 +1062,7 @@ function procesar_filas($filas, $ids_padres=null) if(!isset($filas[$id][apex_ei_analisis_fila])){ toba_logger::instancia()->error('Se intenta procesar datos que no poseen la columna apex_ei_analisis_fila '. var_export($filas[$id], true)); throw new toba_error_def('Para procesar un conjunto de registros es necesario indicar el estado '. - 'Si los datos provienen de un ML, active la opci�n de analizar filas.'); + 'Si los datos provienen de un ML, active la opción de analizar filas.'); } } //--- Se asume que el id de la fila es la key del registro o la columna apex_datos_clave_fila. @@ -1091,12 +1091,12 @@ function procesar_filas($filas, $ids_padres=null) } //------------------------------------------------------------------------------- - //-- Simplificaci�n sobre una sola l�nea + //-- Simplificación sobre una sola línea //------------------------------------------------------------------------------- /** * Cambia el contenido de la fila donde se encuentra el cursor interno - * Si la tabla se definio admitiendo a lo sumo un registro, este cursor se posiciona autom�ticamente en la carga, sino se debe explicitar con el m�todo set_cursor + * Si la tabla se definio admitiendo a lo sumo un registro, este cursor se posiciona automáticamente en la carga, sino se debe explicitar con el método set_cursor * En caso que no existan filas, se crea una nueva y se posiciona el cursor en ella * Si la fila es null, se borra la fila actual * @@ -1120,7 +1120,7 @@ function set($fila) /** * Retorna el contenido de la fila donde se encuentra posicionado el cursor interno - * Si la tabla se definio admitiendo a lo sumo un registro, este cursor se posiciona autom�ticamente en la carga, sino se debe explicitar con el m�todo set_cursor + * Si la tabla se definio admitiendo a lo sumo un registro, este cursor se posiciona automáticamente en la carga, sino se debe explicitar con el método set_cursor * En caso de que no haya registros retorna NULL */ function get() @@ -1157,7 +1157,7 @@ function set_blob($columna, $blob, $id_fila=null) throw new toba_error_def('No hay posicionado un cursor en la tabla, no es posible determinar la fila actual'); } } - //Borra alg��un cache previo + //Borra algïñun cache previo if (isset($this->_blobs[$id_fila][$columna]['path']) && $this->_blobs[$id_fila][$columna]['path'] != '') { $path = $this->_blobs[$id_fila][$columna]['path']; if (file_exists($path)) { @@ -1251,7 +1251,7 @@ private function validar_fila($fila, $id=null) { if(!is_array($fila)){ toba_logger::instancia()->error($this->get_txt() . ' La fila debe ser una array'); - throw new toba_error_def(' La fila no es v�lida, revise el log'); + throw new toba_error_def(' La fila no es válida, revise el log'); } $this->evt__validar_ingreso($fila, $id); $this->control_estructura_fila($fila); @@ -1330,7 +1330,7 @@ protected function validar_columnas_en_fila($columnas, $fila, $id) //------------------------------------------------------------------------------- /** - * Validacion de toda la tabla necesaria previa a la sincronizaci�n + * Validacion de toda la tabla necesaria previa a la sincronización */ function validar($filas=array()) { @@ -1350,7 +1350,7 @@ function validar($filas=array()) } /** - * Ventana para hacer validaciones particulares previo a la sincronizaci�n + * Ventana para hacer validaciones particulares previo a la sincronización * El proceso puede ser abortado con un toba_error, el mensaje se muestra al usuario * @param array $fila Asociativo clave-valor de la fila a validar * @@ -1384,13 +1384,13 @@ private function control_nulos($fila) } */ /** - * Valida que la cantidad de filas supere el m�nimo establecido + * Valida que la cantidad de filas supere el mínimo establecido */ protected function control_tope_minimo_filas() { if ($this->_tope_min_filas != 0 && $this->get_cantidad_filas() < $this->_tope_min_filas) { - toba_logger::instancia()->error("La tabla {$this->_id_en_controlador} requiere ingresar al menos {$this->_tope_min_filas} registro/s (se encontraron s�lo {$this->get_cantidad_filas()})."); - throw new toba_error_validacion('El n�mero de filas enviadas no es adecuado'); + toba_logger::instancia()->error("La tabla {$this->_id_en_controlador} requiere ingresar al menos {$this->_tope_min_filas} registro/s (se encontraron sólo {$this->get_cantidad_filas()})."); + throw new toba_error_validacion('El número de filas enviadas no es adecuado'); } } @@ -1400,8 +1400,8 @@ protected function control_tope_minimo_filas() protected function control_tope_maximo_filas($cantidad) { if (($this->_tope_max_filas != 0) && ($cantidad > $this->_tope_max_filas)) { - toba_logger::instancia()->error("No est� permitido ingresar m�s de {$this->_tope_max_filas} registros en la tabla {$this->_id_en_controlador} (se encontraron $cantidad)."); - throw new toba_error_validacion('El n�mero de filas enviadas no es adecuado'); + toba_logger::instancia()->error("No está permitido ingresar más de {$this->_tope_max_filas} registros en la tabla {$this->_id_en_controlador} (se encontraron $cantidad)."); + throw new toba_error_validacion('El número de filas enviadas no es adecuado'); } } @@ -1411,7 +1411,7 @@ protected function control_tope_maximo_filas($cantidad) //------------------------------------------------------------------------------- /** - * Retorna el admin. de persistencia que asiste a este objeto durante la sincronizaci�n + * Retorna el admin. de persistencia que asiste a este objeto durante la sincronización * @return toba_ap_tabla_db */ function persistidor() @@ -1421,8 +1421,8 @@ function persistidor() $clase = $this->_info_estructura['ap_sub_clase']; $include = $this->_info_estructura['ap_sub_clase_archivo']; if( (trim($clase) == '' ) ){ - toba_logger::instancia()->error($this->get_txt() . 'Error en la definici�n, falta definir la subclase'); - throw new toba_error_def('Error de definici�n del persistidor, revise el log'); + toba_logger::instancia()->error($this->get_txt() . 'Error en la definición, falta definir la subclase'); + throw new toba_error_def('Error de definición del persistidor, revise el log'); } }else{ $clase = 'toba_'.$this->_info_estructura['ap_clase']; @@ -1528,7 +1528,7 @@ function anexar_datos($datos, $usar_cursores=true) } /** - * Sincroniza la tabla en memoria con el medio f�sico a trav�z del administrador de persistencia. + * Sincroniza la tabla en memoria con el medio físico a travéz del administrador de persistencia. * * @return integer Cantidad de registros modificados en el medio */ @@ -1552,7 +1552,7 @@ function sincronizar($usar_cursores=false) } /** - * Sincroniza un conjunto de filas de la tabla en memoria con el medio f�sico a trav�z del administrador de persistencia. + * Sincroniza un conjunto de filas de la tabla en memoria con el medio físico a travéz del administrador de persistencia. * * @return integer Cantidad de registros modificados en el medio */ @@ -1614,7 +1614,7 @@ function resetear() /*--- Del AP a mi ---*/ /** - * El AP avisa que termin� la sincronizaci�n + * El AP avisa que terminó la sincronización * @ignore */ function notificar_fin_sincronizacion($filas=array()) @@ -1698,7 +1698,7 @@ function get_schema_ext() /** * Retorna el alias utilizado para desambiguar la tabla en uniones tales como JOINs - * Se toma el primero seteado de: el alias definido, el rol en la relaci�n o el nombre de la tabla + * Se toma el primero seteado de: el alias definido, el rol en la relación o el nombre de la tabla * @return string */ function get_alias() @@ -1714,7 +1714,7 @@ function get_alias() /** * La tabla posee alguna columna marcada como de 'carga externa' - * Una columna externa no participa en la sincronizaci�n posterior, pero por necesidades casi siempre est�ticas + * Una columna externa no participa en la sincronización posterior, pero por necesidades casi siempre estáticas * necesitan mantenerse junto al conjunto de datos. * @return boolean */ @@ -1795,7 +1795,7 @@ protected function registrar_cambio($fila, $estado) } /** - * Determina si los datos cargados en la tabla difieren de los datos existentes en la base al inicio de la transacci�n + * Determina si los datos cargados en la tabla difieren de los datos existentes en la base al inicio de la transacción * @return boolean */ function hay_cambios() @@ -1815,7 +1815,7 @@ function hay_cambios() } /** - * Retorna verdadero si alg�n valor de la tabla cambio desde el inicio de la transacci�n + * Retorna verdadero si algún valor de la tabla cambio desde el inicio de la transacción * @return boolean */ function hay_cambios_fila($id_fila) diff --git a/php/nucleo/componentes/toba_componente.php b/php/nucleo/componentes/toba_componente.php index 93fbcfaf8d..75992d525c 100644 --- a/php/nucleo/componentes/toba_componente.php +++ b/php/nucleo/componentes/toba_componente.php @@ -88,7 +88,7 @@ function __sleep() } /** - * Alternativa para que la reutilizaci�n de un mismo componente en un mismo request se siga comportando como antes de [3050], es decir el ultimo creado pisa la memoria del 1ero. + * Alternativa para que la reutilización de un mismo componente en un mismo request se siga comportando como antes de [3050], es decir el ultimo creado pisa la memoria del 1ero. */ static function set_modo_compatible_manejo_sesion($compatible) { @@ -96,7 +96,7 @@ static function set_modo_compatible_manejo_sesion($compatible) } /** - * M�todo interno para iniciar el componente una vez construido + * Método interno para iniciar el componente una vez construido * @ignore */ function inicializar($parametros=array()) @@ -108,8 +108,8 @@ function inicializar($parametros=array()) } /** - * Ventana de extensi�n que se ejecuta al iniciar el componente en todos los pedidos en los que participa. - * Como la ventana es previa a la atenci�n de eventos y servicios es un punto ideal para la configuraci�n global del componente + * Ventana de extensión que se ejecuta al iniciar el componente en todos los pedidos en los que participa. + * Como la ventana es previa a la atención de eventos y servicios es un punto ideal para la configuración global del componente * @ventana */ function ini() {} @@ -137,7 +137,7 @@ function get_clave_memoria_global() } /** - * Shortcut de @see toba_logger::debug() que incluye informaci�n b�sica del componente actual + * Shortcut de @see toba_logger::debug() que incluye información básica del componente actual */ protected function log($txt) { @@ -153,7 +153,7 @@ function get_txt() } /** - * Retorna el nombre del componente seg�n se defini� en el editor + * Retorna el nombre del componente según se definió en el editor * @return string */ function get_nombre() @@ -162,7 +162,7 @@ function get_nombre() } /** - * Retorna el t�tulo del componente (nombre visible al usuario) + * Retorna el título del componente (nombre visible al usuario) * @return string */ function get_titulo() @@ -189,7 +189,7 @@ function inicializado() } /** - * Retorna un par�metro est�tico definido en las prop. b�sicas del componente + * Retorna un parámetro estático definido en las prop. básicas del componente * @param string $parametro Puede ser a,b,c,d,e,f */ function get_parametro($parametro) @@ -233,7 +233,7 @@ protected function invocar_callback($metodo) * Retorna un mensaje asociado al componente * * @param mixed $indice Indice del mensaje en el componente - * @param mixed $parametros Par�metros posicionales a ser reemplazados en el mensaje (puede ser uno solo o un array) + * @param mixed $parametros Parámetros posicionales a ser reemplazados en el mensaje (puede ser uno solo o un array) * @return string Mensaje parseado * @see toba_mensajes */ @@ -267,7 +267,7 @@ function informar_msg($mensaje, $nivel=null) * Informa un mensaje predefinido al usuario, usando toba::notificacion() y toba::mensajes() * * @param mixed $indice Indice del mensaje predefinido - * @param mixed $parametros Par�metros posicionales a ser reemplazados en el mensaje (puede ser uno solo o un array) + * @param mixed $parametros Parámetros posicionales a ser reemplazados en el mensaje (puede ser uno solo o un array) * @param string $nivel Severidad: info o error * * @see toba_mensajes @@ -537,7 +537,7 @@ function dep($id, $carga_en_demanda = true) } /** - * Agregar din�micamente una dependencia al componente actual + * Agregar dinámicamente una dependencia al componente actual * * @param string $identificador ID. de la dependencia * @param string $proyecto @@ -553,7 +553,7 @@ function agregar_dependencia( $identificador, $proyecto, $objeto ) } /** - * Agregar din�micamente una dependencia al componente actual utilizando + * Agregar dinámicamente una dependencia al componente actual utilizando * * @param string $identificador ID. del componente * @param string $proyecto @@ -610,7 +610,7 @@ function descargar_dependencia($identificador) } /** - * Retorna verdadero si la dependencia fue construida y asociada en este pedido de p�gina + * Retorna verdadero si la dependencia fue construida y asociada en este pedido de página * @return boolean */ function dependencia_cargada($id) diff --git a/php/nucleo/lib/toba_editor.php b/php/nucleo/lib/toba_editor.php index bf95ecbcda..0132cf7f62 100644 --- a/php/nucleo/lib/toba_editor.php +++ b/php/nucleo/lib/toba_editor.php @@ -100,7 +100,7 @@ static function referenciar_memoria() toba::proyecto()->set_parametro('es_css3', $datos['es_css3']); } - //Cambia tipo de navegaci�n + //Cambia tipo de navegación if (toba::memoria()->get_parametro('navegacion_ajax') != '') { $ajax = toba::memoria()->get_parametro('navegacion_ajax') ? true : false; toba::proyecto()->set_parametro('navegacion_ajax', $ajax); @@ -291,7 +291,7 @@ static function get_perfiles_funcionales_previsualizacion() $grupos = array_map('trim', $grupos); return $grupos; } else { - throw new toba_error('No estan definidos los perfiles de acceso a la previsualizaci�n. Desde toba_editor se pueden definir en la opci�n de Configuraci�n > Previsualizaci�n'); + throw new toba_error('No estan definidos los perfiles de acceso a la previsualización. Desde toba_editor se pueden definir en la opción de Configuración > Previsualización'); } } @@ -416,9 +416,9 @@ static function generar_zona_vinculos_item( $item, $accion, $enviar_div_wrapper toba::solicitud()->set_cronometrar(true); } toba_js::cargar_consumos_globales(array('utilidades/toba_editor')); - $html_ayuda_editor = toba_recurso::ayuda(null, 'Presionando la tecla CTRL se pueden ver los enlaces hacia los editores de los distintos componentes de esta p�gina'); - $html_ayuda_cronometro = toba_recurso::ayuda(null, 'Ver los tiempos de ejecuci�n en la generaci�n de esta p�gina'); - $html_ayuda_ajax = toba_recurso::ayuda(null, 'Activar/Desactivar navegaci�n interna de la operaci�n via AJAX'); + $html_ayuda_editor = toba_recurso::ayuda(null, 'Presionando la tecla CTRL se pueden ver los enlaces hacia los editores de los distintos componentes de esta página'); + $html_ayuda_cronometro = toba_recurso::ayuda(null, 'Ver los tiempos de ejecución en la generación de esta página'); + $html_ayuda_ajax = toba_recurso::ayuda(null, 'Activar/Desactivar navegación interna de la operación via AJAX'); $html_ayuda_editor = toba_recurso::ayuda(null, 'Volver al editor de toba'); $solicitud = toba::solicitud()->get_id(); $link_cronometro = toba::vinculador()->get_url('toba_editor', '1000263', null, array('prefijo'=>toba_editor::get_punto_acceso_editor())); @@ -452,7 +452,7 @@ static function generar_zona_vinculos_item( $item, $accion, $enviar_div_wrapper //Memoria if (function_exists('memory_get_peak_usage')) { $memoria_pico = memory_get_peak_usage(); - echo toba_recurso::imagen_toba('memory.png', true, 16, 16, 'Pico m�ximo de memoria que ha consumido el script actual'); + echo toba_recurso::imagen_toba('memory.png', true, 16, 16, 'Pico máximo de memoria que ha consumido el script actual'); echo ' '.file_size($memoria_pico, 0).' '; } @@ -470,7 +470,7 @@ static function generar_zona_vinculos_item( $item, $accion, $enviar_div_wrapper } $rol = toba::db()->get_rol_actual(); toba::memoria()->set_dato_instancia('previsualizacion_consultas', array('fuente' => $fuente, 'datos' => $info_db)); - echo "".toba_recurso::imagen_toba('objetos/datos_relacion.gif', true, 16, 16, 'Ver detalles de las consultas y comandos ejecutados en este pedido de p�gina'). + echo "".toba_recurso::imagen_toba('objetos/datos_relacion.gif', true, 16, 16, 'Ver detalles de las consultas y comandos ejecutados en este pedido de página'). count($info_db). " ($rol)"; } catch (toba_error $e) { @@ -485,12 +485,12 @@ static function generar_zona_vinculos_item( $item, $accion, $enviar_div_wrapper $total += filesize($arch); } toba::memoria()->set_dato_instancia('previsualizacion_archivos', $archivos); - echo "".toba_recurso::imagen_toba('nucleo/php.gif', true, 16, 16, 'Ver detalle de archivos .php del proyecto incluidos en este pedido de p�gina'). + echo "".toba_recurso::imagen_toba('nucleo/php.gif', true, 16, 16, 'Ver detalle de archivos .php del proyecto incluidos en este pedido de página'). ' '.count($archivos)." arch. (".file_size($total,0).')'; //Session $tamano = file_size(strlen(serialize($_SESSION)), 0); - echo toba_recurso::imagen_toba('sesion.png', true, 16, 16, 'Tama�o de la sesi�n')." $tamano "; + echo toba_recurso::imagen_toba('sesion.png', true, 16, 16, 'Tamaño de la sesión')." $tamano "; echo ""; //-- ACCIONES @@ -521,14 +521,14 @@ static function generar_zona_vinculos_item( $item, $accion, $enviar_div_wrapper if ($hay_limitado) { $actual = self::$memoria['conexion_limitada'] ? 'limitado' : 'normal'; $datos = array("normal" => "Normal", "limitado" => "Limitados"); - $js = "title='Cambia temporalmente el usuario de conexi�n a la base' onchange=\"location.href = toba_prefijo_vinculo + '&usuario_conexion=' + this.value\""; + $js = "title='Cambia temporalmente el usuario de conexión a la base' onchange=\"location.href = toba_prefijo_vinculo + '&usuario_conexion=' + this.value\""; echo "Permisos DB: ".toba_form::select('cambiar_rol', $actual, $datos, 'ef-combo', $js); } //Skin $skins = rs_convertir_asociativo(toba_info_editores::get_lista_skins(), array('estilo','proyecto'), 'descripcion'); - $js = "title='Cambia temporalmente el skin de la aplicaci�n' onchange=\"location.href = toba_prefijo_vinculo + '&skin=' + this.value\""; + $js = "title='Cambia temporalmente el skin de la aplicación' onchange=\"location.href = toba_prefijo_vinculo + '&skin=' + this.value\""; $defecto = toba::proyecto()->get_parametro('estilo').apex_qs_separador.toba::proyecto()->get_parametro('estilo_proyecto'); echo "Skin: ".toba_form::select('cambiar_skin', $defecto, $skins, 'ef-combo', $js); @@ -649,7 +649,7 @@ static function get_vinculos_item( $item, $accion ) $vinculo['frame'] = ''; $vinculo['imagen'] = 'reflexion/abrir.gif'; $vinculo['imagen_origen'] = 'proyecto'; - $vinculo['tip'] = 'Abrir el PHP del �tem en el escritorio'; + $vinculo['tip'] = 'Abrir el PHP del ítem en el escritorio'; $vinculos[] = $vinculo; } @@ -663,7 +663,7 @@ static function get_vinculos_item( $item, $accion ) $vinculo['url'] = toba::vinculador()->get_url(self::get_id(),'1000240',$parametros,$opciones); $vinculo['frame'] = 'frame_centro'; $vinculo['imagen'] = 'objetos/editar.gif'; - $vinculo['tip'] = 'Ir al editor de la operaci�n.'; + $vinculo['tip'] = 'Ir al editor de la operación.'; $vinculos[] = $vinculo; //Catalogo Unificado @@ -675,7 +675,7 @@ static function get_vinculos_item( $item, $accion ) $vinculo['url'] = toba::vinculador()->get_url(self::get_id(),'1000239',$parametros,$opciones); $vinculo['frame'] = 'frame_lista'; $vinculo['imagen'] = 'objetos/arbol.gif'; - $vinculo['tip'] = 'Ver composicion de la operaci�n en el editor.'; + $vinculo['tip'] = 'Ver composicion de la operación en el editor.'; $vinculos[] = $vinculo; /* //Consola JS @@ -683,7 +683,7 @@ static function get_vinculos_item( $item, $accion ) $vinculos[2]['url'] = toba::vinculador()->get_url(self::get_id(),'/admin/objetos/consola_js'); $vinculos[2]['frame'] = 'frame_lista'; $vinculos[2]['imagen'] = 'solic_consola.gif'; - $vinculos[2]['tip'] = 'Ir al editor de la operaci�n.'; + $vinculos[2]['tip'] = 'Ir al editor de la operación.'; */ return $vinculos; } @@ -742,7 +742,7 @@ static function get_utileria_editor_abrir_php($id_componente, $icono='reflexion/ $opciones = array('servicio' => 'ejecutar', 'zona' => false, 'celda_memoria' => 'ajax', 'menu' => true); $vinculo = toba::vinculador()->get_url(toba_editor::get_id(), "3463", $parametros, $opciones); $js = "toba.comunicar_vinculo('$vinculo')"; - $ayuda = 'Abre la extensi�n PHP del componente en el editor del escritorio'; + $ayuda = 'Abre la extensión PHP del componente en el editor del escritorio'; return "".self::imagen_editor($icono, true).""; } diff --git a/php/nucleo/lib/toba_instancia.php b/php/nucleo/lib/toba_instancia.php index 55b73041c5..6a8b8f4ff5 100644 --- a/php/nucleo/lib/toba_instancia.php +++ b/php/nucleo/lib/toba_instancia.php @@ -1,7 +1,7 @@ add_config_file('instancia', $archivo); toba::config()->load(); if (! is_file( $archivo ) ) { - toba_logger::instancia()->error("INFO_INSTANCIA: No se encuentra definido el archivo de inicializaci�n de la INSTANCIA: '".self::get_id()."' ('$archivo')"); - throw new toba_error('INFO_INSTANCIA: No se encuentra definido el archivo de inicializaci�n de la INSTANCIA'); + toba_logger::instancia()->error("INFO_INSTANCIA: No se encuentra definido el archivo de inicialización de la INSTANCIA: '".self::get_id()."' ('$archivo')"); + throw new toba_error('INFO_INSTANCIA: No se encuentra definido el archivo de inicialización de la INSTANCIA'); } return toba::config()->get_seccion('instancia'); } @@ -79,8 +79,8 @@ function get_db() if ( isset( $this->memoria['base'] ) ) { return toba_dba::get_db($this->memoria['base']); } else { - toba_logger::error("INFO_INSTANCIA: El archivo de inicializaci�n de la INSTANCIA: '".self::$id."' no posee una BASE DEFINIDA"); - throw new toba_error('INFO_INSTANCIA: El archivo de inicializaci�n de la INSTANCIA no posee una BASE DEFINIDA'); + toba_logger::error("INFO_INSTANCIA: El archivo de inicialización de la INSTANCIA: '".self::$id."' no posee una BASE DEFINIDA"); + throw new toba_error('INFO_INSTANCIA: El archivo de inicialización de la INSTANCIA no posee una BASE DEFINIDA'); } } @@ -304,7 +304,7 @@ function registrar_solicitud_web_service($proyecto, $solicitud, $metodo, $ip) //------------------ Relacion entre PROYECTOS -------------------------- /** - * Retorna las urls de los proyectos actualmente inclu�dos en la instancia + * Retorna las urls de los proyectos actualmente incluídos en la instancia */ function get_url_proyectos($proys) { @@ -376,7 +376,7 @@ function get_id_proyectos() //-------------------------------------------------------------------------- /** - * Retorna la informaci�n cruda de un usuario, tal como est� en la base de datos + * Retorna la información cruda de un usuario, tal como está en la base de datos * Para hacer preguntas del usuario actual utilizar toba::usuario()-> * * @see toba_usuario @@ -393,7 +393,7 @@ function get_info_usuario($usuario) } /** - * Retorna la informaci�n cruda de un grupo de usuarios, tal como est� en la base de datos + * Retorna la información cruda de un grupo de usuarios, tal como está en la base de datos * @see toba_usuario */ function get_info_usuarios($usuarios) @@ -433,7 +433,7 @@ function get_info_autenticacion($usuario) if(!empty($rs)) return $rs[0]; } catch (toba_error_db $e ) { toba::logger()->info($e->getMessage()); - throw new toba_error('Error recuperando informaci�n'); + throw new toba_error('Error recuperando información'); } } @@ -446,7 +446,7 @@ function get_pregunta_secreta($usuario) if (!empty($rs)) return $rs[0]; } catch (toba_error_db $e) { toba::logger()->info($e->getMessage()); - throw new toba_error('Error recuperando informaci�n'); + throw new toba_error('Error recuperando información'); } } @@ -467,7 +467,7 @@ function get_lista_claves_usadas($usuario, $periodo_tiempo=null, $no_repetidas=n return $rs; } catch (toba_error_db $e) { toba::logger()->info($e->getMessage()); - throw new toba_error('Error recuperando informaci�n'); + throw new toba_error('Error recuperando información'); } } @@ -640,7 +640,7 @@ function get_id_sesion() $sql = "SELECT nextval('{$this->get_schema_logs_toba()}.apex_sesion_browser_seq'::text) as id;"; $rs = $this->get_db()->consultar($sql); if(empty($rs)){ - throw new toba_error('No es posible recuperar el ID de la sesi�n.'); + throw new toba_error('No es posible recuperar el ID de la sesión.'); } return $rs[0]['id']; } diff --git a/php/nucleo/lib/toba_manejador_sesiones.php b/php/nucleo/lib/toba_manejador_sesiones.php index 8808b9f667..6361b5daa6 100644 --- a/php/nucleo/lib/toba_manejador_sesiones.php +++ b/php/nucleo/lib/toba_manejador_sesiones.php @@ -64,7 +64,7 @@ private function iniciar_session_php() $handler->configure_settings(); if (session_id() != '') { - throw new toba_error('Ya existe una sesi�n abierta, probablemente tenga activado session.auto_start = 1 en el php.ini'); + throw new toba_error('Ya existe una sesión abierta, probablemente tenga activado session.auto_start = 1 en el php.ini'); } if (! toba_nucleo::instancia()->es_acceso_rest()) { session_name(toba::instalacion()->get_session_name()); @@ -98,9 +98,9 @@ function login($id_usuario, $clave=null, $datos_iniciales=null) $this->procesar_acceso_proyecto($datos_iniciales); } $this->autenticar($id_usuario, $clave, $datos_iniciales); - if ($this->contrasenia_vencida) { //Si se vencio la contrase�a del usuario redirecciono al item correspondiente + if ($this->contrasenia_vencida) { //Si se vencio la contraseña del usuario redirecciono al item correspondiente $this->contrasenia_vencida = false; - throw new toba_error_login_contrasenia_vencida('La contrase�a actual del usuario ha caducado'); + throw new toba_error_login_contrasenia_vencida('La contraseña actual del usuario ha caducado'); } $this->procesar_acceso_instancia($id_usuario, $datos_iniciales); @@ -170,7 +170,7 @@ function cambio_usuario($actual, $nuevo, $datos_iniciales=null) //Verificar que el usuario nuevo esta en la lista de posibles fijada por el app_launcher $mapeo = $this->recuperar_mapeo_usuarios($nuevo , $this->_usuarios_posibles); if (empty($mapeo)) { - throw new toba_error_seguridad('Es intentando acceder a un usuario no v�lido' ); + throw new toba_error_seguridad('Es intentando acceder a un usuario no válido' ); } //Si todo va bien. $this->procesar_salida_proyecto('Logout por cambio de usuario'); //Redirije a la pantalla de login, quizas hay que hacer algo distinto por ejemplo, no borrar la sesion @@ -178,7 +178,7 @@ function cambio_usuario($actual, $nuevo, $datos_iniciales=null) } /** - * Entrada a un proyecto desde la operaci�n de inicializacion de sesion + * Entrada a un proyecto desde la operación de inicializacion de sesion */ function iniciar_sesion_proyecto($datos_iniciales) { @@ -196,7 +196,7 @@ function iniciar_sesion_proyecto($datos_iniciales) } /** - * Delega la autenticaci�n del proyecto a un objeto + * Delega la autenticación del proyecto a un objeto * @param toba_autenticable $autenticacion Objeto responsable de la autenticacion */ function set_autenticacion(toba_autenticable $autenticacion) @@ -366,7 +366,7 @@ function get_restricciones_funcionales() } /** - * Retorna los perfiles funcionales activos en la sesi�n actual + * Retorna los perfiles funcionales activos en la sesión actual * @return array */ function get_perfiles_funcionales_activos() @@ -505,7 +505,7 @@ function iniciar() $this->registrar_activacion_sesion(); $this->control_cambio_usuario(); } catch ( toba_error $e ) { - toba::logger()->debug('P�rdida de sesi�n: '. $e->getMessage()); + toba::logger()->debug('Pérdida de sesión: '. $e->getMessage()); $this->logout($e->getMessage()); $this->comprobar_acceso_anonimo(); } @@ -713,11 +713,11 @@ private function control_finalizacion_sesion() $tiempo_desconectado = ((time()-$ultimo_acceso)/60);//Tiempo desde el ultimo REQUEST if ( $tiempo_desconectado >= $ventana) { toba::notificacion()->agregar('Usted ha permanecido varios minutos sin interactuar - con el servidor. Por razones de seguridad su sesi�n ha sido eliminada. + con el servidor. Por razones de seguridad su sesión ha sido eliminada. Por favor vuelva a registrarse si desea continuar utilizando el sistema. Disculpe las molestias ocasionadas.'); - toba_logger::instancia()->error("Se excedi� la ventana temporal ($ventana m.)"); - throw new toba_error_autorizacion('Se excedi� la ventana temporal'); + toba_logger::instancia()->error("Se excedió la ventana temporal ($ventana m.)"); + throw new toba_error_autorizacion('Se excedió la ventana temporal'); } } // Controlo el tiempo maximo de sesion @@ -726,11 +726,11 @@ private function control_finalizacion_sesion() $inicio_sesion = $_SESSION[TOBA_DIR]['instancias'][$this->instancia]['proyectos'][$this->proyecto]['info_sesion']['inicio']; $tiempo_total = ((time()-$inicio_sesion)/60);//Tiempo desde que se inicio la sesion if ( $tiempo_total >= $maximo) { - toba::notificacion()->agregar('Se ha superado el tiempo de sesi�n permitido + toba::notificacion()->agregar('Se ha superado el tiempo de sesión permitido Por favor vuelva a registrarse si desea continuar utilizando el sistema. Disculpe las molestias ocasionadas.'); - toba_logger::instancia()->error("Se excedi� el tiempo m�ximo de sesi�n ($maximo m.)"); - throw new toba_error_autorizacion('Se excedi� el tiempo m�ximo de sesi�n'); + toba_logger::instancia()->error("Se excedió el tiempo máximo de sesión ($maximo m.)"); + throw new toba_error_autorizacion('Se excedió el tiempo máximo de sesión'); } } @@ -766,7 +766,7 @@ private function desregistrar_usuario() function abortar_sesion_proyecto($proyecto, $obs=null) { $id = $this->get_id_sesion($proyecto); - toba::logger()->debug("Abortando la sesi�n '$id' del proyecto '$proyecto'.",'toba'); + toba::logger()->debug("Abortando la sesión '$id' del proyecto '$proyecto'.",'toba'); toba::instancia()->cerrar_sesion($id, $obs); $this->borrar_segmento_proyecto($proyecto); } @@ -954,16 +954,16 @@ private function autenticar($id_usuario, $clave=null, $datos_iniciales=null) throw new toba_error('La IP esta bloqueada. Contactese con el administrador'); } if ($this->invocar_metodo_usuario('es_usuario_bloqueado', array($id_usuario))) { - throw new toba_error('El usuario se encuentra bloqueado. Cont�ctese con el administrador'); + throw new toba_error('El usuario se encuentra bloqueado. Contáctese con el administrador'); } // Disparo la autenticacion if ($this->get_autenticacion() != null) { $estado = $this->autenticacion->autenticar($id_usuario, $clave, $datos_iniciales); } else { - throw new toba_error_seguridad('No existe la autenticaci�n propuesta'); + throw new toba_error_seguridad('No existe la autenticación propuesta'); } if (!$estado) { - $error = 'La combinaci�n usuario/clave es incorrecta'; + $error = 'La combinación usuario/clave es incorrecta'; $this->invocar_metodo_usuario('registrar_error_login', array($id_usuario, $ip, $error)); $proyecto = toba::proyecto()->get_id(); $cant_max_intentos = toba_parametros::get_intentos_validacion($proyecto); @@ -982,15 +982,15 @@ private function autenticar($id_usuario, $clave=null, $datos_iniciales=null) if ( $supero_tope_intentos_en_ventana ) { if ($bloquear_usuario) { $this->invocar_metodo_usuario('bloquear_usuario',array($id_usuario)); - toba_logger::instancia()->error("$error. Ha superado el l�mite de inicios de sesi�n. El usuario ha sido bloqueado."); - throw new toba_error_autenticacion("$error. Ha superado el l�mite de inicios de sesi�n."); + toba_logger::instancia()->error("$error. Ha superado el límite de inicios de sesión. El usuario ha sido bloqueado."); + throw new toba_error_autenticacion("$error. Ha superado el límite de inicios de sesión."); }elseif ($lanzar_excepcion) { - toba_logger::instancia()->error("$error. Ha superado el l�mite de inicios de sesi�n.|$intentos"); - throw new toba_error_autenticacion_intentos("$error. Ha superado el l�mite de inicios de sesi�n."); + toba_logger::instancia()->error("$error. Ha superado el límite de inicios de sesión.|$intentos"); + throw new toba_error_autenticacion_intentos("$error. Ha superado el límite de inicios de sesión."); } else { $this->invocar_metodo_usuario('bloquear_ip',array($ip)); toba_logger::instancia()->error("$error. La IP ha sido bloqueada."); - throw new toba_error_autenticacion("$error. Ha superado el l�mite de inicios de sesi�n."); + throw new toba_error_autenticacion("$error. Ha superado el límite de inicios de sesión."); } } } @@ -1004,7 +1004,7 @@ private function autenticar($id_usuario, $clave=null, $datos_iniciales=null) $this->_usuarios_posibles = $this->generar_mapeo_usuarios($usr_posibles); } } else { - throw new toba_error_seguridad('No existe la autenticaci�n propuesta'); + throw new toba_error_seguridad('No existe la autenticación propuesta'); } } @@ -1204,7 +1204,7 @@ protected function instanciar_handler() $handler = '\toba_session_memcached_handler'; break; default: - throw new \toba_error_ini_sesion('El handler de sesi�n elegido no es v�lido'); + throw new \toba_error_ini_sesion('El handler de sesión elegido no es válido'); } } return new $handler(); diff --git a/php/nucleo/lib/toba_proyecto.php b/php/nucleo/lib/toba_proyecto.php index 339684ee73..685872ce22 100644 --- a/php/nucleo/lib/toba_proyecto.php +++ b/php/nucleo/lib/toba_proyecto.php @@ -1,8 +1,8 @@ memoria =& toba::manejador_sesiones()->segmento_info_proyecto($proyecto); if (!$this->memoria) { $this->memoria = self::cargar_info_basica(); - //toba::logger()->debug('Inicializaci�n de TOBA_PROYECTO: ' . $this->id,'toba'); + //toba::logger()->debug('Inicialización de TOBA_PROYECTO: ' . $this->id,'toba'); } $path_ini = self::get_path().'/proyecto.ini'; if (file_exists($path_ini)) { @@ -93,8 +93,8 @@ private function __construct($proyecto) /** - * Retorna el valor de un par�metro generico del proyecto (ej. descripcion) cacheado en la memoria - * @return toba_error si el parametro no se encuentra definido, sino el valor del par�metro + * Retorna el valor de un parámetro generico del proyecto (ej. descripcion) cacheado en la memoria + * @return toba_error si el parametro no se encuentra definido, sino el valor del parámetro */ function get_parametro($seccion, $parametro=null, $obligatorio=true) { @@ -113,8 +113,8 @@ function get_parametro($seccion, $parametro=null, $obligatorio=true) return null; }else{ if ($obligatorio) { - toba_logger::instancia()->error("INFO_PROYECTO: El par�metro '$id' no se encuentra definido."); - throw new toba_error('INFO_PROYECTO: El par�metro solicitado no se encuentra definido, revise el log.'); + toba_logger::instancia()->error("INFO_PROYECTO: El parámetro '$id' no se encuentra definido."); + throw new toba_error('INFO_PROYECTO: El parámetro solicitado no se encuentra definido, revise el log.'); } else { return null; } @@ -135,7 +135,7 @@ function set_parametro($id, $valor) //---------------------------------------------------------------- /** - * Retorna el n�mero de versi�n propio del proyecto + * Retorna el número de versión propio del proyecto * @return toba_version */ function get_version() @@ -280,7 +280,7 @@ function get_www_pers($archivo="") /** * Retorna el path y url del directorio temporal navegable del proyecto (mi_proyecto/www/temp); * En caso de no existir, crea el directorio - * Si se pasa un path relativo como par�metro retorna el path absoluto del archivo en el directorio temporal + * Si se pasa un path relativo como parámetro retorna el path absoluto del archivo en el directorio temporal * @return array con claves 'path' (en el sist.arch.) y 'url' (URL navegable) */ function get_www_temp($archivo='') @@ -391,7 +391,7 @@ function get_info_fuente_datos($id_fuente, $proyecto=null) * @param unknown_type $solo_primer_nivel * @param string $proyecto Por defecto el actual * @param string $grupos_acceso Por defecto el del usuario actual - * @return array RecordSet contienendo informaci�n de los items + * @return array RecordSet contienendo información de los items */ function get_items_menu($proyecto=null, $grupos_acceso=null) { @@ -439,7 +439,7 @@ function puede_grupo_acceder_item($item) 'get_items_accesibles', false); } else { - //-- Si no tiene grupo, busca aquellos items que son p�blicos + //-- Si no tiene grupo, busca aquellos items que son públicos $this->indice_items_accesibles = $this->recuperar_datos_compilados_grupo('toba_mc_gene__items_', array('publicos'), 'get_items_accesibles', @@ -512,7 +512,7 @@ function get_lista_permisos($grupos_acceso=null) } /** - * Retorna la descripci�n asociada a un permiso global particular del proy. actual + * Retorna la descripción asociada a un permiso global particular del proy. actual */ function get_descripcion_permiso($permiso) { @@ -602,8 +602,8 @@ function get_info_servicios_web_acc($id, $proyecto=null) $rs = toba_proyecto_db::get_info_servicio_web($proyecto, $id); } if (empty($rs)) { - toba_logger::instancia()->error("No se puede encontrar la definici�n del Servicio Web '$id' en el proyecto '$proyecto'"); - throw new toba_error('No se puede encontrar la definici�n del Servicio Web en el proyecto '); + toba_logger::instancia()->error("No se puede encontrar la definición del Servicio Web '$id' en el proyecto '$proyecto'"); + throw new toba_error('No se puede encontrar la definición del Servicio Web en el proyecto '); } return $rs; } @@ -665,7 +665,7 @@ private function get_objeto_gadget($info) case apex_tipo_gadget_interno: if (! isset($info['subclase']) || ! isset($info['subclase_archivo'])) { - throw new toba_error_def('La definici�n de subclase para el gadget esta incompleta'); + throw new toba_error_def('La definición de subclase para el gadget esta incompleta'); } else { $clase = $info['subclase']; require_once($info['subclase_archivo']); @@ -674,7 +674,7 @@ private function get_objeto_gadget($info) } break; default: - throw new toba_error_def('El tipo de gadget recuperado no es v�lido.'); + throw new toba_error_def('El tipo de gadget recuperado no es válido.'); } if (isset($info['titulo'])) {$objeto->set_titulo($info['titulo']);} if (isset($info['descripcion'])) {$objeto->set_descripcion($info['descripcion']);} diff --git a/php/nucleo/lib/toba_usuario.php b/php/nucleo/lib/toba_usuario.php index 1ed83e2421..9dae92a326 100644 --- a/php/nucleo/lib/toba_usuario.php +++ b/php/nucleo/lib/toba_usuario.php @@ -124,7 +124,7 @@ static function forzar_cambio_clave($usuario) $id = toba::instancia()->get_db()->sentencia_preparar($sql); toba::instancia()->get_db()->sentencia_ejecutar($id, array( 'usuario'=> $usuario)); } catch(toba_error_db $e) { - toba::logger()->debug('No se pudo forzar el cambio de contrase�a en el usuario '. $usuario); + toba::logger()->debug('No se pudo forzar el cambio de contraseña en el usuario '. $usuario); throw new toba_error_usuario('Hubo problemas al modificar el usuario '); } } @@ -161,7 +161,7 @@ static function verificar_periodo_minimo_cambio($usuario, $periodo) } /** - * Verifica la composicion y largo de una contrase�a de usuario, lanza excepcion cuando falla la validacion, + * Verifica la composicion y largo de una contraseña de usuario, lanza excepcion cuando falla la validacion, * de lo contrario retorna true. * @param string $pwd * @param int $largo_minimo diff --git a/php/nucleo/lib/toba_usuario_basico.php b/php/nucleo/lib/toba_usuario_basico.php index ea2dedd85a..42c6a14e5f 100644 --- a/php/nucleo/lib/toba_usuario_basico.php +++ b/php/nucleo/lib/toba_usuario_basico.php @@ -26,7 +26,7 @@ static function autenticar($id_usuario, $clave, $datos_iniciales=null, $usar_log } return false; } else { - //--- Autentificaci�n + //--- Autentificación $algoritmo = $datos_usuario['autentificacion']; if ($algoritmo != 'plano') { if ($algoritmo == 'md5') { @@ -181,8 +181,8 @@ function get_parametro($parametro) { $parametro = strtolower(trim($parametro)); if ( !($parametro=='a'||$parametro=='b'||$parametro=='c') ) { - toba::logger()->error("Consulta de par�metro de usuario: El par�metro '$parametro' es invalido."); - throw new toba_error('Consulta de par�metro de usuario: El par�metro no se encuentra o es invalido, revise el log.'); + toba::logger()->error("Consulta de parámetro de usuario: El parámetro '$parametro' es invalido."); + throw new toba_error('Consulta de parámetro de usuario: El parámetro no se encuentra o es invalido, revise el log.'); } //Las opciones correctas son 'a','b' o 'c' $nombre_parametro = 'parametro_'. $parametro; diff --git a/php/nucleo/lib/toba_vinculador.php b/php/nucleo/lib/toba_vinculador.php index aa6f286f83..dd63a1f85e 100644 --- a/php/nucleo/lib/toba_vinculador.php +++ b/php/nucleo/lib/toba_vinculador.php @@ -2,8 +2,8 @@ /** * Esta clase maneja la VINCULACION entre operaciones. Conoce todos los lugares a los que la - * operaci�n actual puede acceder (considerando el USUARIO que lo solicito) - * Para navegar hacia ellas puede construir URLs e incluirlos en alg�n TAG + * operación actual puede acceder (considerando el USUARIO que lo solicito) + * Para navegar hacia ellas puede construir URLs e incluirlos en algún TAG * * @see toba_vinculo * @package Centrales @@ -32,17 +32,17 @@ private function __construct() } /** - * Genera una url que apunta a una operaci�n de un proyecto + * Genera una url que apunta a una operación de un proyecto * * @param string $proyecto Proyecto destino, por defecto el actual * @param string $item Item destino, por defecto el actual * @param array $parametros Parametros pasados al item, es un arreglo asociativo id_parametro => valor * @param array $opciones Arreglo asociativo de opciones ellas son: - * zona => Activa la propagaci�n autom�tica del editable en la zona + * zona => Activa la propagación automática del editable en la zona * cronometrar => Indica si la solicitud generada por este vinculo debe cronometrarse * param_html => Parametros para la construccion de HTML. Si esta presente se genera HTML en vez de una URL. Las claves asociativas son: frame, clase_css, texto, tipo [normal,popup], inicializacion, imagen_recurso_origen, imagen - * texto => Texto del v�nculo - * menu => El vinculo esta solicitado por una opci�n menu? + * texto => Texto del vínculo + * menu => El vinculo esta solicitado por una opción menu? * celda_memoria => Namespace de memoria a utilizar, por defecto el actual * servicio => Servicio solicitado, por defecto get_html * objetos_destino => array(array(proyecto, id_objeto), ...) Objetos destino del vinculo @@ -137,7 +137,7 @@ function registrar_vinculo( toba_vinculo $vinculo ) //################################################################################## /** - * Retorna el querystring propagando la zona actual (si es que hay y est� cargada) + * Retorna el querystring propagando la zona actual (si es que hay y está cargada) * @return string */ function get_qs_zona() @@ -289,12 +289,12 @@ protected function generar_html($url, $parametros, $nombre_ventana=null) /** * Genera un salto de javascript directo a una pagina * - * @param string $item_proyecto Proyecto al que pertenece el �tem destino (por defecto el actual) - * @param string $item ID. del �tem destino (por defecto el actual) + * @param string $item_proyecto Proyecto al que pertenece el ítem destino (por defecto el actual) + * @param string $item ID. del ítem destino (por defecto el actual) * @param array $parametros Parametros pasados a la OPERACION (Array asociativo de strings) * @param boolean $zona Activa la propagacion automatica del editable de la ZONA * @param boolean $cronometrar Indica si la solicitud generada por este vinculo debe cronometrarse - * @return string Comando JS que contiene el salto de p�gina + * @return string Comando JS que contiene el salto de página */ function navegar_a($item_proyecto="",$item="",$parametros=null, $zona=false,$cronometrar=false) @@ -336,7 +336,7 @@ function generar_js() } /** - * M�todo de debug que dumpea el estado actual de los vinculos registrados + * Método de debug que dumpea el estado actual de los vinculos registrados */ function info() { diff --git a/proyectos/toba_usuarios/php/usuarios/gestion_arai_usuarios.php b/proyectos/toba_usuarios/php/usuarios/gestion_arai_usuarios.php index 60edcabd2d..f749cae3a0 100644 --- a/proyectos/toba_usuarios/php/usuarios/gestion_arai_usuarios.php +++ b/proyectos/toba_usuarios/php/usuarios/gestion_arai_usuarios.php @@ -125,7 +125,7 @@ private static function verifica_version_arai_cli() } //Agregar verificacion puntual de version compatible de arai-cli if (! SIUToba\Framework\Arai\RegistryHooksProyectoToba::checkVersionCompatible()) { - throw new toba_error('La versi�n del paquete siu/arai-cli no es compatible, revise la documentaci�n del sistema.'); + throw new toba_error('La versión del paquete siu/arai-cli no es compatible, revise la documentación del sistema.'); } return true; From 576f010dbee70a34f5cef7956f00876dd7369eca Mon Sep 17 00:00:00 2001 From: Tobias Cricco Date: Mon, 25 Mar 2024 11:56:24 -0300 Subject: [PATCH 3/8] arreglos --- .../persistencia/toba_ap_tabla_db_s.php | 1 - php/nucleo/componentes/toba_componente.php | 5 - php/nucleo/lib/toba_usuario.php | 9 +- php/nucleo/lib/toba_usuario_basico.php | 10 +- php/nucleo/lib/toba_vinculador.php | 122 +++++++++++++++++- 5 files changed, 130 insertions(+), 17 deletions(-) diff --git a/php/nucleo/componentes/persistencia/toba_ap_tabla_db_s.php b/php/nucleo/componentes/persistencia/toba_ap_tabla_db_s.php index c30780cc2f..e3aabe5476 100644 --- a/php/nucleo/componentes/persistencia/toba_ap_tabla_db_s.php +++ b/php/nucleo/componentes/persistencia/toba_ap_tabla_db_s.php @@ -9,7 +9,6 @@ final function __construct($datos_tabla) { parent::__construct($datos_tabla); - $this->inicializar(); $this->ini(); } diff --git a/php/nucleo/componentes/toba_componente.php b/php/nucleo/componentes/toba_componente.php index 75992d525c..992882a67d 100644 --- a/php/nucleo/componentes/toba_componente.php +++ b/php/nucleo/componentes/toba_componente.php @@ -340,11 +340,6 @@ function borrar_memoria() */ protected function definir_propiedades_sesion() { - //--- Compat. hacia atras - $props = $this->mantener_estado_sesion(); - if (! empty($props) && is_array($props)) { - $this->set_propiedades_sesion($props); - } //--- Metodo de descubrir propiedades que empiezen con s__ $props = reflexion_buscar_propiedades($this, 's__'); if (! empty($props)) { diff --git a/php/nucleo/lib/toba_usuario.php b/php/nucleo/lib/toba_usuario.php index 9dae92a326..a5e4e9da2d 100644 --- a/php/nucleo/lib/toba_usuario.php +++ b/php/nucleo/lib/toba_usuario.php @@ -37,11 +37,16 @@ function get_perfiles_funcionales() return array(); } - function get_perfiles_datos() + function get_perfiles_datos() { return null; } - + //-------- Agrego get_perfil_datos + function get_perfil_datos() + { + return null; + } + //-------- Bloqueos -------------------------------------- static function es_ip_rechazada($ip){} diff --git a/php/nucleo/lib/toba_usuario_basico.php b/php/nucleo/lib/toba_usuario_basico.php index 42c6a14e5f..8b141614e9 100644 --- a/php/nucleo/lib/toba_usuario_basico.php +++ b/php/nucleo/lib/toba_usuario_basico.php @@ -28,14 +28,8 @@ static function autenticar($id_usuario, $clave, $datos_iniciales=null, $usar_log } else { //--- Autentificación $algoritmo = $datos_usuario['autentificacion']; - if ($algoritmo != 'plano') { - if ($algoritmo == 'md5') { - $clave = hash($algoritmo, $clave); - } else { - $clave = encriptar_con_sal($clave, $algoritmo, $datos_usuario['clave']); - } - } - if( ! hash_equals($datos_usuario['clave'], $clave) ) { + $hasher = new toba_hash($algoritmo); + if( ! $hasher->verify($clave, $datos_usuario['clave']) ) { if ($usar_log) { toba::logger()->error("El usuario '$id_usuario' ingreso una clave incorrecta", 'toba'); } diff --git a/php/nucleo/lib/toba_vinculador.php b/php/nucleo/lib/toba_vinculador.php index dd63a1f85e..c530f2f349 100644 --- a/php/nucleo/lib/toba_vinculador.php +++ b/php/nucleo/lib/toba_vinculador.php @@ -135,7 +135,127 @@ function registrar_vinculo( toba_vinculo $vinculo ) //################################################################################## //######################## Solicitud DIRECTA de URLS ############################ //################################################################################## - + + /** + * Generacion directa de una URL que representa un posible futuro acceso a la infraestructura + * No se chequean permisos + * + * @param string $item_proyecto Proyecto al que pertenece el ítem destino (por defecto el actual) + * @param string $item ID. del ítem destino (por defecto el actual) + * @param array $parametros Párametros enviados al ítem, arreglo asociativo de strings + * @param boolean $zona Activa la propagación automática del editable en la zona + * @param boolean $cronometrar Indica si la solicitud generada por este vinculo debe cronometrarse + * @param array $param_html + * @param boolean $menu El vinculo esta solicitado por el menu? + * @param string $celda_memoria Namespace de memoria a utilizar, por defecto el actual + * @param string $nombre_ventana Nombre con que se abrira la ventana hija en caso de ser popup + * @return string URL hacia el ítem solicitado + * usar get_url o get_url_ + */ + protected function generar_solicitud($item_proyecto=null,$item=null,$parametros=null, + $zona=false,$cronometrar=false,$param_html=null, + $menu=null,$celda_memoria=null, $servicio=null, + $objetos_destino=null, $prefijo=null, $nombre_ventana=null) + { + $separador = '&'; + $escapador = toba::escaper(); + //-[1]- Determino ITEM + //Por defecto se propaga el id de la operación actual, o una operación del mismo proyecto + $autovinculo = false; + if ($item_proyecto == null || $item == null) { + $item_solic = toba::memoria()->get_item_solicitado(); + if($item_proyecto==null) { + $item_proyecto = $item_solic[0]; + } + if($item==null){ + $item = $item_solic[1]; + $autovinculo = true; + } + } + //Controlo que el usuario posea permisos para acceder al ITEM + if ( !$autovinculo ) { + //El control es solo dentro del proyecto actual + if ( toba::proyecto()->get_id() == $item_proyecto && + !toba::proyecto()->puede_grupo_acceder_item($item)) { + toba::logger()->notice("VINCULADOR: Fallo la creacion de un vinculo al item '$item' porque el usuario no posee permisos para acceder al mismo."); + return null; + } + } + + $item_a_llamar = $escapador->escapeUrl($item_proyecto . apex_qs_separador . $item); + //-[2]- Determino parametros + $parametros_formateados = ""; + if ($zona){//Hay que propagar la zona? + $parametros_formateados .= $this->get_qs_zona(); + } + //Cual es el tipo de salida? + if (isset($servicio) && $servicio != apex_hilo_qs_servicio_defecto) { + $parametros_formateados .= $separador.apex_hilo_qs_servicio ."=". $escapador->escapeUrl($servicio); + } + if (isset($objetos_destino) && is_array($objetos_destino)) { + $objetos = array(); + foreach ($objetos_destino as $obj) { + $objetos[] = $escapador->escapeUrl($obj[0] . apex_qs_separador . $obj[1]); + } + $qs_objetos = implode(',', $objetos); + $parametros_formateados .= $separador.apex_hilo_qs_objetos_destino ."=". $qs_objetos; + } + //Cual es la celda de memoria del proximo request? + if(!isset($celda_memoria)) { + $celda_actual = toba::memoria()->get_celda_memoria_actual_id(); + //Si es la celda por defecto, no explicitar ya que se asume + if ($celda_actual != apex_hilo_qs_celda_memoria_defecto) { + $celda_memoria = toba::memoria()->get_celda_memoria_actual_id(); + } + } + if (isset($celda_memoria)) { + $parametros_formateados .= $separador. apex_hilo_qs_celda_memoria ."=". $escapador->escapeUrl($celda_memoria); + } + //La proxima pagina va a CRONOMETRARSE? + if($cronometrar){ + $parametros_formateados .= $separador. apex_hilo_qs_cronometro ."=1"; + } + //Formateo paremetros directos + if(isset($parametros) && is_array($parametros)){ + foreach($parametros as $clave => $valor){ + if (null !== $valor && null !== $clave) { + $parametros_formateados .= $separador."$clave=". $escapador->escapeUrl($valor); + } + } + } + //Obtengo el prefijo del vinculo + if ( ! isset($prefijo) ) { + $prefijo = $this->prefijo; + } elseif (strpos($prefijo,'?') === false) { + $prefijo = $prefijo . '?'; + } + //Genero la URL que invoca la solicitud + $vinculo = (substr($prefijo, -1, 1) == '?') ? $prefijo : $prefijo . $separador; + $vinculo .= apex_hilo_qs_item . "=" . $item_a_llamar; + if(trim($parametros_formateados)!="") { + $encriptar_qs = toba::proyecto()->get_parametro('encriptar_qs'); + if($encriptar_qs){ + $claves = toba::instalacion()->get_claves_encriptacion(); + //Le concateno un string unico al texto que quiero encriptar asi evito que conozca + //la clave alguien que ve los parametros encriptados y sin encriptar + $parametros_formateados .= $parametros_formateados . $separador."jmb76=". uniqid(""); + $vinculo = $vinculo . $separador . apex_hilo_qs_parametros ."=". toba::encriptador()->cifrar_para_web($parametros_formateados, $claves['get']); + }else{ + $vinculo = $vinculo . $parametros_formateados; + } + } + //El vinculo esta solicitado por el menu? + //Esto se maneja directamente $_GET por performance (NO encriptar todo el menu) + if($menu){ + $vinculo .= $separador . apex_hilo_qs_menu ."=1"; + } + //Genero HTML o devuelvo el VINCULO + if(is_array($param_html)) { + return $this->generar_html($vinculo, $param_html, $nombre_ventana); + } else { + return $vinculo; + } + } /** * Retorna el querystring propagando la zona actual (si es que hay y está cargada) * @return string From 3e5dc565df20ee20c2121f5c941d537add1ae43d Mon Sep 17 00:00:00 2001 From: Tobias Cricco Date: Tue, 9 Apr 2024 13:00:00 -0300 Subject: [PATCH 4/8] se arreglan inconvenientes por sacar la clase toba_fecha --- php/toba_autoload.php | 1 - .../php/utilitarios/logger/pantalla_visor.php | 11 +++--- .../php/componentes/ajax/ci_ajax.php | 37 ++++++++++--------- 3 files changed, 25 insertions(+), 24 deletions(-) diff --git a/php/toba_autoload.php b/php/toba_autoload.php index 59dd6ac04b..d4feda748d 100644 --- a/php/toba_autoload.php +++ b/php/toba_autoload.php @@ -64,7 +64,6 @@ static function cargar($nombre) 'toba_editor_archivos' => 'lib/toba_editor_archivos.php', 'toba_encriptador' => 'lib/toba_encriptador.php', 'toba_extractor_clases' => 'lib/toba_extractor_clases.php', - 'toba_fecha' => 'lib/toba_fecha.php', 'toba_ini' => 'lib/toba_ini.php', 'toba_manejador_archivos' => 'lib/toba_manejador_archivos.php', 'toba_parametros' => 'lib/toba_parametros.php', diff --git a/proyectos/toba_editor/php/utilitarios/logger/pantalla_visor.php b/proyectos/toba_editor/php/utilitarios/logger/pantalla_visor.php index c6d7b8bd8f..5ea3af9583 100644 --- a/proyectos/toba_editor/php/utilitarios/logger/pantalla_visor.php +++ b/proyectos/toba_editor/php/utilitarios/logger/pantalla_visor.php @@ -125,13 +125,12 @@ function generar_html_info_operacion($res) } if (isset($encabezado['fecha'])) { - $fecha_ref = new toba_fecha(); - $fecha_log = new toba_fecha(); - $fecha_log->set_timestamp(strtotime($encabezado['fecha'])); + $fecha_ref = new DateTime(); + $fecha_log = new DateTime($encabezado['fecha']); - $fecha = $fecha_log->get_timestamp_pantalla(); - if ($fecha_ref->es_igual_que($fecha_log)) { - $fecha = 'Hoy ' . date('H:i:s', strtotime($encabezado['fecha'])); + $fecha = $fecha_log->format('d/m/Y H:i:s'); + if ($fecha_ref->format('Y-m-d') === $fecha_log->format('Y-m-d')){ + $fecha = 'Hoy ' . $fecha_log->format('H:i:s'); } $string .= "". $escapador->escapeHtml($fecha)."
    "; } diff --git a/proyectos/toba_referencia/php/componentes/ajax/ci_ajax.php b/proyectos/toba_referencia/php/componentes/ajax/ci_ajax.php index f35d7cb136..fddc0bdb01 100644 --- a/proyectos/toba_referencia/php/componentes/ajax/ci_ajax.php +++ b/proyectos/toba_referencia/php/componentes/ajax/ci_ajax.php @@ -22,13 +22,13 @@ function extender_objeto_js() */ function conf__form_datos_param(toba_ei_formulario $form) { - $inicio = new toba_fecha(); - $fin = new toba_fecha(); - $fin->set_timestamp($inicio->get_fecha_desplazada_meses(1)); + $inicio = new DateTime(); + $fin = new DateTime(); + $fin->modify('+1 month'); // Agrega un mes a la fecha de inicio $datos = array( 'valor_diario' => '15.25', - 'fecha_inicio' => $inicio->get_fecha_db(), - 'fecha_fin' => $fin->get_fecha_db() + 'fecha_inicio' => $inicio->format('Y-m-d'), + 'fecha_fin' => $fin->format('Y-m-d') ); $form->set_datos($datos); } @@ -39,9 +39,10 @@ function conf__form_datos_param(toba_ei_formulario $form) function ajax__calcular($parametros, toba_ajax_respuesta $respuesta) { //--- Calculo el valor total en base a las fechas y el valor diario - $fecha1 = toba_fecha::desde_pantalla($parametros['fecha_inicio']); - $fecha2 = toba_fecha::desde_pantalla($parametros['fecha_fin']); - $cant_dias = $fecha1->diferencia_dias($fecha2); + $fecha1 = new DateTime($parametros['fecha_inicio']); + $fecha2 = new DateTime($parametros['fecha_fin']); + $diferencia = $fecha1->diff($fecha2); + $cant_dias = $diferencia->days; $total = $cant_dias * $parametros['valor_diario']; //-- Paso la información a JS @@ -116,24 +117,26 @@ function validar_dia($dia, & $mensaje) if (trim($dia) == '') { return true; } + $es_valido = true; - $fecha = toba_fecha::desde_pantalla($dia); - $anio = $fecha->get_parte('año'); + $fecha = new DateTime($dia); + $anio = fecha->format('Y'); + //--- Se forma un cache de feriados por año para evitar ir al WS en cada pedido, esto es un ejemplo de juguete! if (! isset($this->s__cache_feriados[$anio])) { $client = new SoapClient('http://webservices.mininterior.gov.ar/Feriados/Service.svc?wsdl'); - $d1 = mktime(0, 0, 0, 1, 1, $anio); - $d2 = mktime(0, 0, 0, 12, 31, $anio); - $feriados = $client->FeriadosEntreFechasAsXml(array('d1'=>$d1, 'd2'=>$d2)); + $d1 = new DateTime("$anio-01-01"); + $d2 = new DateTime("$anio-12-31"); + $feriados = $client->FeriadosEntreFechasAsXml(array('d1'=>$d1->getTimestamp(), 'd2'=>$d2->getTimestamp())); $this->s__cache_feriados[$anio] = $feriados->FeriadosEntreFechasAsXmlResult; } $feriados = simplexml_load_string($this->s__cache_feriados[$anio]); foreach ($feriados as $feriado) { - $fecha_feriado = new toba_fecha((string) $feriado->FechaEfectiva); - if ($fecha_feriado->es_igual_que($fecha)) { + $fecha_feriado = new DateTime((string) $feriado->FechaEfectiva); + if ($fecha_feriado->format('Y-m-d') === $fecha->format('Y-m-d')) { $es_valido = false; - $mensaje = 'El '.$fecha->get_fecha_pantalla().' - es '. trim((string) utf8_decode($feriado->Descripcion)). + $mensaje = 'El '.$fecha->format('Y-m-d').' + es '. trim((string) utf8_decode($feriado->Descripcion)). ' por '.trim((string) utf8_decode($feriado->TipoDescripcion)); break; } From c3ed69a21a8b6051013db3d6451686a072a79d22 Mon Sep 17 00:00:00 2001 From: TobiasCricco Date: Wed, 22 May 2024 10:31:19 -0300 Subject: [PATCH 5/8] Arreglos en funcion formato_moneda --- php/nucleo/lib/interface/toba_formateo.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/php/nucleo/lib/interface/toba_formateo.php b/php/nucleo/lib/interface/toba_formateo.php index 24c27b2e0d..db39d7fec6 100644 --- a/php/nucleo/lib/interface/toba_formateo.php +++ b/php/nucleo/lib/interface/toba_formateo.php @@ -86,13 +86,17 @@ function formato_porcentaje($valor) function formato_moneda($valor) { + // Si el valor es nulo, lo pongo en cero para evitar errores + if ($valor === null){ + $valor = 0.0; + } //Es trucho forzar desde aca, los datos tienen que esta bien //if($valor<0)$valor=0; if ($this->tipo_salida != 'excel') { - return '$'.$this->get_separador(). number_format($valor,2,',','.'); + return '$'.$this->get_separador(). number_format((float)$valor, 2, ',', '.'); } else { return array($valor, array('numberFormat' => - array('formatCode' => toba_vista_excel::FORMAT_CURRENCY_CUSTOM) + array('formatCode' => toba_vista_excel::FORMAT_CURRENCY_CUSTOM) )); } } From cdc67d2376677d07fa9c6c1d9644373b5fadf52f Mon Sep 17 00:00:00 2001 From: TobiasCricco Date: Wed, 22 May 2024 12:35:29 -0300 Subject: [PATCH 6/8] arreglos en toba_ei_calendario y toba_ei_formulario --- php/nucleo/componentes/interface/toba_ei_calendario.php | 6 +++++- php/nucleo/componentes/interface/toba_ei_formulario.php | 6 ++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/php/nucleo/componentes/interface/toba_ei_calendario.php b/php/nucleo/componentes/interface/toba_ei_calendario.php index 320cdbf859..1c4cee5887 100644 --- a/php/nucleo/componentes/interface/toba_ei_calendario.php +++ b/php/nucleo/componentes/interface/toba_ei_calendario.php @@ -932,7 +932,11 @@ function updateCalendar($mes, $anio) */ function setEventContent($day, $content) { + $eventContent = array(); // inicializo el array $eventContent[$day] = $content; + if (!$this->calEventContent){ + $this->calEventContent = array(); + } $this->calEventContent[] = $eventContent; } @@ -965,7 +969,7 @@ function mkEventContent($var) */ function content($var) { - $hasContent = false; + $hasContent = array(); // lo inicializo para que no de error si no hay contenido if ($this->calEventContent) { for ($x=0; $xcalEventContent); $x++) { $eventContent = $this->calEventContent[$x]; diff --git a/php/nucleo/componentes/interface/toba_ei_formulario.php b/php/nucleo/componentes/interface/toba_ei_formulario.php index 182a11f47a..dd5c649eaa 100644 --- a/php/nucleo/componentes/interface/toba_ei_formulario.php +++ b/php/nucleo/componentes/interface/toba_ei_formulario.php @@ -1073,8 +1073,10 @@ protected function generar_layout_template() if (isset($atributos['etiqueta_ancho'])) { $etiqueta_ancho = $atributos['etiqueta_ancho']; } - $html = $this->get_html_ef($atributos['id'], $etiqueta_ancho, $etiqueta_mostrar); - $salida = str_replace($original, $html, $salida); + $html = $this->get_html_ef($atributos['id'], $etiqueta_ancho, $etiqueta_mostrar); + if ($html !== null){ + $salida = str_replace($original, $html, $salida); + } } echo $salida; } else { From e77ce79e8df2571dfed395f4cec9df6fdfc96c0e Mon Sep 17 00:00:00 2001 From: TobiasCricco Date: Thu, 23 May 2024 11:55:45 -0300 Subject: [PATCH 7/8] cambio en ci_armador_menues para que no de error al mandar un array null --- proyectos/toba_usuarios/php/menu/ci_armador_menues.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/proyectos/toba_usuarios/php/menu/ci_armador_menues.php b/proyectos/toba_usuarios/php/menu/ci_armador_menues.php index 05bc1e2544..ffc5dae650 100644 --- a/proyectos/toba_usuarios/php/menu/ci_armador_menues.php +++ b/proyectos/toba_usuarios/php/menu/ci_armador_menues.php @@ -201,7 +201,11 @@ function evt__form_armado__modificacion($datos) //Armo un arreglo con los ids recuperados en forma de padre/hijo $ids_recuperados = array(); foreach ($datos as $klave => $ids_enviados) { - $aux = explode('^', $ids_enviados); + if ($ids_enviados !== null) { + $aux = explode('^', $ids_enviados); + } else { + $aux = array(); + } $ids_recuperados = array_merge($ids_recuperados, $aux); $datos[$klave] = $aux; } From f9d506ae2557a4b9797fd81a7a0cfd0ba68db2f0 Mon Sep 17 00:00:00 2001 From: TobiasCricco Date: Tue, 10 Sep 2024 10:41:44 -0300 Subject: [PATCH 8/8] se agregan funciones en toba_ei_cuadro_salida_html.php --- .../interface/toba_ei_cuadro_salida_html.php | 96 ++++++++++++++++++- 1 file changed, 95 insertions(+), 1 deletion(-) diff --git a/php/nucleo/componentes/interface/toba_ei_cuadro_salida_html.php b/php/nucleo/componentes/interface/toba_ei_cuadro_salida_html.php index ba1f0e59e5..838f72b486 100644 --- a/php/nucleo/componentes/interface/toba_ei_cuadro_salida_html.php +++ b/php/nucleo/componentes/interface/toba_ei_cuadro_salida_html.php @@ -169,6 +169,14 @@ function html_fin() } } + + /** + * Genera el pie del cuadro + */ + protected function html_pie() + { + } + /** * Genera el html que el cuadro muestra cuando no tiene datos cargados * @param string $texto Texto a mostrar en base a la definición del componente @@ -211,6 +219,69 @@ protected function html_selector_ordenamiento() echo toba::output()->get('CuadroSalidaHtml')->getSelectorOrdenamiento($id, $objeto_js, $columnas); } + /** + * Envia la botonera del selector + + * @see manejador_salida_toba + */ + protected function html_botonera_selector() + { + $objeto_js = $this->_cuadro->get_id_objeto_js(); + //Saco la botonera para subir/bajar filas + echo "
    "; + echo toba_form::button_html("{$objeto_js}_subir", toba_recurso::imagen_toba('nucleo/orden_subir.gif', true), + "onclick='{$objeto_js}.subir_fila_selector();'", 0, '<', 'Sube una posición la fila seleccionada'); + echo toba_form::button_html("{$objeto_js}_bajar", toba_recurso::imagen_toba('nucleo/orden_bajar.gif', true), + "onclick='{$objeto_js}.bajar_fila_selector();' ", 0, '>', 'Baja una posición la fila seleccionada'); + echo '
    '; + } + + /** + * Genera la cabecera con los titulos del selector + * @see manejador_salida_toba + */ + protected function html_cabecera_selector() + { + echo " + Activar + Columna + Sentido + "; + } + + /** + * Genera el cuerpo del selector + + * @see manejador_salida_toba + */ + protected function html_cuerpo_selector() + { + $columnas = $this->_cuadro->get_columnas(); + $objeto_js = $this->_cuadro->get_id_objeto_js(); + + $cuerpo = ''; + foreach($columnas as $col) { + if ($col['no_ordenar'] != 1) { + //Saco el contenedor de la fila y un checkbox para seleccionar. + $cuerpo .= ""; + $cuerpo .= toba_form::checkbox('check_'.$col['clave'], null, '0','ef-checkbox', "onclick=\"$objeto_js.activar_fila_selector('{$col['clave']}');\" "); + $cuerpo .= " {$col['titulo']}"; + + //Saco el radiobutton para el sentido ascendente + $id = $col['clave'].'0'; + $cuerpo .= ""; + $cuerpo .= '' ; + + //Saco el radiobutton para el sentido descendente + $id = $col['clave'].'1'; + $cuerpo .= ""; + $cuerpo .= ''; + } + } + $cuerpo .= "". toba_form::button('botonazo', 'Aplicar' , "onclick=\"$objeto_js.aplicar_criterio_ordenamiento();\"").''; + echo $cuerpo; + } + //------------------------------------------------------------------------------- //-- Generacion de los CORTES de CONTROL //------------------------------------------------------------------------------- @@ -834,6 +905,29 @@ protected function html_cuadro_totales_columnas($totales,$estilo=null,$agregar_t //------------------------------------------------------------------------------- //-- Elementos visuales independientes //------------------------------------------------------------------------------- + /** + * Genera el HTML correspondiente a la sumarizacion de los datos + + */ + protected function html_cuadro_sumarizacion($datos, $titulo=null , $ancho=null, $css='col-num-p1') + { + if(isset($ancho)) $ancho = "width='$ancho'"; + echo ""; + //Titulo + if(isset($titulo)){ + echo "\n"; + echo "\n"; + echo "\n"; + } + //Datos + foreach($datos as $desc => $valor){ + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + } + echo "
    $titulo
    $desc$valor
    \n"; + } /** * Genera el HTML correspondiente a la barra de paginacion @@ -862,4 +956,4 @@ protected function html_barra_total_registros() echo toba::output()->get('CuadroSalidaHtml')->getBarraTotalRegistros($total_registros, $mostrar); } } -?> +?> \ No newline at end of file