- 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.
56 lines
2.1 KiB
PHP
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";
|