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:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -35,6 +35,11 @@ function loadEnv($path = '.env') {
|
||||
try {
|
||||
loadEnv(__DIR__ . '/../.env');
|
||||
} catch (Exception $e) {
|
||||
// Configurar log antes de morir
|
||||
$logFile = __DIR__ . '/../logs/php_errors.log';
|
||||
ini_set('error_log', $logFile);
|
||||
ini_set('log_errors', 1);
|
||||
error_log("Error cargando configuración: " . $e->getMessage());
|
||||
die("Error cargando configuración: " . $e->getMessage());
|
||||
}
|
||||
|
||||
@@ -123,6 +128,8 @@ class SystemConfig {
|
||||
$mysqli = new mysqli($config['host'], $config['user'], $config['password'], "", $config['port']);
|
||||
|
||||
if ($mysqli->connect_error) {
|
||||
$logFile = __DIR__ . '/../logs/php_errors.log';
|
||||
ini_set('error_log', $logFile);
|
||||
error_log("Error conexión validación: " . $mysqli->connect_error);
|
||||
return false;
|
||||
}
|
||||
@@ -135,6 +142,8 @@ class SystemConfig {
|
||||
return $exists;
|
||||
|
||||
} catch (Exception $e) {
|
||||
$logFile = __DIR__ . '/../logs/php_errors.log';
|
||||
ini_set('error_log', $logFile);
|
||||
error_log("Error validando BD $database: " . $e->getMessage());
|
||||
return false;
|
||||
}
|
||||
@@ -175,6 +184,8 @@ class SystemConfig {
|
||||
return null;
|
||||
|
||||
} catch (Exception $e) {
|
||||
$logFile = __DIR__ . '/../logs/php_errors.log';
|
||||
ini_set('error_log', $logFile);
|
||||
error_log("Error obteniendo empresaId para usuario $userId: " . $e->getMessage());
|
||||
return null;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user