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

97 lines
3.1 KiB
Markdown
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.