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