Skip to content

Commit

Permalink
Merge branch 'release/v3.4.4'
Browse files Browse the repository at this point in the history
  • Loading branch information
enfoqueNativo committed Jul 18, 2024
2 parents e7efa79 + 1dd4eca commit f98daf4
Show file tree
Hide file tree
Showing 2,903 changed files with 30,772 additions and 40 deletions.
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,13 @@

[CURRENT](https://github.com/SIU-Toba/framework/compare/master...develop)

[3.4.4](https://github.com/SIU-Toba/framework/releases/tag/v3.4.4) (2024-07-18)
- Mueve dependencia `CKEditor` en preparación para migración a v5
- Corrige notices en salidas de `ei_cuadro` y armado de log de `insert_masivo`
- Corrige problema al regenerar el esquema de auditoria con triggers desactivados (credits: hfmartinez85)
- Actualiza imagen base de desarrollo
- Agrega mecanismo para gestionar autenticacion por `api-keys` via env-var

[3.4.3](https://github.com/SIU-Toba/framework/releases/tag/v3.4.3) (2024-03-12)
- Corrige warnings en `toba_ei_calendario`
- Downgrade de paquete JS:
Expand Down
4 changes: 2 additions & 2 deletions composer.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "siu-toba/framework",
"description": "Framework de desarrollo web",
"version": "v3.4.3",
"version": "v3.4.4",
"authors": [
{
"name": "SIU",
Expand Down Expand Up @@ -78,7 +78,7 @@
"post-install-cmd": [
"@putenv COMPOSER=./proyectos/toba_editor/composer.json",
"composer run-script post-install-cmd ",
"yarn add [email protected] [email protected] [email protected] [email protected] --modules-folder www/js/packages/",
"yarn add [email protected] [email protected] [email protected] --modules-folder www/js/packages/",
"yarn ",
"@php bin/instalar_assets.php"
],
Expand Down
2 changes: 1 addition & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ services:

web:
## user: "$USER_ID"
image: siudocker/php:8.1-web-v1.0.3
image: siudocker/php:8.1-web-v1.1.0
ports:
- "7008:8080"
environment:
Expand Down
3 changes: 1 addition & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
{
"name": "siu-toba-framework",
"version": "v3.4.3",
"version": "v3.4.4",
"description": "Framework para desarrollo rápido de aplicaciones web",
"license": "SEE LICENSE IN licencia.txt",
"repository": "https://github.com/SIU-Toba/framework.git",
"author": "enfoqueNativo <[email protected]>",
"private": false,
"dependencies": {
"@highlightjs/cdn-assets": "^11.8.0",
"ckeditor4": "4.22",
"jquery": "3.6",
"jquery-migrate": "3.3",
"siu-js-app-launcher": "1.0.6"
Expand Down
2 changes: 1 addition & 1 deletion php/lib/db/toba_db_postgres7.php
Original file line number Diff line number Diff line change
Expand Up @@ -285,7 +285,7 @@ function liberar_savepoint($nombre)
function insert_masivo($tabla,$datos,$delimitador="\t",$valor_nulo="\\N") {
$funciono = true;
// se genera el sql equivalente para los logs
$sql = "-- COPY $tabla FROM stdin de ".count($elementos)." filas.";
$sql = "-- COPY $tabla FROM stdin de ".count($datos)." filas.";
$sql = $this->pegar_estampilla_log($sql);
try {
if ($this->registrar_ejecucion) {
Expand Down
9 changes: 6 additions & 3 deletions php/lib/toba_parseo.php
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,13 @@ function parsear_doc_comment( $com, $sin_tags=true )
|(^[\\s]*)
|(^[\\t]*)/ixm", "", $com);
$com = str_replace("\r", "", $com);
$com = trim(preg_replace("/([\\t])+/", "\t", $com));
$com = trim(preg_replace("/\\*\\//", "", $com));
$aux = preg_replace("/([\\t])+/", "\t", $com);
$com = trim($aux ?? '');
$aux = preg_replace("/\\*\\//", "", $com);
$com = trim($aux ?? '');
if ($sin_tags) {
$com = trim(preg_replace("/@.*/", "", $com));
$aux = preg_replace("/@.*/", "", $com);
$com = trim($aux ?? '');
}
return $com;
}
Expand Down
22 changes: 18 additions & 4 deletions php/modelo/lib/toba_auditoria_tablas_postgres.php
Original file line number Diff line number Diff line change
Expand Up @@ -385,9 +385,23 @@ protected function crear_triggers($tablas, $schema)
toba_logger::instancia()->var_dump($tablas);*/
$sql = '';
foreach ($tablas as $t) {
$sql .= " CREATE TRIGGER tauditoria_$t AFTER INSERT OR UPDATE OR DELETE
ON $schema." . $t . " FOR EACH ROW
EXECUTE PROCEDURE {$this->schema_logs}.sp_$t(); \n";
$sql .= "
DO
$$
BEGIN
IF NOT EXISTS (
SELECT 1
FROM pg_trigger
WHERE tgname = 'tauditoria_$t'
) THEN
CREATE TRIGGER tauditoria_$t AFTER INSERT OR UPDATE OR DELETE
ON $schema." . $t . " FOR EACH ROW
EXECUTE PROCEDURE {$this->schema_logs}.sp_$t();
END IF;
END
$$
\n;
";
}
$this->conexion->ejecutar($sql);
}
Expand Down Expand Up @@ -536,7 +550,7 @@ function get_datos($tabla, $filtro = array())
$sql = "SELECT
aud.*,
CASE
WHEN aud.auditoria_operacion = 'U' THEN 'Modificación'
WHEN aud.auditoria_operacion = 'U' THEN 'Modificación'
WHEN aud.auditoria_operacion = 'I' THEN 'Alta'
WHEN aud.auditoria_operacion = 'D' THEN 'Baja'
END as operacion_nombre
Expand Down
2 changes: 1 addition & 1 deletion php/nucleo/componentes/interface/efs/toba_ef_varios.php
Original file line number Diff line number Diff line change
Expand Up @@ -286,7 +286,7 @@ function __construct($padre, $nombre_formulario, $id, $etiqueta, $descripcion, $
function get_consumo_javascript()
{
$consumo = parent::get_consumo_javascript();
$consumo[] = "packages/ckeditor4/ckeditor";
$consumo[] = "utilidades/ckeditor4/ckeditor";
return $consumo;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ protected function excel_cabecera_cc_contenido(&$nodo)
$altura = $this->_excel_cabecera_cc_0_altura;
}
$span = $this->_cuadro->get_cantidad_columnas_total();
if (trim($descripcion) != '') {
if (null !== $descripcion && trim($descripcion) != '') {
$contenido = "$descripcion " . $valor;
} else {
$contenido = $valor;
Expand All @@ -199,7 +199,7 @@ protected function excel_cabecera_pie_cc_contenido(&$nodo)
$indice_cortes = $this->_cuadro->get_indice_cortes();
$descripcion = $indice_cortes[$nodo['corte']]['descripcion'];
$valor = implode(", ",$nodo['descripcion']);
if (trim($descripcion) != '') {
if (null !== $descripcion && trim($descripcion) != '') {
return 'Resumen ' . $descripcion . ': '.$valor;
} else {
return 'Resumen ' . $valor;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,7 @@ protected function pdf_cabecera_cc_contenido(&$nodo)
$size = $this->_pdf_cabecera_cc_0_letra;
}
$this->_objeto_toba_salida->separacion($this->_pdf_sep_cc);
if (trim($descripcion) != '') {
if (null !== $descripcion && trim($descripcion) != '') {
$this->_objeto_toba_salida->texto("<b>$descripcion " . $valor . '</b>', $size, $opciones);
} else {
$this->_objeto_toba_salida->texto('<b>' . $valor . '</b>', $size, $opciones);
Expand All @@ -230,7 +230,7 @@ function pdf_cabecera_pie_cc_contenido(&$nodo)

$descripcion = $indice_cortes[$nodo['corte']]['descripcion'];
$valor = implode(", ",$nodo['descripcion']);
if (trim($descripcion) != '') {
if (null !== $descripcion && trim($descripcion) != '') {
return 'Resumen ' . $descripcion . ': <b>' . $valor . '</b>';
} else {
return 'Resumen <b>' . $valor . '</b>';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ protected function xml_cabecera_cc_contenido(&$nodo)
$descripcion = $indice_cortes[$nodo['corte']]['descripcion'];
$valor = implode(", ",$nodo['descripcion']);
$this->_objeto_toba_salida .= '<'.$this->xml_ns.'cc>';
if (trim($descripcion) != '') {
if (null !== $descripcion && trim($descripcion) != '') {
$this->_objeto_toba_salida .= strip_tags($descripcion.' '.$valor);
} else {
$this->_objeto_toba_salida .= strip_tags($valor);
Expand All @@ -203,7 +203,7 @@ protected function xml_cabecera_pie_cc_contenido(&$nodo)
$indice_cortes = $this->_cuadro->get_indice_cortes();
$descripcion = $indice_cortes[$nodo['corte']]['descripcion'];
$valor = implode(", ",$nodo['descripcion']);
if (trim($descripcion) != '') {
if (null !== $descripcion && trim($descripcion) != '') {
return 'Resumen ' . $descripcion . ': <b>' . $valor . '</b>';
} else {
return 'Resumen <b>' . $valor . '</b>';
Expand Down
36 changes: 24 additions & 12 deletions php/nucleo/lib/rest/toba_usuarios_rest_conf.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,13 @@ class toba_usuarios_rest_conf implements
{

protected $modelo_proyecto;

static private $env_config = 'API_BASIC_CLIENTES';

static private $env_config_ak = 'API_KEYS_CLIENTES';

static private $passwd_index = 'password';
static private $apk_index = 'api_key';

function __construct(\toba_modelo_proyecto $proyecto)
{
$this->modelo_proyecto = $proyecto;
Expand All @@ -25,12 +30,12 @@ function __construct(\toba_modelo_proyecto $proyecto)
*/
function es_valido($usuario, $password)
{ //se usa para basic
$usuarios_ini = $this->get_config_usuarios($this->modelo_proyecto);
$usuarios_ini = $this->get_config_usuarios($this->modelo_proyecto, self::$env_config, self::$passwd_index);

foreach ($usuarios_ini->get_entradas() as $key => $u) {
if ($key === $usuario) {
if (isset($u['password'])) {
return $u['password'] == $password;
if (isset($u[self::$passwd_index])) {
return $u[self::$passwd_index] == $password;
} else {
rest::app()->logger->info('Se encontro al usuario "' . $usuario . '", pero no tiene una entrada password en rest_usuario.ini');
}
Expand All @@ -45,12 +50,12 @@ function es_valido($usuario, $password)
*/
function get_password($usuario)
{ //se usa para digest, ya que se requiere el password plano
$usuarios_ini = $this->get_config_usuarios($this->modelo_proyecto);
$usuarios_ini = $this->get_config_usuarios($this->modelo_proyecto, self::$env_config, self::$passwd_index);

foreach ($usuarios_ini->get_entradas() as $key => $u) {
if ($key === $usuario) {
if (isset($u['password'])) {
return $u['password'];
if (isset($u[self::$passwd_index])) {
return $u[self::$passwd_index];
} else {
rest::app()->logger->info('Se encontro al usuario "' . $usuario . '", pero no tiene una entrada password en rest_usuario.ini');
}
Expand All @@ -66,28 +71,35 @@ function get_password($usuario)
*/
function get_usuario_api_key($api_key)
{
$usuarios_ini = $this->get_config_usuarios($this->modelo_proyecto);
$usuarios_ini = $this->get_config_usuarios($this->modelo_proyecto, self::$env_config_ak, self::$apk_index);

foreach ($usuarios_ini->get_entradas() as $username => $u) {
if (isset($u['api_key']) && $u['api_key'] === $api_key) {
if (isset($u[self::$apk_index]) && $u[self::$apk_index] === $api_key) {
return $username;
}
}
rest::app()->logger->info("No se encontro 'api_key = $api_key' para ningún usuario de rest_usuarios.ini");
return NULL;
}

private function get_config_usuarios($modelo_proyecto)
/**
* Recupera valores desde entorno o archivo ini
* @param toba_modelo_proyecto $modelo_proyecto
* @param string $env_var
* @param sting $indice
* @return \toba_ini
*/
private function get_config_usuarios($modelo_proyecto, $env_var, $indice)
{
$env_value = \getenv(self::$env_config);
$env_value = \getenv($env_var);
if (false === $env_value) {
$usuarios = toba_modelo_rest::get_ini_usuarios($modelo_proyecto);
} else {
//Parse the damn thing && genera un archivo ini
$datos = parse_rest_config_str($env_value);
$usuarios = new toba_ini();
foreach($datos as $dato) {
$usuarios->agregar_entrada($dato[0], ['password' => $dato[1]]);
$usuarios->agregar_entrada($dato[0], [$indice => $dato[1]]);
}
}
return $usuarios;
Expand Down
2 changes: 1 addition & 1 deletion proyectos/toba_editor/metadatos/tablas/apex_proyecto.sql
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ INSERT INTO apex_proyecto (proyecto, descripcion, descripcion_corta, estilo, con
'7', --log_archivo_nivel
'instancia', --fuente_datos
NULL, --pagina_tipo
'3.4.3', --version
'3.4.4', --version
'2017-09-27', --version_fecha
'SIU-Toba. Ambiente de desarrollo WEB.
Desarrollado por el programa SIU (2003-2017)', --version_detalle
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ static function info_basica()
'log_archivo' => 1,
'log_archivo_nivel' => 7,
'fuente_datos' => 'instancia',
'version' => '3.4.3',
'version' => '3.4.4',
'version_fecha' => '2017-09-27',
'version_detalle' => 'SIU-Toba. Ambiente de desarrollo WEB.
Desarrollado por el programa SIU (2003-2017)',
Expand Down
2 changes: 1 addition & 1 deletion proyectos/toba_editor/proyecto.ini
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ mail_soporte =
url_ayuda = doc/wiki/trac/toba/wiki/

;Versi? del proyecto, debe ser formato x.y.z
version = 3.4.3
version = 3.4.4

;Nombre de fantas? de la versi?
version_fantasia =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ INSERT INTO apex_proyecto (proyecto, descripcion, descripcion_corta, estilo, con
'7', --log_archivo_nivel
'toba_referencia', --fuente_datos
'referencia', --pagina_tipo
'3.4.3', --version
'3.4.4', --version
NULL, --version_fecha
NULL, --version_detalle
NULL, --version_link
Expand Down
2 changes: 1 addition & 1 deletion proyectos/toba_referencia/proyecto.ini
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ url_ayuda_agregar_extension = 0
mostrar_resize_fuente = 1

;Versi? del proyecto, debe ser formato x.y.z
version = 3.4.3
version = 3.4.4
api_major = 1
api_minor = 0

Expand Down
2 changes: 1 addition & 1 deletion proyectos/toba_usuarios/metadatos/tablas/apex_proyecto.sql
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ INSERT INTO apex_proyecto (proyecto, descripcion, descripcion_corta, estilo, con
'7', --log_archivo_nivel
'toba_usuarios', --fuente_datos
'toba_usuarios_normal', --pagina_tipo
'3.4.3', --version
'3.4.4', --version
NULL, --version_fecha
NULL, --version_detalle
NULL, --version_link
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ static function info_basica()
'log_archivo' => 1,
'log_archivo_nivel' => 7,
'fuente_datos' => 'toba_usuarios',
'version' => '3.4.3',
'version' => '3.4.4',
'version_fecha' => NULL,
'version_detalle' => NULL,
'version_link' => NULL,
Expand Down
2 changes: 1 addition & 1 deletion proyectos/toba_usuarios/proyecto.ini
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ descripcion = Descripci? del proyecto
mail_soporte =

;Versi? del proyecto, debe ser formato x.y.z
version = 3.4.3
version = 3.4.4
app_launcher = 1

;Nombre de fantas? de la versi?
Expand Down
Loading

0 comments on commit f98daf4

Please sign in to comment.