diff options
author | Renato Botelho <renato@netgate.com> | 2016-03-02 08:35:03 -0300 |
---|---|---|
committer | Renato Botelho <renato@netgate.com> | 2016-03-02 08:35:03 -0300 |
commit | fe4fb82f3367aeb3c61c3fd5120443d58c739331 (patch) | |
tree | bf88323bff53f49cf1fcf51ee489830de95c3607 | |
parent | 5d314c0a2c28064fd41b93a6c495982c0a13ee6b (diff) | |
parent | c48401e7f5fb02123cdaf58035c08534b73d6597 (diff) | |
download | pfsense-fe4fb82f3367aeb3c61c3fd5120443d58c739331.zip pfsense-fe4fb82f3367aeb3c61c3fd5120443d58c739331.tar.gz |
Merge pull request #2698 from phil-davis/patch-3
-rw-r--r-- | src/usr/local/www/status_dhcp_leases.php | 32 |
1 files changed, 25 insertions, 7 deletions
diff --git a/src/usr/local/www/status_dhcp_leases.php b/src/usr/local/www/status_dhcp_leases.php index 4d0a5c0..48d7b33 100644 --- a/src/usr/local/www/status_dhcp_leases.php +++ b/src/usr/local/www/status_dhcp_leases.php @@ -406,21 +406,36 @@ foreach ($leases as $data): } if ($data['act'] != $static_string) { - $dlsc=0; foreach ($config['dhcpd'] as $dhcpif => $dhcpifconf) { if (!is_array($dhcpifconf['range'])) { continue; } if (is_inrange_v4($data['ip'], $dhcpifconf['range']['from'], $dhcpifconf['range']['to'])) { $data['if'] = $dhcpif; - $dhcp_leases_subnet_counter[$dlsc]['dhcpif'] = $dhcpif; - $dhcp_leases_subnet_counter[$dlsc]['from'] = $dhcpifconf['range']['from']; - $dhcp_leases_subnet_counter[$dlsc]['to'] = $dhcpifconf['range']['to']; - $dhcp_leases_subnet_counter[$dlsc]['count'] = $dhcp_leases_subnet_counter[$dlsc]['count']+1; + $dlskey = $dhcpif . "-" . $dhcpifconf['range']['from']; + $dhcp_leases_subnet_counter[$dlskey]['dhcpif'] = $dhcpif; + $dhcp_leases_subnet_counter[$dlskey]['from'] = $dhcpifconf['range']['from']; + $dhcp_leases_subnet_counter[$dlskey]['to'] = $dhcpifconf['range']['to']; + $dhcp_leases_subnet_counter[$dlskey]['count'] += 1; break; } - $dlsc++; + // Check if the IP is in the range of any DHCP pools + if (is_array($dhcpifconf['pool'])) { + foreach ($dhcpifconf['pool'] as $dhcppool) { + if (is_array($dhcppool['range'])) { + if (is_inrange_v4($data['ip'], $dhcppool['range']['from'], $dhcppool['range']['to'])) { + $data['if'] = $dhcpif; + $dlskey = $dhcpif . "-" . $dhcppool['range']['from']; + $dhcp_leases_subnet_counter[$dlskey]['dhcpif'] = $dhcpif; + $dhcp_leases_subnet_counter[$dlskey]['from'] = $dhcppool['range']['from']; + $dhcp_leases_subnet_counter[$dlskey]['to'] = $dhcppool['range']['to']; + $dhcp_leases_subnet_counter[$dlskey]['count'] += 1; + break 2; + } + } + } + } } } @@ -483,7 +498,10 @@ foreach ($leases as $data): </tr> </thead> <tbody> -<?php foreach ($dhcp_leases_subnet_counter as $listcounters):?> +<?php + ksort($dhcp_leases_subnet_counter); + foreach ($dhcp_leases_subnet_counter as $listcounters): +?> <tr> <td><?=$iflist[$listcounters['dhcpif']]?></td> <td><?=$listcounters['from']?></td> |