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