FASE 1: Análisis y diagnóstico - Problema hardcodeado identificado

- Identificado código crítico en ajax/login.php:20 con empresaId = 15 hardcodeado
- Mapeados 22 archivos totales con empresaId = 15
- Analizado flujo de login actual que forza empresaId = 15
- Documentado problema principal en md/plan-accion-multi-empresa.md
- Lista completa: 1 login, 13 crons, 1 ajax, 7 archivos adicionales

Próximo paso: Modificar login para obtener empresaId dinámicamente del usuario
This commit is contained in:
2026-01-07 18:27:33 -06:00
parent e74c625d68
commit 1b723f0643
13 changed files with 527 additions and 1232 deletions

View File

@@ -57,6 +57,8 @@ class DatabaseManager {
} catch (Exception $e) {
// Crear una conexión falsa para desarrollo sin BD
// die("CRITICAL DB ERROR: " . $e->getMessage()); // Debug removed
$logFile = __DIR__ . '/../logs/php_errors.log';
ini_set('error_log', $logFile);
error_log("WARNING: No hay conexión a base de datos. Usando modo desarrollo. " . $e->getMessage());
$this->masterConnection = new MockDatabase();
}
@@ -78,6 +80,8 @@ class DatabaseManager {
if (!SystemConfig::validateDatabaseExists($config['database'])) {
// Intentar fallback a base de datos master
$masterConfig = SystemConfig::getMasterDatabaseConfig();
$logFile = __DIR__ . '/../logs/php_errors.log';
ini_set('error_log', $logFile);
error_log("Base de datos {$config['database']} no encontrada, usando fallback a master");
$config = array_merge($config, [
'database' => $masterConfig['database'],
@@ -175,8 +179,6 @@ class DatabaseManager {
*/
class ModernDB {
private $connection;
private $isMaster = false;
private $empresaId = null;
/**
* Constructor
@@ -188,7 +190,6 @@ class ModernDB {
if ($useMaster) {
$this->connection = $dbManager->getMasterConnection();
$this->isMaster = true;
} else {
if ($empresaId === null) {
$empresaId = $dbManager->getEmpresaId();
@@ -199,7 +200,6 @@ class ModernDB {
}
$this->connection = $dbManager->getEmpresaConnection($empresaId);
$this->empresaId = $empresaId;
}
}
@@ -212,6 +212,8 @@ class ModernDB {
$result = $this->connection->query($sql);
if ($result === false) {
$logFile = __DIR__ . '/../logs/php_errors.log';
ini_set('error_log', $logFile);
error_log("Error en consulta: " . $this->connection->error);
error_log("SQL: " . $sql);
}