Files
ventas_php/php8-migration/archivos-criticos.md
nickpons666 aaa77e870e Complete PHP 8.3.6 migration with modern architecture
- Added secure .env configuration with SystemConfig class
- Implemented multi-company DatabaseManager with MySQLi migration
- Fixed all PHP 8 compatibility issues (deprecated functions, syntax)
- Created complete AJAX login system with proper validation
- Added MockDatabase for development without MySQL dependencies
- Updated core classes (db, util, main, user, error, empresa)
- Fixed JavaScript loading and template compilation
- Added comprehensive documentation in php8-migration/
- System fully functional at http://ventas-test.local:82/login

Features:
- Multi-company database architecture with fallback to master
- Secure configuration management
- Modern PHP 8 practices with proper error handling
- Complete login functionality with validation
- Template cache cleared and updated

All critical issues resolved and system ready for production.
2026-01-06 22:52:04 -06:00

3.1 KiB
Executable File

Lista de Archivos Críticos para Migración PHP 8 y Configuración .env

Nivel CRÍTICO - Modificación Obligatoria

1. Archivos de Configuración

  • config.php - ELIMINAR y reemplazar por configuración .env
  • .env - CREAR con todas las credenciales seguras
  • init.php - Actualizar para cargar configuración .env

2. Base de Datos y Conexiones

  • classes/db.class.php - REESCRIBIR completamente con mysqli y multi-empresa
  • classes/util.class.php - Actualizar DBSelect() y configuración
  • libraries.php - Actualizar includes de configuración

3. Autenticación y Sesiones

  • index.php - Actualizar lógica de sesión y empresaId
  • login.php - Implementar determinación de empresaId desde usuario
  • Cualquier archivo que maneje $_SESSION['empresaId'] (100+ archivos)

Nivel ALTO - Funciones Obsoletas

Funciones Eliminadas en PHP 8

  • classes/util.class.php:575 - ereg_replace()
  • ajax/cuentas-pagar.php:18 - split()
  • ajax/evaluar-pedidos.php:160,360 - split()
  • classes/comprobante.class.php:350 - split()
  • pdf/domdf.php:227 - split()

each() function (7 archivos)

  • pdf/include/style.cls.php:790
  • pdf/fpdf.php:1565
  • pdf/fpdi.php:435
  • classes/class.phpmailer.php:1645
  • classes/class.smtp.php:388,417
  • classes/comprobante.class.php:1465

create_function() (4 archivos)

  • pdf/include/frame_reflower.cls.php:233
  • pdf/include/text_frame_reflower.cls.php:380,388,416

Nivel MEDIO - Sintaxis Incompatible

Llaves para acceso a strings/arrays (100+ archivos)

Principalmente en:

  • tcpdf/barcodes.php - 50+ ocurrencias
  • classes/json.class.php - 20+ ocurrencias
  • Múltiples archivos en tcpdf/, pdf/, libs/

list() assignments (98+ ocurrencias)

  • pdf/include/gd_adapter.cls.php - Múltiples líneas
  • pdf/include/functions.inc.php:725
  • Múltiples archivos PDF

Archivos por Directorio (Priorizados)

/ (Raíz)

  • index.php - Entrada principal
  • config.php - Eliminar
  • libraries.php - Actualizar
  • init.php - Actualizar

/classes/

  • db.class.php - Reescribir completamente
  • util.class.php - Actualizar DBSelect()
  • json.class.php - Sintaxis llaves
  • class.phpmailer.php - each() function
  • comprobante.class.php - split(), each()
  • class.smtp.php - each() function

/ajax/

  • cuentas-pagar.php - split() function
  • evaluar-pedidos.php - split() function
  • Todos los archivos con $_SESSION['empresaId'] (50+)

/modules/

  • Todos los archivos con $_SESSION['empresaId'] (100+)
  • Archivos de facturación, inventario, usuarios, etc.

/pdf/

  • fpdf.php - each() function
  • domdf.php - split() function
  • fpdi.php - each() function
  • Todos los archivos con sintaxis de llaves

/tcpdf/

  • barcodes.php - 50+ sintaxis de llaves
  • Múltiples archivos con sintaxis incompatible

Total Estimado

  • Archivos críticos: 10-15
  • Archivos con funciones obsoletas: 20+
  • Archivos con sintaxis incompatible: 100+
  • Archivos con $_SESSION['empresaId']: 100+

Nota Importante

Esta lista representa el mínimo de archivos que deben ser modificados. Durante el proceso de migración pueden descubrirse archivos adicionales que requieran cambios.