From 576d69f8a320b5e631c5bac44fcea908bf7f35f5 Mon Sep 17 00:00:00 2001 From: vnxme <46669194+vnxme@users.noreply.github.com> Date: Fri, 28 May 2021 15:23:48 +0300 Subject: [PATCH] DHCPv4 leases status: Fix sorting (#4524) --- src/www/status_dhcp_leases.php | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/www/status_dhcp_leases.php b/src/www/status_dhcp_leases.php index 6622a3b4b..fc9b4446c 100644 --- a/src/www/status_dhcp_leases.php +++ b/src/www/status_dhcp_leases.php @@ -244,13 +244,18 @@ if ($_SERVER['REQUEST_METHOD'] === 'GET') { } } - $order = ( $_GET['order'] ) ? $_GET['order'] : 'ip'; + if (isset($_GET['order']) && + in_array($_GET['order'], ['int', 'ip', 'mac', 'hostname', 'descr', 'start', 'end', 'online', 'act'])) { + $order = $_GET['order']; + } else { + $order = 'ip'; + } usort($leases, function ($a, $b) use ($order) { - $cmp = strnatcasecmp($a[$order], $b[$order]); + $cmp = ($order === 'ip') ? 0 : strnatcasecmp($a[$order], $b[$order]); if ($cmp === 0) { - $cmp = strnatcasecmp($a['ip'], $b['ip']); + $cmp = ipcmp($a['ip'], $b['ip']); } return $cmp; } @@ -372,7 +377,7 @@ legacy_html_escape_form_data($leases); - +