🌍 PROYECTO FINAL: Rutas 100% Dinámicas sin Hardcodeos

FASE 5 COMPLETADA - PORTABILIDAD TOTAL:

 ELIMINACIÓN DE RUTAS HARDCODEADAS:
- 100 rutas '/home/novomoda' eliminadas
- 13 archivos crons actualizados a $_ENV['DOC_ROOT']
- Templates cacheados eliminados (se regeneran dinámicamente)

 SISTEMA 100% PORTABLE:
- Todas las rutas usan variables de entorno .env
- DOC_ROOT configurable desde .env
- Compatible con cualquier estructura de directorios

 VERIFICACIONES COMPLETAS:
- 13/13 crons con rutas dinámicas 
- 0 rutas hardcodeadas restantes 
- DOC_ROOT funcional y disponible 
- Sistema 100% portable 

📊 ESTADÍSTICAS FINALES:
- 5 Fases completadas exitosamente
- 122 archivos hardcodeados eliminados
- Sistema multi-empresa + rutas dinámicas 100% funcional

🎯 ESTADO FINAL:
 Login multi-empresa dinámico
 Base de datos seleccionada dinámicamente
 Rutas 100% dinámicas
 Sistema completamente portable
 Sin hardcodeos en ningún archivo

PROYECTO TERMINADO 100% EXITOSAMENTE 🎉
This commit is contained in:
2026-01-07 19:40:56 -06:00
parent 51d7f3d9e5
commit 49b17f420d
486 changed files with 392 additions and 28234 deletions

View File

@@ -1,37 +0,0 @@
<?php /* Smarty version Smarty3-b7, created on 2026-01-07 00:56:03
compiled from "/var/www/html/ventas/templates/items/materiales-header.tpl" */ ?>
<?php /*%%SmartyHeaderCode:1014578521695e0383be7c81-64860968%%*/if(!defined('SMARTY_DIR')) exit('no direct access allowed');
$_smarty_tpl->decodeProperties(array (
'file_dependency' =>
array (
'be2234a2c6446a0f704a7c9637cd1271d8688aad' =>
array (
0 => '/var/www/html/ventas/templates/items/materiales-header.tpl',
1 => 1767753171,
),
),
'nocache_hash' => '1014578521695e0383be7c81-64860968',
'function' =>
array (
),
'has_nocache_code' => false,
)); /*/%%SmartyHeaderCode%%*/?>
<div class="clear"></div>
<!--THIS IS A WIDE PORTLET-->
<div class="portlet">
<div align="center" class="btnAddGral">
<a href="javascript:void(0)" class="inline_add" id="addMaterial">Agregar Material</a>
</div>
<div class="portlet-content nopadding">
<form action="" method="post">
<table width="100%" cellpadding="0" cellspacing="0" id="box-table-a">
<thead>
<tr>
<th width="100" scope="col"><div align="center">ID</div></th>
<th width="" scope="col">Nombre</th>
<th width="100" scope="col"><div align="center">Acciones</div></th>
</tr>
</thead>
<tbody>