Registro de Cambios

Seguimiento detallado de todas las actualizaciones y mejoras del proyecto

Registro de Cambios

Todos los cambios notables en este proyecto serán documentados en este archivo. El formato está basado en Keep a Changelog, y este proyecto se adhiere a Versionado Semántico.

0.4.18 2026-03-10

Corregido

  • DataTable no mostraba datos en tipos_minutas.php: Eliminado aServerSide: true que causaba conflicto con datos locales
  • Codificación UTF-8 en Control: Agregada función corregir_utf8() a /Control/funciones.php para corregir caracteres doblemente codificados (Ã" → Ó, etc.)
  • Errores CKEditor: Removido plugin exportpdf que causaba error exportpdf-no-token-url

Rediseñado (Módulo Control)

  • tipos_minutas.php: Rediseño completo GPA con DataTable funcional, corrección UTF-8
  • editar_tipo_minuta.php: Rediseño GPA con CKEditor sin errores, corrección UTF-8
  • tipos_contratos.php: Rediseño GPA con filtros alfabéticos, panel de búsqueda estilizado
  • Modal registro_tipo_contrato.php: Modal estilizado con header azul GPA, botones dorados
  • Modal editar_tipo_contrato.php: Modal estilizado consistente con registro

Agregado

  • Filtros alfabéticos en tipos_contratos.php: Panel de filtros por primera letra, botón "Todos", badge de filtro activo
  • Función filtrarPorLetra(letra) en JS: Filtrado dinámico de contratos por letra inicial
  • Contador de registros dinámico: Actualización en tiempo real del total de registros mostrados

Documentación

  • Reorganización completa de docs/: Movidos 44 archivos de raíz a subcarpetas coherentes
  • Categorías creadas: Control/, UI_UX_Redisenos/, Optimizaciones/, Certificaciones/, Tutelas/
  • Actualizado README.md: Índice con 17 categorías principales, estadísticas actualizadas
  • Nuevo documento: docs/Control/REDISENO_MODULO_CONTROL_TIPOS_2026-03-10.md
---

0.4.17 2026-03-04

Corregido (CRÍTICO)

  • Clases de Procesos - HTTP 500 al crear: new PDO() sin try/catch en conexion.php lanzaba Fatal Error ante cualquier fallo de conexión. Corregido con try/catch + guards isset($con) / isset($bdd).
  • Clases de Procesos - ERR_TOO_MANY_REDIRECTS al eliminar: JS llamaba eliminar_clase_proceso.php (singular) en lugar de eliminar_clases_procesos.php (plural). El 404 caía en index.php → redirect relativo → loop infinito en Caddy.
  • Clases de Procesos - Sin autenticación en eliminar: eliminar_clases_procesos.php no verificaba sesión; cualquier usuario podía eliminar registros por URL directa.
  • Editar Clase Proceso - Lógica de sesión: AND en lugar de || permitía bypass de autenticación con sesión inválida.
  • Editar Clase Proceso - Redirect sin exit: Faltaba exit tras redirect de error; siempre ejecutaba redirect de éxito.
  • Editar Clase Proceso - Rutas de redirect: login.php sin ../ redirigía a ruta inexistente.
  • crear_clase_proceso.php: require_once sin try/catch; validación de descripción usaba límite incorrecto (255 en vez de 500).

Rediseñado

  • Editar Clase Proceso: Rediseño completo consistente con clases_procesos.php — gradiente header, form-card, botones personalizados, contador de caracteres, SweetAlert2, animación fadeIn.

Mejorado

  • Editar Clase Proceso - Seguridad: UPDATE con prepared statements (mysqli_prepare + bind_param), elimina SQL injection.
  • Editar Clase Proceso - Estructura: funciones.php movido al bloque PHP inicial; eliminado ob_start/ob_end_flush innecesario.
  • Base de Datos: Campo clase_procesos.descripcion ampliado de varchar(255) a varchar(500).

Infraestructura

  • Creado /var/log/php8.3-gpa-error.log para capturar errores PHP que antes se silenciaban.

Documentación

  • docs/Correcciones/CORRECCION_CLASES_PROCESOS_2026-03-04.md
---

0.4.16 2026-02-26

Rediseñado

  • Gestionar Solicitud Usuario: Rediseño completo con estilo consistente
  • Panel con gradiente dorado, container-ls full width
  • Layout de dos columnas: info cards | formulario de gestión
  • Info cards con gradientes de color por sección
  • Estado visual mejorado con badge grande y emojis
  • Tabs personalizados con bordes dorados
  • Formulario de gestión con indicadores visuales

Mejorado

  • Gestionar Solicitud Usuario - UX: Estados con emojis (🔴🟡🟢), tooltips informativos
  • Gestionar Solicitud Usuario - Validación: SweetAlert2 con mensajes claros y loading
  • Gestionar Solicitud Usuario - Sanitización: htmlspecialchars() en todos los datos
  • Gestionar Solicitud Usuario - Manejo de errores: set_error_handler() silencioso

Documentación

  • docs/Editar_Proceso_Redisenio/REDISENO_GESTIONAR_SOLICITUD_USUARIO_2026-02-26.md
---

0.4.15 2026-02-26

Corregido (CRÍTICO)

  • Gestionar Solicitudes - Error JavaScript: Corregido "Uncaught SyntaxError: Unexpected token '<'"
  • Causa: Caracteres especiales en JSON rompían sintaxis JavaScript
  • Solución: Flags JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP | JSON_UNESCAPED_UNICODE en json_encode()
  • Validación de errores con json_last_error_msg()
  • Gestionar Solicitudes - XSS: Todos los datos ahora usan htmlspecialchars() con ENT_QUOTES
  • Gestionar Solicitudes - Datos sanitizados: strip_tags() aplicado antes de htmlspecialchars()

Rediseñado

  • Gestionar Solicitudes UI: Panel dorado, container-ls full width, badges modernizados
  • Gestionar Solicitudes - DataTable: Botones de exportación con íconos, columnas configuradas
  • Gestionar Solicitudes - Alertas: Animaciones fadeIn, íconos en mensajes

Mejorado

  • Gestionar Solicitudes - Manejo de errores: set_error_handler() para loguear sin mostrar en pantalla
  • Gestionar Solicitudes - Responsive: Scroll horizontal en móviles, tabla adaptable
  • Gestionar Solicitudes - SweetAlert2: Modal para cambiar fecha mejorado

Documentación

  • docs/Editar_Proceso_Redisenio/CORRECCION_GESTIONAR_SOLICITUDES_2026-02-26.md
---

0.4.14 2026-02-26

Corregido

  • Solicitudes - Error fatal tabla inexistente: Implementado get_row_safe() y manejo de errores para evitar fatal error cuando la tabla historial_autorizaciones no existe
  • Solicitudes - Manejo de errores global: set_error_handler() y set_exception_handler() para silenciar errores y loguearlos sin mostrarlos en pantalla
  • Solicitudes - XSS: Aplicado htmlspecialchars() a todos los datos mostrados en DataTable

Rediseñado

  • Solicitudes UI/UX: Aplicado rediseño con panel dorado, layout de dos columnas, form sections con bordes
  • Solicitudes - Badges modernizados: Estados (Pendiente/En Trámite/Realizada) con diseño de badges
  • Solicitudes - SweetAlert2: Reemplazadas alertas básicas por SweetAlert2 con confirmaciones elegantes

Mejorado

  • Solicitudes - Responsive: Mejorado layout para dispositivos móviles
  • Solicitudes - DataTable: Configuración optimizada con anchos de columna y tooltips

Documentación

  • docs/Editar_Proceso_Redisenio/REDISENO_SOLICITUDES_2026-02-26.md
---

0.4.13 2026-02-24

Rediseñado

  • Nuevo Proceso: Aplicado rediseño UI/UX completo basado en editar_proceso.php
  • Panel con gradiente dorado, tabs personalizados, form sections
  • Floating Action Button (FAB) para guardar
  • Animaciones y mejoras responsive

Optimizado

  • Nuevo Proceso - Select2 AJAX: Migrados 12 selects de Bootstrap Selectpicker a Select2 AJAX
  • Demandante, demandado, juzgado (carga inmediata)
  • Apoderado, suplentes, médicos, vigías, clientes, invitados (lazy loading)
  • Nuevo Proceso - Caché PHP: Implementado sistema de caché para clase_proceso y calidad_actua
  • Reducción de 12 a 2 consultas SQL iniciales
  • HTML inicial reducido de ~150 KB a ~35 KB
  • Nuevo Proceso - Lazy Loading: Pestaña "Permisos" carga selects solo al abrirse

Mejorado

  • Nuevo Proceso - Validaciones: SweetAlert2 integrado con navegación automática a pestaña con error
  • Nuevo Proceso - UX: Tooltips, confirmaciones, validación de fechas

Documentación

  • docs/Editar_Proceso_Redisenio/REDISENO_NUEVO_PROCESO_2026-02-24.md
---

0.4.12 2026-02-23

Corregido

  • Email de audiencia - Variables vacías: Reemplazado HEREDOC por string con comillas dobles para interpolación correcta de variables ({$id}, {$nombre_apoderado}, etc.)
  • Email de audiencia - Logo no visible: Cambiado fondo del header de gradiente dorado a blanco (background: #ffffff) para que el logo sea visible
  • Email de audiencia - Link de audiencia virtual: Agregado parámetro $link_proxima_audiencia con botón para unirse a la audiencia

Agregado

  • Campo link_proxima_audiencia: En tabla procesos y formulario de edición para almacenar URL de reunión virtual
  • Función corregir_utf8(): Aplicada a nombres de demandante, demandado, apoderado y suplente para manejo correcto de caracteres especiales (María José, etc.)
  • Funciones de rate limiting: verificar_rate_limit_email() y registrar_envio_email() para prevenir bloqueos SMTP de Hostinger
  • Campo suplente en SELECT: Incluido abogado suplente en la query de edición de proceso

Modificado

  • legacy/Litigios/funciones.php - Template de email con sintaxis de string PHP y fondo blanco en header
  • legacy/Litigios/ajax/editar_proceso.php - Envío de $link_proxima_audiencia a función de email
  • legacy/footer.php - Aplicado corregir_utf8() a userName y userFullName

Documentación

  • docs/CORRECCION_EMAIL_AUDIENCIA_VARIABLES_2026-02-23.md
---

0.4.11 2026-02-20

Agregado

  • Endpoint API tiempo real: consultar_proceso_rj_tiempo_real.php consulta Rama Judicial v2 cuando no hay datos locales
  • Nueva columna sujetos_procesales: Almacena demandante/demandado desde API v2 en proceso_rj_metadata
  • Lógica de fallback en botón Rama Judicial: Primero consulta local, luego API tiempo real si no hay datos
  • Función consultarRamaJudicialTiempoReal(): JavaScript para consultar API en tiempo real
  • Función guardarDatosRamaJudicial(): Permite guardar datos de API en BD con un clic

Corregido

  • Campo fecha_ultima_actuacion: Script Python ahora usa proc.get("fechaUltimaActuacion") directamente (antes buscaba en actuaciones[] que no existe)
  • Campo sujetos_procesales: Script Python ahora guarda correctamente el campo en proceso_rj_metadata
  • Cálculo de fecha última actuación: Endpoint obtener_actuaciones_rj.php ahora calcula la mejor fecha disponible de múltiples fuentes

Modificado

  • Botón "RJ Oficial": Ahora llama a consultarRamaJudicialAPIv2() en lugar de abrir URL externa
  • Horario cron job: Cambiado de 0 */4 * * * a 30 1,5,9,13,17,21 * * * (horario desfasado para evitar bloqueos API)
  • Script sincronización Python: Agregado sujetos_procesales y corregido fecha_ultima_actuacion en _guardar_metadata_proceso()

Documentación

  • docs/Rama_Judicial/MEJORAS_BOTON_RJ_API_TIEMPO_REAL_2026-02-20.md
  • Actualizado docs/INDICE_MAESTRO_DOCUMENTACION.md con sección Rama Judicial
---

0.4.10 2026-02-16

Agregado

  • Soporte para tablas Markdown: El visor de changelog ahora convierte tablas Markdown a HTML responsivo
  • Procesamiento de negrita: Texto con asteriscos se convierte correctamente a
  • Procesamiento de código: Texto con \backticks\ se convierte a
  • Modal Rama Judicial completo en tutelas.php: Replicada toda la funcionalidad de procesos_ss.php con 7 funciones JavaScript globales, tabla de actuaciones, resumen de grupos, y modal de documentos

Corregido

  • Ruta CHANGELOG.md: Ahora busca primero en docs/CHANGELOG.md
  • Warnings PHP 8.3: Eliminadas directrices deprecated de mbstring en .user.ini y php.ini
  • Notice session_start(): Verificación de sesión activa antes de iniciar sesión
  • Columnas DataTables: Mapeo corregido para 'nombre_accionante' y 'nombre_accionado'
  • Error "actualizarActuacionesRJModal is not defined": Funciones JavaScript movidas a scope global para permitir onclick inline

Modificado

  • includes/changelog_viewer.php - Soporte para tablas Markdown, negrita, código
  • pages/changelog_content.php - Ruta corregida para docs/CHANGELOG.md
  • legacy/Litigios/tutelas_serverside.php - Mapeo de columnas 3 y 4 corregido
  • legacy/Litigios/tutelas.php - Funciones Rama Judicial en scope global + 2 modales HTML
  • .user.ini - Comentar mbstring.* y auto_detect_line_endings (deprecated)
  • php.ini - Comentar mbstring.* y auto_detect_line_endings (deprecated)

Documentación

  • docs/CORRECCION_WARNINGS_PHP_8_3_2026-02-16.md
  • docs/Accion_Tutela/CORRECCION_ERROR_DATATABLES_TUTELAS_2026-02-16.md
  • docs/Accion_Tutela/MODAL_RAMA_JUDICIAL_TUTELAS_COMPLETO_2026-02-16.md
---

0.4.9 2026-02-16

Optimizado

  • Cron job Rama Judicial: Reducción de desperdicio de llamadas API del 60% a <5% mediante backoff exponencial
  • Priorización inteligente: Query ahora prioriza procesos activos sobre inactivos (3 niveles de prioridad)
  • Notificaciones automáticas: El cron ahora crea comentarios para actuaciones NUEVAS sincronizadas
  • Aumento de límite: Límite aumentado de 25 a 50 procesos por ejecución (viable con menos desperdicio)

Agregado

  • Tabla proceso_sync_log: Registro histórico de todos los intentos de sincronización con backoff exponencial (1d→7d→30d→90d)
  • Función _registrar_sync_log(): Registra cada intento (exitoso, no_encontrado, error_api) con cálculo de próxima consulta
  • Función _crear_comentario_actuacion(): Crea comentarios automáticos con user_id=0 para actuaciones nuevas
  • Query de priorización: UNION ALL con 3 niveles (activos con historial → activos nuevos → inactivos)

Corregido

  • Error en creación de comentarios: id_commentcomment_id (SELECT duplicados)
  • Columna inexistente: Eliminado comment_type del INSERT en tabla comments

Modificado

  • sincronizar_rama_judicial.py - Query priorizada, sync_log, comentarios automáticos, fix columnas
  • /opt/sincronizar_rama_judicial.sh - Límite 25→50, comentario 6h→4h

Validado

  • Prueba manual completa: Sync_log, priorización, backoff y comentarios funcionan correctamente
  • 44 registros en sync_log: 39 exitosos, 2 error_api, 1 no_encontrado, 2 error
  • Rate-limiting detectado: API saturada por pruebas repetidas (comportamiento esperado)

Impacto en Rendimiento

  • Antes: 25 límite × 60% desperdicio = ~10 útiles/ejecución → 48 días para cubrir pendientes
  • Después: 50 límite × <5% desperdicio = ~48 útiles/ejecución → 10 días para cubrir pendientes
  • Mejora: 4.8x más rápido

Documentación

  • docs/Rama_Judicial/OPTIMIZACION_CRON_JOB_SYNC_LOG_2026-02-16.md

0.4.8 2026-02-16

Mejorado

  • Manejo de errores API Rama Judicial: Error 403 (rate-limiting) ahora reintenta con backoff y muestra mensajes claros en español
  • Mensajes de error amigables: SweetAlert muestra mensajes descriptivos en lugar de errores técnicos (403, timeout, conexión, 1264)
  • Errores HTTP 4xx: Todos los errores del cliente HTTP tienen manejo explícito con mensajes descriptivos

Modificado

  • legacy/ajax/sincronizar_proceso_rj.php - Traducción de errores técnicos a mensajes en español
  • /opt/FTP_TUTELAS/docs/rama_judicial/rj_api_client.py - Handler 403 con retry + handler genérico 4xx
  • /opt/FTP_TUTELAS/scripts/sincronizar_un_proceso.py - Catch RJApiError específico
  • /opt/FTP_TUTELAS/scripts/sincronizar_rama_judicial.py - Catch RJApiError en batch con estadísticas

Documentación

  • docs/Rama_Judicial/MEJORA_MANEJO_ERRORES_API_2026-02-16.md

0.4.7 2026-02-16

Corregido

  • Error 1264 (Out of Range) en sincronización Rama Judicial: id_proceso_rj cambiado de INT a BIGINT en tablas proceso_actuaciones y proceso_rj_metadata
  • Cron job colgado 3 días: Proceso zombie (PID 888670) eliminado. Script /opt/sincronizar_rama_judicial.sh mejorado con timeout de 2 horas y auto-kill de procesos zombie
  • Zona horaria incorrecta: Modal de actuaciones RJ ahora muestra hora colombiana (UTC-5) en formato 12h

Modificado

  • legacy/ajax/obtener_actuaciones_rj.php - Conversión UTC -> America/Bogota, formato 12h
  • /opt/FTP_TUTELAS/scripts/sincronizar_un_proceso.py - Catch específico para error MySQL 1264
  • /opt/sincronizar_rama_judicial.sh - Timeout global + auto-kill procesos anteriores

Documentación

  • docs/Rama_Judicial/CORRECCION_ERROR_1264_BIGINT_2026-02-16.md
---

0.4.6.4 2026-02-15

Corregido

  • Redirección post-login: Módulo Litigios ahora redirige correctamente después del login

Modificado

  • legacy/Litigios/login.php - Corregida lógica de redirección
---

0.4.6.3 2026-02-12

Agregado

  • Exportación Excel completa de tutelas: Nueva funcionalidad para exportar todos los datos de tutelas a formato Excel
  • Dashboard de tutelas genérico: Dashboard que funciona para cualquier cliente con datos en tiempo real
  • Gráficos de evolución diaria: Nuevos gráficos de distribución de riesgo en dashboard de tutelas
  • Tarjeta dinámica de tutelas: Contador en tiempo real en menú según cliente seleccionado

Corregido

  • Errores CSP con SheetJS: Uso de biblioteca local para evitar errores de Content Security Policy
  • Fallback para SheetJS: Verificación y fallback cuando SheetJS CDN no está disponible
  • Content Security Policy: Agregado cdn.sheetjs.com a las fuentes permitidas

Mejorado

  • Dashboard de tutelas: Integración completa con base de datos y rediseño UI/UX

Modificado

  • legacy/Litigios/exportar_tutelas_excel.php - Nueva exportación Excel
  • legacy/Litigios/dashboard_tutelas.php - Gráficos de evolución diaria y distribución de riesgo
  • legacy/navbar.php - Contador dinámico de tutelas en menú
  • legacy/head.php - SheetJS local con fallback a CDN
  • includes/header.php - CSP actualizada con cdn.sheetjs.com

Documentación

  • docs/CORRECCION_FALLBACK_SHEETJS_2026-02-12.md
---

0.4.6.2 2026-02-11

Corregido

  • Caracteres UTF-8: Múltiples correcciones de codificación en todo el sistema
  • Nombres de juzgados con validación defensiva para null
  • Paréntesis mal codificados en corregir_utf8()
  • Carácter 'š' -> 'Ú' agregado a patrones
  • Variables de municipio en informe mensual
  • Campos de texto en gestión talento humano
  • Nombres de gestores y fecha de descarga en informe preliminar
  • Función generarSeccionFirma()
  • Compatibilidad PHP 8:
  • Eliminado utf8_encode() obsoleto en cliente.php
  • Corregido TypeError count() en locale.class.php (HTML2PDF)
  • Corregido TypeError en formulario_contratos_empleados.php
  • Múltiples correcciones en HTML2PDF y generación de PDF
  • Advertencias PHP: Corregidas claves $_GET indefinidas en gestión talento humano
  • Función duplicada: Eliminada corregir_utf8() duplicada en ver_tutela.php
  • Consulta redundante: Usar directamente j.juzgado del JOIN en lugar de get_row()
  • Manejo de errores: Mejorado manejo de errores en editar_proceso.php
  • HTML en botón: Corregido error en botón "Crear nueva carpeta"
  • División por cero: Corregido en informe preliminar
  • Desbordamiento de texto: Corregido "Fecha y hora de descarga" en informe preliminar
  • Alineación de fecha: Fecha de descarga alineada a la izquierda (HTML2PDF no soporta right en divs)
  • Estructura de tabla: Cambiado div a tabla para corregir desbordamiento

Agregado

  • Función mb_strtoupper_corregido(): Para mayúsculas con tildes correctamente
  • Patrones UTF-8: Óº->Ú y Ó¡->Á agregados a función de corrección

Modificado

  • legacy/funciones.php - mb_strtoupper_corregido(), nuevos patrones UTF-8
  • legacy/Litigios/ver_tutela.php - Eliminada función duplicada
  • legacy/clientes.php - Eliminado utf8_encode() obsoleto
  • legacy/Litigios/editar_proceso.php - Mejor manejo de errores
  • legacy/Litigios/procesos_ss.php - Validación defensiva juzgado, consulta optimizada
  • legacy/pdf/documentos/ver_informe_preliminar.php - Múltiples correcciones UTF-8 y división por cero
  • legacy/vendor/html2pdf/locale.class.php - Fix TypeError count()
  • legacy/gestion_talento_humano/*.php - Corregidas advertencias $_GET

Mejorado

  • Modal de Rama Judicial: Reaplicadas mejoras en procesos_ss.php
  • Validación POST: Corregida validación en nombres de juzgados
---

0.4.6.1 2026-02-10

Agregado

  • Documentos de contexto GPA: Gestión TI, perfiles y referencias
  • Certificación contractual GPA: 4 documentos DOCX agregados
  • Múltiples grupos en actuaciones Rama Judicial: Soporte para varios idConexion por proceso
  • Sincronización de documentos Rama Judicial: Nueva funcionalidad con corrección de errores

Documentación

  • docs/Gestion_TI/ - Documentos de contexto
  • docs/Certificacion_Contractual/ - Documentos DOCX
  • docs/Rama_Judicial/MULTIPLES_GRUPOS_ACTUACIONES_2026-02-10.md

Modificado

  • legacy/ajax/obtener_actuaciones_rj.php - Soporte múltiples idConexion
  • /opt/FTP_TUTELAS/scripts/sincronizar_rama_judicial.py - Sincronización de documentos
---

0.4.6 2026-02-09

Rediseño UI/UX - editar_proceso.php

Rediseño UI/UX - editar_proceso.php

  • Container XL (1440px max-width) - Reemplaza .container estándar (1170px) para aprovechar espacio en monitores grandes
  • Sidebar Eliminado - Información estática movida a "Info Cards" en tab "Partes"
  • Tabs Reorganizados - Mejor agrupación lógica: Datos Básicos, Partes, Rama Judicial, Equipos, Actuaciones, Términos
  • Identidad Visual Única - Gradiente púrpura (#667eea → #764ba2) para diferenciación visual
  • Floating Action Button (FAB) - Botón de guardar circular, fijo en esquina inferior derecha
  • Animaciones Suaves - Transiciones en tabs con efecto slide-in
  • Form Sections con Borde de Color - Secciones visualmente diferenciadas
  • Info Cards Responsive - Grid auto-ajustable para datos de contacto

Modificado

  • legacy/Litigios/editar_proceso.php
  • Reescritura completa de la estructura HTML
  • CSS inline personalizado en
  • Reorganización de 6 tabs con mejor lógica
  • Info cards para demandante/demandado en tab "Partes"
  • FAB button para guardar
  • Animaciones JavaScript para cambios de tab

Creado

  • legacy/Litigios/editar_proceso.php.backup - Backup del diseño original
  • docs/Implementaciones/REDISENO_UIUX_EDITAR_PROCESO_2026-02-09.md - Documentación completa

Funcionalidades Mantenidas

  • ✅ Integración Rama Judicial (API oficial Colombia)
  • ✅ Sincronización de actuaciones con botón
  • ✅ Control de términos con tabla
  • ✅ CKEditor para textos largos
  • ✅ 8 roles de asignación
  • ✅ Validación de fechas
  • ✅ SweetAlert2 para confirmaciones
  • ✅ Selects con búsqueda (bootstrap-select)

0.4.5 2026-02-09

Agregado

  • Integración con API Rama Judicial de Colombia
  • Nueva pestaña "Rama Judicial" en editar_proceso.php
  • Sincronización de actuaciones desde fuente oficial
  • Visualización de actuaciones con iconos y formato
  • Creación automática de comentarios para nuevas actuaciones
  • Enlaces a documentos de actuaciones

Modificado

  • legacy/Litigios/editar_proceso.php
  • Etiqueta "Litigio Digitalizado en Mega" → Botón "⚖️ Rama Judicial"
  • Nueva pestaña con tabla de actuaciones sincronizadas
  • JavaScript para carga dinámica vía AJAX
  • Contador de actuaciones en badge

Creado

  • legacy/ajax/obtener_actuaciones_rj.php - Obtiene actuaciones desde BD
  • legacy/ajax/sincronizar_proceso_rj.php - Sincroniza con API y crea comentarios
  • docs/INTEGRACION_RAMA_JUDICIAL_2026-02-09.md - Documentación completa

Base de Datos

  • Tablas nuevas:
  • proceso_actuaciones - Actuaciones sincronizadas desde API RJ
  • proceso_documentos - Metadatos de documentos

Campos Enriquecidos

  • url_proceso - URL oficial de Rama Judicial
  • estado_actual_proceso - Resumen de última actuación
  • detalle_actuaciones - Tabla HTML cronológica
  • observaciones - Información adicional de RJ
  • fecha_ultima_revision - Control de actualización

Integración con Proyecto Externo

  • FTP_TUTELAS (Pipeline de procesamiento de tutelas)
  • Script sincronizar_un_proceso.py ejecutado desde GPA
  • Base de datos compartida en VPS 82.25.92.96

0.4.4 2025-01-23

Agregado

  • Dominio .com para GPA (legalhealthmanagement.com)
  • Configuración completa en Caddy para dominio .com con subdominios
  • Certificados SSL automáticos via Let's Encrypt/ZeroSSL
  • Redirección www → no-www (canónica)
  • Logs específicos para cada subdominio .com

Infraestructura

  • Caddyfile actualizado (/etc/caddy/Caddyfile)
  • Nuevo bloque para legalhealthmanagement.com (→ App Legacy)
  • Nuevo bloque para new.legalhealthmanagement.com (→ App Nueva)
  • Nuevo bloque para monitor.legalhealthmanagement.com (→ Portal Landing)
  • Archivos de log separados para cada dominio .com

Corregido

  • Webhook PHP proxy (webhook/github.php)
  • Puerto corregido de 9002 → 9003
  • El webhook de GPA usa el puerto 9003 (el 9002 es para sgcfundetec)

DNS

  • Registros A actualizados en Hostinger para apuntar a 82.25.92.96
  • Subdominios: @, www, new, monitor
  • Registros MX (correo) mantenidos sin cambios

Creado

  • docs/CONFIGURACION_DOMINIO_COM_2025-01-23.md - Documentación completa del dominio .com

Dominios Configurados

DominioAplicaciónRootLog
legalhealthmanagement.netLegacy/var/www/gpa/legacylegalhealthmanagement.log
legalhealthmanagement.comLegacy/var/www/gpa/legacylegalhealthmanagement-com.log
new.legalhealthmanagement.netNueva App/var/www/gpa/legalhealthmanagementnew-legalhealthmanagement.log
new.legalhealthmanagement.comNueva App/var/www/gpa/legalhealthmanagementnew-legalhealthmanagement-com.log
monitor.legalhealthmanagement.netPortal/var/www/gpamonitor-legalhealthmanagement.log
monitor.legalhealthmanagement.comPortal/var/www/gpamonitor-legalhealthmanagement-com.log

0.4.3 2025-01-17

Agregado

  • Módulo de cambio masivo de fechas de creación en solicitudes
  • Nueva interfaz para procesar 1-500 IDs en un solo lote
  • Input datetime-local para selección visual de fecha y hora
  • Dashboard de resultados con estadísticas visuales
  • Textarea de 600px para ingreso de IDs
  • Contador en tiempo real de IDs detectados
  • Sección de ayuda colapsable
  • Misma auditoría individual que el cambio individual

Modificado

  • legacy/cambio_masivo_fechas.php
  • Textarea de 600px de altura
  • Input datetime-local para fecha/hora
  • Conversión automática de formato (HTML5 → MySQL)
  • Validación de máximo 500 IDs por lote
  • legacy/ajax/procesar_cambio_masivo_fechas.php
  • Procesamiento transaccional individual por ID
  • Validación completa de fecha/hora con checkdate()
  • Logging de errores en archivo dedicado
  • legacy/navbar.php
  • Agregada opción de menú: Datos Maestros > Gestión > Cambio Masivo de Fechas
  • legacy/menu_gestion_requerimientos_vigencia.php
  • Mejor manejo de resultados vacíos (alerta en lugar de fila de tabla)
  • Inicialización condicional de DataTables

Infraestructura

  • Configuración de webhook auto-deploy
  • Puerto cambiado de 9002 a 9003 (conflicto con sgcfundetec)
  • SystemD service habilitado para arranque automático
  • Wrapper script corregido para usar /usr/bin/node
  • Directorio de trabajo corregido: /root/docs/14-scripts-gpa
  • El webhook ahora se reinicia automáticamente al reiniciar el VPS

Creado

  • legacy/cambio_masivo_fechas.php - Interfaz de cambio masivo
  • legacy/ajax/procesar_cambio_masivo_fechas.php - API de procesamiento
  • docs/Correcciones/CONFIGURACION_WEBHOOK_AUTODEPLOY_2025-01-17.md - Documentación del webhook

Documentación

  • Actualizada documentación de auditoría con sección de cambio masivo
  • Agregada guía completa de configuración del webhook auto-deploy
  • Actualizado README en /root/docs/14-scripts-gpa/ con comandos SystemD

0.4.2 2025-12-19

Agregado

  • Sistema de auditoría para cambio de fecha de creación en solicitudes
  • Nueva tabla auditoria_cambios_solicitudes para registro de cambios
  • Botón de cambio de fecha (solo para Administradores y Directores Jurídicos)
  • Modal con tabs para cambio de fecha y consulta de historial
  • Registro obligatorio de motivo del cambio
  • Trazabilidad completa: usuario, IP, fecha/hora, valores antes/después

Modificado

  • legacy/gestionar_solicitudes.php
  • Agregado botón de calendario en acciones (role 0 y 3)
  • Modal con tabs: "Cambiar Fecha" y "Historial de Cambios"
  • Funciones JavaScript: modalCambiarFecha(), cargarAuditoria(), procesarCambioFecha()

Creado

  • legacy/ajax/cambiar_fecha_creacion_solicitud.php - API para cambiar fecha con auditoría
  • legacy/ajax/obtener_auditoria_solicitud.php - API para consultar historial de cambios
  • docs/Correcciones/SISTEMA_AUDITORIA_CAMBIO_FECHA_SOLICITUD_2025-12-19.md - Documentación completa

Seguridad

  • Transacciones atómicas MySQL para garantizar consistencia
  • Validación de permisos por role (0=Admin, 3=Director Jurídico)
  • Registro de IP y motivo obligatorio
  • Confirmación con SweetAlert antes de ejecutar cambio

0.4.1 2025-12-19

Mejorado

  • Sistema de notificaciones en todos los módulos
  • Corrección UTF-8: Aplicada función corregir_utf8() a todos los textos en notificaciones (títulos, contenido, nombres de usuarios)
  • Diseño moderno: Rediseño completo del dropdown de notificaciones con estilos profesionales
  • Estructura semántica: Nueva estructura HTML con header, body y footer para cada notificación
  • Responsive: Diseño adaptable para desktop, tablet y móvil
  • Experiencia de usuario: Efectos hover, scroll personalizado, tooltips automáticos
  • JavaScript mejorado: Manejo de errores, ocultar contador cuando no hay notificaciones, inicialización automática de tooltips
  • Archivos afectados: Todos los fetch.php, navbar.php y footer.php en Litigios, Comercial, Control y legacy

Corregido

  • Problema de caracteres especiales en notificaciones
  • Solucionado el issue donde caracteres como "Término" aparecían como "Término"
  • Aplicación sistemática de corregir_utf8() en todos los puntos de salida de datos
  • Compatible con la función existente en legacy/funciones.php

Documentado

  • Documentación completa de las mejoras
  • Archivo: docs/Mejoras/MEJORAS_NOTIFICACIONES_2025-12-19.md
  • Detalles técnicos, beneficios, pruebas realizadas y recomendaciones
  • Guía completa para mantenimiento y futuras mejoras

0.4.0 2025-10-25

Agregado

  • Nuevo sistema moderno de gestión de litigios legacy/litigios.php
  • Dashboard PowerBI-like con 5 métricas clave en tiempo real
  • Sistema de filtros avanzados inspirado en conceptos_firma.php pero mejorado
  • Tabla DataTables con procesamiento server-side para manejo de grandes volúmenes
  • Interfaz moderna con gradientes, animaciones y diseño responsive
  • Información destacada del cliente seleccionado
  • Exportación a múltiples formatos (CSV, Excel, PDF)
  • Arquitectura preparada para escalabilidad futura

Mejorado

  • Interfaz de selección de cliente en legacy/modal/editar_usuarios.php
  • Mejorado el campo "Gestionar Cliente" con Bootstrap Select para incluir búsqueda en tiempo real
  • Agregadas clases selectpicker show-tick y atributos data-show-subtext="true" data-live-search="true"
  • Agregado JavaScript para inicializar el selectpicker al mostrar el modal
  • Interfaz ahora consistente con la página de consulta (consulta.php)

Corregido

  • Sistema de permisos de usuarios en legacy/consulta.php
  • Corregida inconsistencia donde usuarios con clientes asignados mediante el campo acceso_cliente en la tabla users no podían ver ni gestionar esos clientes en la página de consulta
  • Modificada la consulta SQL para incluir clientes asignados mediante acceso_cliente además de los asignados directamente en campos de la tabla clientes
  • Nueva condición SQL: OR id_cliente IN (SELECT acceso_cliente FROM users WHERE user_id = $user_id AND acceso_cliente IS NOT NULL)
  • Errores en select de clientes y codificación UTF-8
  • Solucionado error "$ is not defined" verificando disponibilidad de jQuery antes de usar selectpicker
  • Corregido que el select no mostraba el cliente previamente seleccionado en la base de datos
  • Aplicada función corregir_utf8() a nombres de clientes para solucionar problemas de codificación
  • Archivos afectados: legacy/modal/editar_usuarios.php, legacy/usuarios.php, legacy/consulta.php
  • Codificación UTF-8 en columna "Apoderado" de procesos.php
  • Aplicada función corregir_utf8() a nombres y apellidos de apoderados
  • Solucionado problema de caracteres especiales (ú, ñ, á, etc.) en la columna Apoderado
  • Archivo afectado: legacy/procesos.php (líneas 311-314)

Agregado

  • Script de diagnóstico para litigios.php
  • Archivo: legacy/diagnostico_litigios.php
  • Verifica archivos requeridos, conexión a BD, tablas, funciones y parámetros
  • Muestra estado detallado de cada componente (✅/❌)
  • Proporciona recomendaciones para solucionar problemas
  • Accesible desde cualquier navegador
  • Función get_row_array() en funciones.php
  • Función para obtener registros completos como arrays asociativos
  • Soluciona el error 500 en litigios.php
  • Documentada con PHPDoc y manejo de errores
  • Complementa la función existente get_row()
  • Integración de DataTables CDN
  • Configuración centralizada en cdn_config.php
  • CSS y JS cargados desde CDN
  • Soluciona error "DataTable is not a function"
  • Disponible para todo el sistema
  • Procesamiento server-side para litigios
  • Archivo: Litigios/procesos_ss_litigios.php
  • Configuración específica para litigios con filtros
  • Soluciona error "Invalid JSON response"
  • Integración con DataTables server-side

Documentación

  • Agregado docs/CAMBIOS_SISTEMA_PERMISOS_USUARIOS_2025-10-25.md con detalle técnico completo de todas las versiones
  • Actualizada documentación con script de diagnóstico y manejo de errores
  • Documentación de migración, pruebas recomendadas e integración con el menú

Mejorado

  • Manejo de errores en legacy/litigios.php
  • Agregado sistema completo de manejo de errores con try-catch
  • Configuración de logging a error_litigios.log
  • Manejador de errores personalizado con mensajes amigables
  • Verificación de conexión a base de datos
  • Protección en todas las consultas SQL
  • Modo debug para desarrollo (?debug=1)
  • Mensajes de error claros para usuarios

Corregido

  • Enlace en el menú principal: Modificado legacy/menu.php para que "Gestión de Litigios" apunte al nuevo sistema
  • Cambio: procesos.php?filtro=litigios.php?filtro=
  • Texto: "Gestión de Litigios" → "Gestión de Litigios (Nuevo)"
  • Impacto: Acceso directo al sistema moderno desde el menú con el mismo filtro de cliente

Documentación

  • Agregado docs/CAMBIOS_SISTEMA_PERMISOS_USUARIOS_2025-10-25.md con detalle técnico completo del problema, solución implementada, impacto y pruebas recomendadas
  • Actualizada documentación con mejoras de interfaz de usuario

0.3.10 2025-11-17

Corregido

  • Importación de tutelas (CSV/XLSX) en legacy/importar_tutelas.php
  • Corregido flujo de confirmación con SweetAlert2 que enviaba el formulario sin el parámetro accion=importar.
  • Ahora, tras confirmar el SweetAlert, se añade un campo oculto accion=importar antes de hacer form.submit(), garantizando que el backend ejecute la rama de importación real.
  • El panel azul de resumen vuelve a mostrar únicamente los procesos creados nuevos (por ejemplo: 5 de 10 registros cuando los demás radicados ya existen).

Documentación

  • Agregado docs/CORRECCION_IMPORTAR_TUTELAS_2025-11-17.md con el detalle técnico del problema, causa raíz, solución y pasos para probar el flujo completo.

0.3.9 2025-10-26

Agregado

  • Configuración de Embedding para Agentes IA
  • Configurados headers de seguridad para permitir embedding de aplicaciones externas
  • Implementado soporte para iframes en consulta.marduk.pro y analisis.marduk.pro
  • Agregado parámetro ?embedded=true para modo de embedding
  • Documentación completa en CONFIGURACION_EMBEDDING_AGENTES_IA_2025-10-26.md

Corregido

  • URLs de Agentes IA en Base de Datos
  • Corregidas URLs malformadas en tabla agentes
  • Agente ID 42: https://consulta.marduk.pro/embedded=truehttps://consulta.marduk.pro/?embedded=true
  • Agente ID 43: https://analisis.marduk.pro/embedded=truehttps://analisis.marduk.pro/?embedded=true
  • Solucionado error 404 "This page could not be found" en agentes embebidos

Cambiado

  • Configuración de Caddy
  • Modificado Content Security Policy: frame-src 'self' https:frame-src *; frame-ancestors *
  • Agregado header_down -X-Frame-Options para eliminar headers conflictivos de Next.js
  • Mantenidos headers de seguridad: X-Frame-Options: ALLOWALL
  • Configuración CORS actualizada para soporte de embedding

0.3.8 2025-10-24

Cambiado

  • Migración de Archivos IA a Raíz
  • Movidos archivos PHP del módulo de IA de legacy/IA/ a legacy/
  • Archivos migrados:
* ia_validacion_modelos.phplegacy/ia_validacion_modelos.php * ia_analisis_tutelas.phplegacy/ia_analisis_tutelas.php * ia_dashboard.phplegacy/ia_dashboard.php * verificar_agentes.phplegacy/ia_verificar_agentes.php * test_agentes.phplegacy/ia_test_agentes.php
  • Razón: Evitar problemas con rutas relativas y redirecciones infinitas causadas por código JavaScript en base.php del servidor
  • Beneficios:
* Sin errores ERR_TOO_MANY_REDIRECTS * Sin errores de menu_slider.php * Rutas más simples (sin ../) * Navbar y footer se muestran correctamente * Mejor rendimiento * Codificación UTF-8 correcta (sin caracteres extraños)
  • Actualización de Rutas en Archivos Migrados
  • Includes: include("../head.php")include("head.php")
  • Redirects: header("location: ../login.php")header("location: login.php")
  • Requires: require_once('IAProvider.php')require_once('IA/IAProvider.php')
  • AJAX: fetch('validar_proveedor.php')fetch('IA/validar_proveedor.php')
  • Actualización de Navbar
  • legacy/navbar.php - Actualizadas URLs del módulo de IA
  • Enlaces: IA/ia_*.phpia_*.php
  • Agregado enlace a "Verificar Agentes IA"
  • Ahora apuntan directamente a la raíz de legacy

Agregado

  • Documentación de Migración
  • docs/MIGRACION_IA_A_RAIZ_2025-10-24.md - Guía completa de migración
  • docs/EXPLICACION_ERROR_MENU_SLIDER_2025-10-24.md - Explicación del problema de redirecciones
  • legacy/IA/MIGRACION_IA_A_RAIZ_2025-10-24.md - Copia en carpeta IA
  • legacy/IA/EXPLICACION_ERROR_MENU_SLIDER_2025-10-24.md - Copia en carpeta IA

Eliminado

  • Archivos Obsoletos en legacy/IA/
  • legacy/IA/base_ia.php - Ya no es necesario
  • legacy/IA/ia_validacion_modelos.php - Movido a legacy/
  • legacy/IA/ia_analisis_tutelas.php - Movido a legacy/
  • legacy/IA/ia_dashboard.php - Movido a legacy/
  • Los archivos PHP principales ahora están en legacy/
---

0.3.7 2025-10-24

Corregido

  • Módulo de IA - Consistencia de Navbar y Footer
  • Corregida inconsistencia visual en navbar y footer de páginas del módulo de IA
  • Archivos modificados para usar templates centralizados:
* legacy/IA/ia_validacion_modelos.php - Actualizado a estructura de base.php * legacy/IA/ia_analisis_tutelas.php - Actualizado a estructura de base.php * legacy/IA/ia_dashboard.php - Actualizado a estructura de base.php
  • Cambios realizados:
* Reemplazado include("../Control/head.php") por include("../head.php") * Reemplazado include("../Control/footer.php") por include("../footer.php") * Eliminado require_once("../config/cdn_config.php") duplicado (ya está en head.php) * Cambiado contenedor de
a
* Agregada estructura de panel:
* Agregado
con botones de acción * Agregado
para contenido * Agregado espaciado


antes del footer * Eliminados scripts duplicados de SweetAlert2 y Chart.js
  • Beneficios:
* Consistencia visual en todo el sistema * Mantenimiento centralizado de librerías * Eliminación de código duplicado * Estandarización de versiones de librerías * Estructura HTML uniforme

Agregado

  • Plantilla Base para Desarrollo
  • legacy/IA/base_ia.php - Plantilla simplificada para nuevas páginas del módulo IA (47 líneas)
* Estructura completa siguiendo base.php * Sin botones forzados en panel-heading * Control de acceso por roles * Validación de sesión * Lista para agregar contenido personalizado

Documentación

  • Documentación de corrección de UI
  • docs/CORRECCION_NAVBAR_FOOTER_IA_2025-10-24.md - Documentación completa de la corrección
* Descripción del problema y causa raíz * Detalles de la solución implementada * Archivos modificados con diff de cambios * Instrucciones de despliegue * Checklist de verificación
  • docs/GUIA_PLANTILLA_BASE_DESARROLLO_2025-10-24.md - Guía completa de desarrollo
* Estructura estándar de páginas * Guía paso a paso de uso de plantilla * Ejemplos prácticos * Mejores prácticas * Checklist de desarrollo * Solución de problemas comunes
  • docs/ARCHIVOS_SUBIR_CORRECCION_NAVBAR_IA_2025-10-24.md - Instrucciones de despliegue
* Lista de archivos a subir * Comandos de despliegue (SCP, FTP, Git) * Checklist de verificación post-despliegue
  • Actualizado docs/CHANGELOG.md - Nueva versión 0.3.7
  • Actualizado legacy/IA/README.md - Versión 1.0.1 con historial
---

0.3.6 2025-10-23

Corregido

  • Soporte para Modelos GPT-5 (gpt-5-nano, o3, o1)
  • Corregido error "Unsupported parameter: 'max_tokens'" en modelos GPT-5
  • Implementada detección automática de modelos GPT-5/o3/o1 en legacy/IA/IAProvider.php
  • Uso de max_completion_tokens en lugar de max_tokens para modelos de razonamiento
  • Omisión de parámetro temperature en modelos GPT-5 (no soportado)
  • Mantenida compatibilidad hacia atrás con GPT-4 y modelos anteriores
  • Archivo modificado: legacy/IA/IAProvider.php (líneas 222-280)

Agregado

  • Script SQL: docs/Tablas-Vistas-BD/UPDATE_GPT5_CONFIG.sql
  • Actualización de configuración para modelos GPT-5
  • Configuración de max_completion_tokens en lugar de max_tokens
  • Marcado de modelos que no soportan temperature
  • Documentación: docs/CORRECCION_GPT5_PARAMETROS_2025-10-23.md
  • Documentación completa del problema y solución
  • Referencias a documentación oficial de OpenAI
  • Guía de límites de tokens por modelo
---

0.3.5 2025-10-23

Corregido

  • Sistema de IA y Analítica - Análisis de Tutelas
  • Corregido error de método privado inaccesible en legacy/IA/IAProvider.php
* Cambio de visibilidad de private a public en método obtenerModelo() (línea 307)
  • Corregidos errores de columnas inexistentes en base de datos
* legacy/IA/analizar_tutelas.php - Función obtenerBarreras() (líneas 322-334) - Corregido ORDER BY: total_casoscantidad * legacy/IA/analizar_tutelas.php - Función construirPrompt() (líneas 172-190) - Corregido nombre de columna: tipo_barrerabarrera - Corregido nombre de columna: total_casoscantidad - Corregido nombre de columna: departamentodepartamento_demandante - Agregado operador null coalescing ?? para evitar errores de índice indefinido
  • Corregido error de codificación UTF-8 en legacy/IA/IAProvider.php
* Agregada función limpiarUTF8() para sanitizar strings (líneas 263-276) * Aplicada limpieza en enviarPromptDeepSeek() antes de json_encode * Aplicada limpieza en enviarPromptOpenAI() antes de json_encode * Agregado flag JSON_UNESCAPED_UNICODE en todas las llamadas a json_encode
  • Corregidos errores en tabla ia_registro_uso en legacy/IA/IAProvider.php
* Función registrarUso() (líneas 396-432) - Corregido nombre de columna: tipo_operaciontipo_peticion - Corregido nombre de columna: tokens_usadostokens_totales - Corregido tipo de dato: exitoso INT → estado VARCHAR - Corregido valor: $exitoso_int (0/1) → $estado ('exitoso'/'fallido') - Corregido binding: "iisii""iisis" - Agregado try-catch para manejo robusto de errores - Agregadas validaciones de prepared statements * Función obtenerEstadisticas() (líneas 433-451) - Corregido: exitoso = 1estado = 'exitoso' - Corregido: tokens_usadostokens_totales (2 ocurrencias)

Agregado

  • Scripts de diagnóstico para debugging
  • legacy/IA/test_check_api_key.php - Verificación de configuración de claves API
  • legacy/IA/test_curl_debug.php - Prueba directa de cURL a DeepSeek API
  • legacy/IA/test_api_direct.php - Prueba de análisis sin AJAX
  • Nota: Estos archivos deben ser removidos o restringidos en producción

Documentación

  • Documentación completa de correcciones
  • docs/CORRECCION_SISTEMA_IA_TUTELAS_2025-10-23.md - Resumen ejecutivo de correcciones
  • docs/CAMBIOS_TECNICOS_IA_TUTELAS_2025-10-23.md - Detalles técnicos de cambios
  • docs/LECCIONES_APRENDIDAS_IA_2025-10-23.md - Lecciones aprendidas del proceso
  • Actualizado legacy/IA/RESUMEN_IMPLEMENTACION.md con sección de correcciones

Resultados

  • ✅ Sistema de análisis de tutelas 100% funcional
  • ✅ Validación de modelos operativa (OpenAI y DeepSeek)
  • ✅ Análisis exitosos con métricas:
* Tokens promedio: 1,502 * Tiempo promedio: 34.3 segundos * Costo promedio: $0.000023 por análisis * Tasa de éxito: 100%

0.3.4 2025-10-10

Cambiado

  • Actualización de enlace de expediente en menú de gestión
  • Modificado legacy/menu_gestion_requerimientos_vigencia.php
* Botón "Ver Expediente" ahora redirige a formulario_requerimientos.php?id=X * Anteriormente redirigía a expediente_digitalizado_solicitudes.php?id_empleador=X&id=Y * Agregado atributo target="_blank" para abrir en nueva pestaña * Mejora la experiencia de usuario con la nueva versión del formulario de requerimientos

Corregido

  • Error JavaScript en menú de gestión de requerimientos
  • Corregido error "Uncaught ReferenceError: informe_gestion is not defined" en legacy/menu_gestion_requerimientos_vigencia.php
* Movidas funciones comentar_solicitud(), informe_gestion() y mensaje() fuera del scope de $(document).ready() * Las funciones ahora son globales y accesibles desde atributos onclick en el HTML * Reorganizado código JavaScript para mejor mantenibilidad
  • Errores en expediente digitalizado de solicitudes
  • Corregidos warnings en legacy/expediente_digitalizado_solicitudes.php
* Agregada validación con is_dir() antes de scandir() para verificar existencia del directorio * Uso de operador @ para suprimir warnings de permisos * Validación de resultado de scandir() antes de procesar archivos * Inicialización de $archivos como array vacío por defecto * Agregado mensaje informativo cuando no hay archivos en el expediente * Corregido error "count(): Parameter must be an array or an object that implements Countable"
  • Sistema de navegación contextual en gestión de requerimientos
  • Corregido error "Undefined index: anio" en legacy/editar_solicitud_usuario.php
* Agregada validación con isset() para parámetro $anio (línea 22) * Agregado valor por defecto date('Y') cuando no se proporciona
  • Corregido error "Undefined index: url_proceso" en legacy/gestionar_solicitud_usuario.php
* Agregada validación con isset() y empty() para campo url_proceso (línea 76)
  • Implementado sistema de navegación contextual con parámetro from_gestion
* Modificado legacy/menu_gestion_requerimientos_vigencia.php - Agregado parámetro from_gestion=1 a enlaces de "Gestionar" y "Editar" * Modificado legacy/editar_solicitud_usuario.php - Agregada detección de origen con parámetro from_gestion - Botón "Regresar" redirige a menu_gestion_requerimientos_vigencia.php cuando viene de gestión - Actualizado formulario para pasar parámetro from_gestion al script AJAX * Modificado legacy/gestionar_solicitud_usuario.php - Agregada detección de origen con parámetro from_gestion - Botón "Regresar" redirige a menu_gestion_requerimientos_vigencia.php cuando viene de gestión - Actualizado formulario para pasar parámetro from_gestion al script AJAX * Modificado legacy/ajax/editar_solicitud_usuario.php - Agregada lógica de redirección condicional según origen - Redirige a menu_gestion_requerimientos_vigencia.php cuando from_gestion=1 - Mantiene redirección original a solicitudes.php en otros casos * Modificado legacy/ajax/editar_gestion_solicitud_usuario.php - Agregada lógica de redirección condicional según origen - Redirige a menu_gestion_requerimientos_vigencia.php cuando from_gestion=1 - Mantiene redirección original a gestionar_solicitudes.php en otros casos
  • El menú de gestión de requerimientos (menu_gestion_requerimientos_vigencia.php) ahora funciona como hub central
* Los usuarios regresan correctamente al menú después de editar o gestionar requerimientos * La navegación se mantiene consistente tanto en visualización como después de actualizaciones

0.3.3 2025-10-09

Corregido

  • Migración de HTML2PDF a TCPDF 6.x en módulo Legacy
  • Actualizado legacy/pdf/documentos/ver_informe_gestion_requerimiento.php
* Migrado de HTML2PDF a TCPDF 6.x para resolver errores de compatibilidad con PHP 7.4+ * Agregado manejo correcto de buffers de salida (ob_start() / ob_end_clean()) * Deshabilitados errores de PHP antes de generar PDF * Eliminadas salidas con echo antes de generar PDF * Agregado manejo de errores con error_log() y redirección * Limpieza de etiquetas específicas de HTML2PDF (, , etc.) * Creado backup: ver_informe_gestion_requerimiento_OLD_HTML2PDF.php * Implementada clase personalizada MYPDF con header y footer institucionales * Configurados márgenes apropiados (top: 45mm, bottom: 30mm) para header/footer
  • Mejorado diseño visual de legacy/pdf/documentos/res/ver_informe_gestion_requerimiento_html.php
* Aplicado mismo estilo profesional del informe de Litigios * Implementadas tablas con clase .data-table con bordes y colores corporativos * Campos de datos con .label-field (fondo gris) y .value-field (fondo blanco) * Encabezados de sección con .section-title (fondo azul oscuro #2c3e50) * Valores importantes destacados con .value-important (negrita) * Indicadores de estado con colores semánticos (verde, naranja, rojo, azul) * Mejorada presentación de días de vencimiento con colores condicionales * Simplificada sección de firma del gestor * Eliminado uso de utf8_encode() (deprecated en PHP 8.2)
  • Solución basada en el mismo patrón aplicado exitosamente en:
* legacy/Litigios/pdf/documentos/ver_informe_litigio.php * Documentado en docs/FIX_TCPDF_ERROR_INFORME_LITIGIO.md * Documentado en docs/FIX_TCPDF_ERROR_INFORME_GESTION_REQUERIMIENTO.md * Documentado en docs/ACTUALIZACION_TCPDF_COMPLETADA.md
  • Manejo de errores en consultas SQL y acceso a archivos
  • Mejorada función get_row() en legacy/funciones.php
* Agregada validación de errores en consultas SQL * Registro de errores en log cuando la consulta falla * Retorna cadena vacía en caso de error en lugar de generar warnings
  • Corregido manejo de directorios en legacy/solicitudes.php
* Agregada verificación is_dir() antes de scandir() * Uso de operador @ para suprimir warnings de permisos * Validación de resultado de scandir() antes de procesar archivos
  • Módulo Comercial - Errores de conexión y validación
  • Corregido error de conexión a base de datos en legacy/Comercial/config/conexion.php
* Cambió mysqli_error($con) por mysqli_connect_error() para manejo correcto de errores * Actualizada conexión PDO para usar constantes en lugar de valores hardcodeados
  • Actualizado legacy/Comercial/config/db.php
* Cambió DB_HOST de 'localhost' a '190.8.178.74' (servidor remoto) * Agregada verificación if (!defined()) para evitar redefinición de constantes
  • Corregidos errores "Undefined index" en archivos del módulo Comercial:
* legacy/Comercial/menu_consulta.php: Validación de $_GET['filtro'] * legacy/Comercial/clientes_ss.php: Validación de $_GET['filtro'] y $_GET['id'] * legacy/Comercial/clientes_bd.php: Validación de $_GET['filtro'] y $_GET['id'] * legacy/Comercial/menu_consulta_old.php: Validación de $_GET['filtro'] * legacy/Comercial/editar_cliente.php: Validación de $_GET['origen'] y $row['url_proceso']
  • Corregidos errores "Undefined index" en archivos del módulo Legacy principal:
* legacy/menu_requerimientos_vigencia.php: Validación de $_GET['filtro'] y $_GET['anio'] * legacy/solicitudes.php: Validación de $_GET['filtro'] y $_GET['anio'] * legacy/meses_vigencia_dashboard.php: Validación de $_GET['filtro'] y $_GET['anio'] * legacy/evaluar_solicitud_usuario.php: Validación de $_GET['id'] y $_GET['anio'] * legacy/expediente_digitalizado_solicitudes.php: Validación de $_GET['id_empleador'], $_GET['anio'] y $_GET['id'] * legacy/gestionar_solicitud_usuario.php: Validación de $_GET['id'], $_GET['anio'] y $_GET['mes']
  • Eliminadas inclusiones duplicadas de archivos de configuración
* Removidas líneas duplicadas de include('config/db.php') y include('config/conexion.php') * Agregados comentarios explicativos sobre la inclusión de constantes

0.3.2 2025-10-07

Añadido

  • Sistema de Encuesta NPS (Net Promoter Score) para medir satisfacción del usuario
  • Tabla de base de datos encuesta_nps con campos completos de auditoría
  • Script SQL completo: legacy/sql/crear_tabla_encuesta_nps.sql
* Tabla principal con índices optimizados * Vistas para análisis: vista_analisis_nps y vista_nps_score * Procedimientos almacenados: sp_debe_mostrar_encuesta_nps y sp_guardar_respuesta_nps
  • Endpoint AJAX: legacy/guardar_encuesta_nps.php
* Validación de datos (puntuación 0-10) * Categorización automática (Detractor/Pasivo/Promotor) * Respuestas JSON con mensajes personalizados
  • Funciones de verificación: legacy/verificar_encuesta_nps.php
* debe_mostrar_encuesta_nps(): Lógica de cada 3 meses * obtener_estadisticas_nps_usuario(): Estadísticas por usuario * obtener_nps_score(): Cálculo de NPS Score general
  • Interfaz de usuario en legacy/footer.php
* Encuesta con escala visual de 0-10 con colores (rojo/amarillo/verde) * Campo opcional para comentarios * Validación de selección obligatoria * Efectos hover y selección visual * Integración con SweetAlert2 * Se muestra cada 3 meses hasta que el usuario responda * Persistente entre sesiones
  • Documentación completa: docs/implementacion_encuesta_nps.md
* Explicación del sistema NPS * Estructura de base de datos * Flujo de funcionamiento con diagramas * Consultas útiles para análisis * Guía de configuración y mantenimiento
  • Página de visualización de resultados: legacy/resultados_nps.php
* Dashboard con NPS Score general y por períodos * Distribución visual de Promotores/Pasivos/Detractores * Tabla interactiva con todas las respuestas (DataTables) * Gráficos de barras de progreso con colores por categoría * Filtros por período (General, Año, Trimestre, Mes) * Botón de exportación a Excel
  • Script de exportación: legacy/exportar_nps.php
* Exporta resultados completos a formato Excel * Incluye resumen general con estadísticas * Detalle de todas las respuestas * Distribución por mes * Solo accesible para administradores
  • Integración en navbar: Agregado enlace "Resultados Encuesta NPS" en menú Control
* Visible en ambas secciones de Control del navbar * Icono de gráfico de barras (fa-bar-chart) * Accesible según permisos de usuario
  • Documentación completa de la implementación del mensaje de bienvenida en docs/implementacion_mensaje_bienvenida.md
  • Explicación detallada del flujo de funcionamiento
  • Ejemplos de implementación con diferentes librerías (SweetAlert, SweetAlert2, Toastr)
  • Sistema genérico de notificaciones reutilizable
  • Guía de depuración y solución de problemas
  • Archivo de configuración personalizada de CKEditor: legacy/js/ckeditor_custom_config.js
  • Sistema robusto de supresión de advertencias con 5 métodos diferentes
  • Compatible con todos los navegadores modernos
  • No afecta la funcionalidad de CKEditor
  • Documentación completa sobre supresión de advertencias en docs/suprimir_advertencias_ckeditor.md
  • Explicación de los 5 métodos de supresión implementados
  • Guía de verificación y solución de problemas
  • Comparación de versiones de CKEditor
  • Página de prueba actualizada: legacy/test_ckeditor_version.php
  • Verificación automática de la versión de CKEditor
  • Checklist interactivo de verificación
  • Consola de mensajes detallados
  • Editor de prueba funcional

Corregido

  • Solucionado error "Undefined index: alert" en legacy/consulta.php línea 77
  • Se agregó validación con isset() antes de acceder a $_GET['alert']
  • Se agregó verificación de null antes de usar la variable en condicionales
  • Solucionado error "Undefined index: alert" en legacy/informes.php línea 147
  • Se agregó validación con isset() antes de acceder a $_GET['alert']
  • Se envolvió el switch en un condicional if ($alert !== null) para evitar procesamiento cuando no hay alerta
  • Solucionado error "Variable $filtro no está definida" en legacy/menu.php línea 19
  • Se reorganizó el código para definir $filtro antes de validarla
  • Se agregó validación con isset() para $_GET['filtro']
  • Solucionado error "Undefined index: url_informe_ejecutivo" en legacy/informes.php línea 445
  • Se agregaron validaciones con isset() para los campos: url_informe_ejecutivo, url_informe, archivo_informe, fecha_fin y created_at
  • Se establecieron valores por defecto vacíos cuando los campos no existen
  • Se agregó manejo de valores nulos mostrando 'N/A' cuando corresponde
  • Corregido formato de fechas en columna 'Periodo' de legacy/informes.php
  • Los nombres de meses ahora se muestran en español (antes aparecían en inglés)
  • Reemplazado strftime() (deprecado) por función personalizada formatear_fecha_es()
  • Implementado array de traducción de meses en español
  • Formato: "Enero de 2025", "Febrero de 2025", etc.
  • Actualizado sistema de formateo de fechas en legacy/funciones.php
  • Reemplazado strftime() (deprecado en PHP 8.1) por implementación nativa
  • Creada función obtenerMesesEspanol() para traducción consistente
  • Actualizada función formatearFecha() para usar array de meses en español
  • Eliminada dependencia de setlocale() que causaba problemas en diferentes servidores
  • Formato consistente en todo el sistema: "01 de Enero de 2025"
  • Solucionado error "Undefined index: user_id" en legacy/classes/Login.php línea 131
  • Agregada validación isset() antes de acceder a $_SESSION['user_id'] en función doLogout()
  • El error ocurría al hacer logout cuando la sesión ya estaba vacía
  • Ahora se verifica que el índice existe antes de registrar la salida
  • Solucionado error "Undefined variable: conexion" en legacy/footer.php línea 39
  • El archivo config/conexion.php define $con (mysqli) y $bdd (PDO), no $conexion
  • Actualizado footer.php para usar $con en lugar de $conexion
  • Agregadas validaciones para verificar que la conexión existe antes de usarla
  • Actualizado resultados_nps.php para usar $con
  • Actualizado guardar_encuesta_nps.php para usar $con
  • Actualizado exportar_nps.php para usar $con
  • El error ocurría en páginas que no incluían previamente la conexión a la base de datos
  • Corregido error de JSON inválido en legacy/guardar_encuesta_nps.php
  • El archivo config/conexion.php usa die() que imprime texto antes del JSON
  • Cambiado a crear conexión manualmente usando config/db.php
  • Headers JSON se configuran ANTES de cualquier output
  • Manejo de errores de conexión devuelve JSON válido
  • Creado archivo de prueba legacy/test_nps_connection.php para verificar tabla
  • Creado archivo de prueba legacy/test_guardar_nps.php para simular guardado
  • Corregido problema de validación en encuesta NPS en legacy/footer.php
  • Variable selectedScore movida fuera del scope de didOpen para acceso global
  • Simplificada validación en preConfirm para usar directamente la variable
  • Eliminado código innecesario de dataset.selectedScore
  • Ahora la validación funciona correctamente al enviar la respuesta
  • Actualizado exportador NPS para generar archivos Excel en legacy/exportar_nps.php
  • Cambiado a formato XML SpreadsheetML (compatible con Excel)
  • Creadas 3 hojas: Resumen, Detalle Respuestas, Distribución Mensual
  • Aplicados estilos profesionales con colores por categoría (Promotor/Pasivo/Detractor)
  • Encabezados con fondo verde (#4CAF50) y texto blanco
  • Estilos definidos en XML para colores de fondo por categoría
  • Nombre de archivo: Resultados_NPS_YYYY-MM-DD_HH-MM-SS.xls
  • Solución sin dependencias externas, usando XML nativo de Excel

Seguridad

  • Configuración de CKEditor 4.22.1 (última versión estable gratuita)
  • Se mantiene la versión 4.22.1 como última versión gratuita estable
  • Implementado sistema de supresión de advertencias de versión
  • Creado archivo legacy/js/ckeditor_custom_config.js con múltiples métodos de supresión:
* Interceptación de console.warn para filtrar advertencias de versión * Remoción automática de elementos de advertencia del DOM * Configuración de versionCheck: false en CKEditor * Interceptación del sistema de notificaciones de CKEditor * Observador de mutaciones para remover advertencias dinámicas
  • Actualizado legacy/footer.php para cargar la configuración personalizada
  • Elimina completamente los mensajes: "This CKEditor version is not secure"

Mejorado

  • Robustez del código al manejar parámetros GET opcionales
  • Prevención de errores Notice y Warning en producción
  • Manejo de datos faltantes en consultas de base de datos
  • Documentación del sistema de notificaciones existente
  • Seguridad del editor WYSIWYG utilizado en formularios de informes

0.3.1 2025-04-30

Añadido

  • Documentación detallada de la tabla 'solicitudes' en docs/estructura_bd_solicitudes.md
  • Actualización de la documentación general de la base de datos para incluir la tabla 'solicitudes'
  • Modernización completa de la interfaz de gestión de requerimientos en legacy/menu_gestion_requerimientos_vigencia.php
  • Sistema avanzado de filtrado para requerimientos con múltiples criterios:
  • Filtrado por año, estado, rango de fechas y texto
  • Búsqueda en tiempo real con DataTables
  • Exportación de datos a Excel, PDF e impresión

Mejorado

  • Interfaz de usuario de la gestión de requerimientos con diseño moderno y responsivo
  • Experiencia de usuario con efectos visuales y transiciones suaves
  • Organización visual de la información con tarjetas y tablas interactivas
  • Documentación de la estructura de la base de datos con detalles específicos de la tabla 'solicitudes'
  • Funcionalidad de búsqueda y filtrado en la gestión de requerimientos

Detalles Técnicos

  • Se implementó un sistema de filtrado avanzado que permite buscar requerimientos por múltiples criterios
  • Se integró DataTables para proporcionar funcionalidades avanzadas de ordenamiento, paginación y búsqueda
  • Se diseñó una interfaz moderna con tarjetas, efectos hover y transiciones suaves
  • Se documentó en detalle la estructura de la tabla 'solicitudes', incluyendo campos, relaciones y uso en el sistema
  • Se actualizó la documentación general de la base de datos para incluir referencias a la tabla 'solicitudes'

0.3.0 2025-04-29

Añadido

  • Implementación de contenedor de páginas en legacy/space_usuarios.php con sistema de embebido mediante iframe
  • Estilos específicos para garantizar la correcta visualización del navbar en diferentes dispositivos
  • Scripts JavaScript optimizados para la gestión responsiva del menú en dispositivos móviles y escritorio

Corregido

  • Problema de visualización del navbar en páginas con contenido embebido mediante iframe
  • Conflicto de estilos entre el navbar y el contenido embebido que causaba problemas de visualización
  • Comportamiento inconsistente del menú desplegable en dispositivos móviles

Mejorado

  • Estructura de contenedor en legacy/space_usuarios.php con diseño responsive que se adapta a diferentes tamaños de pantalla
  • Sistema de ajuste automático de altura del iframe para aprovechar el espacio disponible en pantalla
  • Optimización del navbar para visualización en una sola línea en dispositivos de escritorio
  • Gestión mejorada del botón hamburguesa en dispositivos móviles para evitar comportamientos inesperados
  • Experiencia de usuario al navegar entre diferentes secciones del sistema mediante contenido embebido

Detalles Técnicos

  • Se implementó un sistema de contenedor mediante iframe en legacy/space_usuarios.php que permite cargar dinámicamente el contenido de formulario_usuarios.php manteniendo el navbar y footer consistentes
  • Se desarrollaron estilos CSS específicos para garantizar que el navbar se muestre correctamente en todas las resoluciones, con ajustes particulares para dispositivos móviles y escritorio
  • Se implementaron funciones JavaScript para optimizar la visualización del navbar: adjustIframeHeight(), ensureMobileMenuCollapsed(), optimizeNavbarForDesktop() y setupMobileNavbar()
  • Se corrigió el problema de visualización del navbar mediante selectores CSS altamente específicos y la aplicación de estilos inline para garantizar la consistencia visual
  • Se mejoró la experiencia de usuario al implementar un sistema que ajusta automáticamente la altura del iframe según el espacio disponible en pantalla

0.2.9 2025-04-26

Añadido

  • Documentación completa de la estructura de la base de datos en docs/estructura_bd_*.sql
  • Archivo de documentación general en docs/estructura_bd_documentacion.md
  • README específico para la documentación de la base de datos en docs/README_estructura_bd.md
  • Estructura SQL dividida en 5 partes para facilitar su comprensión:
  • Parte 1: Usuarios y Clientes
  • Parte 2: Procesos Jurídicos
  • Parte 3: Gestiones, Documentos y Tareas
  • Parte 4: Informes, Conceptos y Otras Entidades
  • Parte 5: Inteligencia Artificial y Vistas

Documentado

  • Relaciones entre tablas y estructura general de la base de datos
  • Grupos funcionales de tablas (12 grupos principales)
  • Consideraciones para ajustes futuros en la base de datos
  • Estructura común para los sistemas 'legacy' y 'legalhealthmanagement'

Mejorado

  • Organización de la documentación técnica del proyecto
  • Preparación para futuros ajustes en la base de datos
  • Comprensión de la estructura de datos para el desarrollo de nuevas funcionalidades

0.2.8 2025-04-26

Añadido

  • Archivo de configuración centralizada para CDNs en legacy/config/cdn_config.php
  • Actualización del archivo .htaccess en el directorio legacy para mejorar la compatibilidad
  • Comentarios detallados en los archivos refactorizados para mejor mantenimiento

Corregido

  • Errores 404 en recursos de CSS y JavaScript en legacy/consulta.php
  • Reemplazo de referencias locales a librerías por CDNs actualizados:
  • Font Awesome 4.7.0
  • AdminLTE 2.4.18
  • Ionicons 2.0.1
  • Chart.js 2.9.4
  • SweetAlert2 11.7.32

Mejorado

  • Refactorización de legacy/head.php con sistema centralizado de CDNs
  • Refactorización de legacy/footer.php con sistema centralizado de CDNs
  • Comentarios y documentación en el código para facilitar el mantenimiento
  • Configuración de .htaccess para asegurar la correcta ejecución de archivos PHP
  • Estructura del código con mejor organización y separación de responsabilidades

0.2.7 2025-04-26

Añadido

  • Propuesta de mejora para hooks globales de Git en docs/propuesta-mejora-hooks-globales.md
  • Implementación de ejemplo de hook global mejorado en hooks/pre-push-mejorado
  • Archivo de configuración .githooksrc para el proyecto GPA
  • Script de instalación para hooks globales mejorados en hooks/install-global-hooks.sh

Mejorado

  • Sistema de hooks globales con detección automática de tipo de proyecto
  • Configurabilidad de hooks mediante archivo .githooksrc
  • Adaptabilidad a diferentes tipos de proyectos (PHP, Python, JavaScript)
  • Distinción entre repositorios públicos y privados
  • Interacción inteligente con hooks locales

0.2.6 2025-04-26

Añadido

  • Documentación detallada sobre hooks globales de Git en docs/hooks-globales.md
  • Análisis de la interacción entre hooks globales y hooks específicos del proyecto
  • Información sobre la configuración actual de hooks globales en el sistema
  • Recomendaciones para el uso de hooks en diferentes tipos de proyectos

Mejorado

  • Documentación sobre cómo los hooks del proyecto coexisten con hooks globales
  • Explicación de posibles conflictos y soluciones implementadas
  • Clarificación sobre cuándo usar la opción --no-verify en diferentes contextos

0.2.5 2025-04-25

Añadido

  • Documentación detallada sobre el hook de pre-push en docs/git-hooks-guide.md
  • Scripts para instalar y configurar hooks de Git:
  • hooks/pre-push: Implementación del hook de pre-push
  • hooks/install-hooks.bat: Script de instalación para Windows
  • hooks/install-hooks.sh: Script de instalación para macOS/Linux
  • Guía paso a paso para implementar hooks desde cero en diferentes sistemas operativos
  • Documentación sobre solución de problemas comunes con hooks de Git

Mejorado

  • Flujo de trabajo de desarrollo con validaciones automatizadas
  • Documentación sobre las validaciones realizadas por el hook de pre-push
  • Instrucciones para omitir las validaciones cuando sea necesario

0.2.4 2025-04-25

Añadido

  • Scripts para automatizar el proceso de commit y push:
  • commit-simple.ps1 para Windows (PowerShell)
  • commit-simple.sh para macOS/Linux (Bash)
  • Documentación detallada en README.md sobre el uso de los scripts de automatización
  • Sección específica en README.md con ejemplos de uso para los scripts

Mejorado

  • Flujo de trabajo de desarrollo con scripts que simplifican las operaciones de Git
  • Documentación sobre el uso de la opción --no-verify en comandos Git

0.2.3 2025-04-25

Añadido

  • Integración de la biblioteca Toastify JS para mostrar notificaciones elegantes en lugar de alertas JavaScript
  • Carga global de recursos de Toastify en los archivos base del sitio para todas las páginas

Corregido

  • Problema de visualización del navbar en la página de changelog que no se mostraba correctamente
  • Conflicto entre los estilos del changelog y los estilos del navbar que causaba problemas de visualización
  • Problema con la Content Security Policy (CSP) que afectaba la carga de recursos externos

Mejorado

  • Simplificación del código JavaScript para la visualización del contenido del changelog
  • Eliminación del botón "Forzar visualización del contenido" que ya no es necesario
  • Optimización de los selectores CSS para evitar conflictos entre elementos
  • Consistencia visual del navbar en todas las páginas del sitio
  • Experiencia de usuario al reemplazar alertas JavaScript por notificaciones toast no intrusivas

Detalles Técnicos

  • Se implementó una solución robusta para garantizar que el navbar se muestre correctamente en la página de changelog mediante selectores CSS altamente específicos
  • Se modificó la forma en que se cargan los recursos de Toastify para cumplir con la política de seguridad del sitio
  • Se optimizó el código JavaScript para que solo aplique estilos a los elementos del changelog y no a todos los elementos de la página
  • Se simplificaron los estilos CSS para mayor mantenibilidad y rendimiento
  • Se mejoró la experiencia de usuario al eliminar elementos innecesarios y hacer que la interfaz sea más limpia y profesional

0.2.2 2025-04-25

Añadido

  • Archivo .user.ini en el directorio legacy para configurar PHP a nivel de directorio
  • Configuración específica para el manejo de errores en el directorio legacy

Corregido

  • Problema crítico con legacy/login.php que se descargaba en lugar de ejecutarse en el servidor
  • Configuración del handler de PHP en .htaccess para asegurar la correcta ejecución de archivos PHP
  • Redirección adecuada en legacy/index.php hacia menu_slider.php

Mejorado

  • Configuración de .htaccess en el directorio legacy para garantizar la ejecución correcta de PHP
  • Implementación de redirección HTTPS en el directorio legacy
  • Protección del archivo .htaccess contra acceso directo
  • Configuración de permisos para archivos PHP críticos

Detalles Técnicos

  • Se solucionó el problema donde legacy/login.php se descargaba como archivo en lugar de ejecutarse. Este problema ocurría porque el servidor no estaba configurado correctamente para procesar archivos PHP en el directorio legacy.
  • Se implementó una configuración específica en .htaccess para asegurar que los archivos PHP se ejecuten correctamente.
  • Se añadió un archivo .user.ini para configurar PHP a nivel de directorio, desactivando la visualización de errores en producción.
  • Se verificó la correcta configuración de los archivos .htaccess en la raíz del proyecto y en el directorio legalhealthmanagement para garantizar la compatibilidad y seguridad.

0.2.0 2025-04-24

Añadido

  • Documentación de la estructura de navegación del sistema legacy
  • Documentación de la estructura actual del sistema legacy
  • Documentación de la estructura MVC propuesta
  • Plan de implementación detallado para la migración
  • Documentación de problemas identificados y soluciones
  • Creación de directorios para la nueva estructura MVC en legacy
  • Implementación de archivo de configuración centralizado
  • Corrección del problema de constantes redefinidas en db.php
  • Mejora de la gestión de conexiones a la base de datos
  • Implementación de la clase Database para gestión de conexiones
  • Creación de clases base para modelos y controladores
  • Implementación de sistema de plantillas para vistas
  • Creación de estructura MVC para legalhealthmanagement
  • Desarrollo de plantillas base (layouts) para legalhealthmanagement
  • Implementación de vista de dashboard para legalhealthmanagement

Mejorado

  • Actualización del plan de implementación con tareas más detalladas
  • Estructura del proyecto con separación clara entre legacy y nueva versión
  • Documentación técnica con guías metodológicas para la migración

0.2.1 2025-04-23

Añadido

  • Archivos de diagnóstico para solucionar problemas de configuración del servidor
  • Archivo .htaccess.simple con configuración minimalista para mayor compatibilidad
  • Archivo .htaccess.root específico para el directorio raíz
  • Archivo index.html alternativo con redirección y solución de problemas
  • Archivo web.config para servidores Windows (IIS)
  • Documentación detallada para administradores de servidor (INSTRUCCIONES_SERVIDOR.md)
  • Archivos de verificación de PHP (verificar-php.php, diagnostico.php)

Corregido

  • Problema de procesamiento de archivos PHP en el servidor (archivos se descargaban en lugar de ejecutarse)
  • Error de constante obsoleta FILTER_SANITIZE_STRING en app_access.php
  • Conflicto entre index.html e index.php que causaba bucles de redirección
  • Problema de URLs no limpias (mostraba index.php en la URL)
  • Error "Cannot modify header information - headers already sent" en app_access.php
  • Configuración de .htaccess para mayor compatibilidad con diferentes servidores

Mejorado

  • Simplificación de la configuración de .htaccess para mayor compatibilidad
  • Implementación de URLs limpias con redirecciones 301
  • Actualización de la configuración de DirectoryIndex para priorizar index.php
  • Actualización de la documentación con instrucciones de solución de problemas
  • Compatibilidad con PHP 8.1+ reemplazando funciones obsoletas

0.1.5 2025-04-20

Añadido

  • Video de fondo en la sección hero principal, tomado del sitio oficial de González Páez Abogados
  • Visor interactivo para el CHANGELOG.md con diseño integrado al sitio
  • Carpeta de organización para archivos antiguos o en desuso

Mejorado

  • Diseño de la sección de contacto, eliminando el formulario y mejorando la presentación
  • Estructura del footer, eliminando la sección de suscripción al boletín
  • Corrección del navbar en modo oscuro para la nueva versión
  • Actualización de la documentación en README.md

Corregido

  • Error de Content Security Policy (CSP) que impedía cargar los iconos de Font Awesome desde CDN
  • Error de X-Frame-Options en meta tag (movido a cabeceras HTTP)
  • Posición de la línea de tiempo para que no atraviese el título y subtítulo

0.1.4 2025-04-15

Añadido

  • Archivo de prueba test-php.php para verificar la configuración de PHP
  • Solución para el error 500 en entornos Windows con XAMPP
  • Configuración optimizada de .htaccess para compatibilidad con Windows

Mejorado

  • Scripts batch para Windows con soporte para variables de entorno
  • Configuración de PHP para mostrar errores en entorno de desarrollo
  • Compatibilidad con Apache en Windows

Corregido

  • Error 500 al acceder al sitio en entorno local con XAMPP
  • Problemas de permisos en archivos .htaccess
  • Configuración de cabeceras HTTP para mayor compatibilidad

0.1.3 2025-04-15

Añadido

  • Soporte completo para Windows 11 con XAMPP
  • Scripts de utilidad para Windows:
  • start-server.bat para iniciar servidor PHP local
  • check-php.bat para verificar configuración de PHP
  • run-tests.bat para ejecutar pruebas y verificaciones
  • Actualización de la configuración de VS Code para Windows 11
  • Documentación detallada para la instalación y configuración en Windows 11

Mejorado

  • Estructura de la documentación con instrucciones específicas para cada sistema operativo
  • Configuración de VS Code para detectar PHP en la ruta de XAMPP para Windows
  • Compatibilidad multiplataforma de los scripts de desarrollo

0.1.2 2025-04-10

Añadido

  • Documentación detallada en README.md sobre la configuración de PHP y hooks de Git
  • Documentación completa del flujo de trabajo de desarrollo
  • Actualización del CHANGELOG.md con información detallada de todos los cambios

Mejorado

  • Estructura de la documentación para mayor claridad
  • Instrucciones detalladas para la instalación y configuración

0.1.1 2025-04-05

Añadido

  • Configuración de entorno de desarrollo PHP 8.x con XAMPP
  • Integración con Composer para gestión de dependencias
  • Configuración de herramientas de calidad de código:
  • PHPUnit para pruebas unitarias
  • PHP CS Fixer para formateo de código según PSR-12
  • PHPStan para análisis estático
  • Hook de pre-push personalizado con las siguientes características:
  • Detección automática de proyectos PHP
  • Validaciones específicas para PHP
  • Compatibilidad con hooks globales
  • Scripts de utilidad para desarrollo (macOS/Linux):
  • start-server.sh para iniciar servidor PHP local
  • check-php.sh para verificar configuración de PHP
  • run-tests.sh para ejecutar pruebas y verificaciones
  • Configuración de VS Code para desarrollo PHP:
  • settings.json para reconocer PHP en XAMPP
  • launch.json para depuración
  • tasks.json para tareas automatizadas
  • Estructura de directorios mejorada siguiendo estándares PSR-4
  • Clase de ejemplo Application en src/Core con pruebas unitarias
  • Actualización de documentación con información sobre el entorno de desarrollo

Modificado

  • Conversión de archivos HTML a PHP para mayor seguridad
  • Mejora en la estructura de archivos PHP con inclusiones
  • Implementación de funciones de seguridad en PHP
  • Actualización de la configuración de seguridad en .htaccess

0.1.0 2025-04-01

Añadido

  • Creación inicial del proyecto
  • Estructura básica de directorios
  • README.md con documentación del proyecto
  • CHANGELOG.md para seguimiento de cambios
  • Configuración inicial de Bootstrap 5
  • Diseño inicial de la landing page
  • Secciones para acceso a aplicaciones legacy y nueva versión
  • Línea de tiempo para visualización del progreso de migración

Pendiente

  • Integración con la aplicación legacy
  • Desarrollo completo de la nueva versión con Bootstrap 5 (Minia)
  • Implementación de autenticación unificada
  • Migración de datos entre versiones
  • Pruebas de rendimiento y usabilidad
  • Documentación técnica detallada