siip-available-ips/test_debug.php
DANYDHSV 6a0e15447c fix(v1.5.0): Correcciones críticas en configuración avanzada de IPs
- Corregida inicialización de editorData que impedía cargar rangos personalizados
- Corregidos errores de escape JS que rompían botones de la interfaz
- Corregida clasificación frontend que ignoraba rangos específicos por segmento
- Agregado indicador visual de modo y logs de depuración
- Eliminada columna redundante en tabla de resultados

Resuelve problemas donde los rangos admin personalizados eran ignorados.
2025-11-27 14:40:58 -06:00

56 lines
2.1 KiB
PHP

<?php
require_once __DIR__ . '/src/AdminRangeHelper.php';
use SiipAvailableIps\AdminRangeHelper;
// Datos simulados del config.json
$config = [
'useCustomAdminRanges' => true,
'customAdminRangesJson' => '{"segmentos":[{"segmento":"18","administrativas_iniciales":[{"inicio":1,"hasta":50}],"administrativas_finales":[{"inicio":253,"hasta":255}]},{"segmento":"15","administrativas_iniciales":[{"inicio":2,"hasta":30}],"administrativas_finales":[{"inicio":253,"hasta":255}]},{"segmento":"13","administrativas_iniciales":[{"inicio":2,"hasta":60}],"administrativas_finales":[{"inicio":253,"hasta":255}]}]}'
];
$ip = "172.16.13.52";
echo "Probando IP: $ip\n";
echo "Config JSON: " . $config['customAdminRangesJson'] . "\n";
$parts = explode('.', $ip);
$segment = $parts[2];
echo "Segmento extraído: $segment\n";
$limits = AdminRangeHelper::getSegmentLimits($segment, $config['customAdminRangesJson']);
if ($limits) {
echo "Límites encontrados para segmento $segment:\n";
print_r($limits);
} else {
echo "NO se encontraron límites para segmento $segment\n";
}
$isAdmin = AdminRangeHelper::isAdminIpCustom($ip, $config['customAdminRangesJson']);
echo "Es Admin IP (Custom)? " . ($isAdmin ? "SI" : "NO") . "\n";
// Prueba de la lógica completa de IpSearchService (simulada)
function isAdminIp($ip, $config) {
if (!empty($config['useCustomAdminRanges']) && !empty($config['customAdminRangesJson'])) {
$parts = explode('.', $ip);
if (count($parts) === 4) {
$segment = $parts[2];
$limits = AdminRangeHelper::getSegmentLimits($segment, $config['customAdminRangesJson']);
if ($limits !== null) {
echo "[DEBUG] Usando rangos custom para segmento $segment\n";
return AdminRangeHelper::isAdminIpCustom($ip, $config['customAdminRangesJson']);
} else {
echo "[DEBUG] Fallback a rangos globales para segmento $segment\n";
}
}
}
return false; // Simplificado
}
$result = isAdminIp($ip, $config);
echo "Resultado final isAdminIp: " . ($result ? "TRUE" : "FALSE") . "\n";