dhcp, leases overview. merge static mac addresses with leases for https://github.com/opnsense/core/issues/2946

This commit is contained in:
Ad Schellevis 2019-04-25 11:08:05 +02:00
parent 3992b4e556
commit 839ec3567a

View File

@ -211,6 +211,12 @@ if ($_SERVER['REQUEST_METHOD'] === 'GET') {
asort($pools);
}
$macs = [];
foreach ($leases as $i => $this_lease) {
if (!empty($this_lease['mac'])) {
$macs[$this_lease['mac']] = $i;
}
}
foreach ($interfaces as $ifname => $ifarr) {
if (isset($config['dhcpd'][$ifname]['staticmap'])) {
foreach($config['dhcpd'][$ifname]['staticmap'] as $static) {
@ -224,7 +230,16 @@ if ($_SERVER['REQUEST_METHOD'] === 'GET') {
$slease['descr'] = $static['descr'];
$slease['act'] = "static";
$slease['online'] = in_array(strtolower($slease['mac']), $arpdata_mac) ? 'online' : 'offline';
$leases[] = $slease;
if (isset($macs[$slease['mac']])) {
// update lease with static data
foreach ($slease as $key => $value) {
if (!empty($value)) {
$leases[$macs[$slease['mac']]][$key] = $slease[$key];
}
}
} else {
$leases[] = $slease;
}
}
}
}