CAMBIOS REALIZADOS: ✅ ajax/login.php - Eliminado hardcodeo empresaId = 15 ✅ classes/empresa.class.php - Método DoLogin() ahora obtiene empresaId dinámico ✅ classes/system-config.class.php - Lógica de BD dinámica (1=ventas_nm, >1=ventas_nm{id}) PROBLEMAS DETECTADOS: ⚠️ GetSingle() devuelve escalar no array ⚠️ empresaId obtenido = 0 (incorrecto) ⚠️ Warnings PHP en acceso a arrays nulos ⚠️ Compatibilidad sistema viejo vs nuevo ARCHIVOS MODIFICADOS: - ajax/login.php - classes/empresa.class.php - classes/system-config.class.php - md/plan-accion-multi-empresa.md - test_login_dinamico.php SIGUIENTE PASO: Revisar GetSingle() y compatibilidad
60 lines
1.8 KiB
PHP
60 lines
1.8 KiB
PHP
<?php
|
|
/**
|
|
* Test de login dinámico para verificar funcionamiento
|
|
* Este script permite probar el login con diferentes empresas
|
|
*/
|
|
|
|
require_once 'init.php';
|
|
require_once 'libraries.php';
|
|
|
|
// Datos de prueba - ajustar según necesidad
|
|
$testUsers = [
|
|
['email' => 'test@empresa1.com', 'password' => '1234', 'expectedEmpresaId' => 1],
|
|
['email' => 'test@empresa2.com', 'password' => '1234', 'expectedEmpresaId' => 2],
|
|
// Agregar más casos de prueba según sea necesario
|
|
];
|
|
|
|
echo "=== TEST DE LOGIN DINÁMICO ===\n\n";
|
|
|
|
foreach ($testUsers as $test) {
|
|
echo "Test con email: {$test['email']}\n";
|
|
|
|
// Crear instancia de empresa
|
|
$empresa = new Empresa();
|
|
$empresa->setEmail($test['email']);
|
|
$empresa->setPassword($test['password']);
|
|
|
|
// Intentar login
|
|
if ($empresa->DoLogin()) {
|
|
$actualEmpresaId = $_SESSION['empresaId'];
|
|
$loginKey = $_SESSION['loginKey'];
|
|
|
|
echo "✅ Login exitoso\n";
|
|
echo " empresaId obtenido: $actualEmpresaId\n";
|
|
echo " empresaId esperado: {$test['expectedEmpresaId']}\n";
|
|
echo " loginKey: $loginKey\n";
|
|
|
|
// Verificar base de datos correspondiente
|
|
$config = SystemConfig::getEmpresaDatabaseConfig($actualEmpresaId);
|
|
echo " Base de datos: {$config['database']}\n";
|
|
|
|
if ($actualEmpresaId == $test['expectedEmpresaId']) {
|
|
echo "✅ CORRECTO: empresaId coincide\n";
|
|
} else {
|
|
echo "❌ ERROR: empresaId no coincide\n";
|
|
}
|
|
|
|
// Limpiar sesión para siguiente test
|
|
unset($_SESSION['loginKey']);
|
|
unset($_SESSION['empresaId']);
|
|
|
|
} else {
|
|
echo "❌ Login fallido\n";
|
|
echo " Revisar credenciales o disponibilidad del usuario\n";
|
|
}
|
|
|
|
echo str_repeat("-", 50) . "\n";
|
|
}
|
|
|
|
echo "=== FIN DEL TEST ===\n";
|
|
?>
|