$pxeg = $db->dbArrayResultsAssoc($return); } if (count($pxeg) === 0) { $pxe_group = "No PXE Groups defined"; } else { $pxe_group = $misc->GenDropMenuWSelectedPXE($pxeg, $pxe_group, 'pxe_group'); } // do some calculations on the list of available subnets $sql = "SELECT * FROM `conf_subnets`"; if (($return = $db->dbQuery($val->ValidateSQL($sql, $dbconn), $dbconn)) !== -1) { $data = $db->dbArrayResultsAssoc($return); } if (count($data) !== 0) { foreach ($data as $key => $value) { if ($value['enable-scope'] === "true" && !empty($value['scope-range-1']) && !empty($value['scope-range-2'])) { $ip_counts[] = $misc->GetAvailableIPAddresses($value, $value['subnet-name']); } else { if (!empty($value['pool'])) { // process assigned pool IP addresses minus IP's engaged in `conf_leases` table $sql = "SELECT * FROM `conf_pools` WHERE `pool-name` = \"" . $value['pool'] . "\""; if (($return = $db->dbQuery($val->ValidateSQL($sql, $dbconn), $dbconn)) !== -1) { $pool_array = $db->dbArrayResultsAssoc($return); foreach ($pool_array as $k => $v) { $ip_counts[] = $misc->GetAvailableIPAddresses($v, $value['subnet-name']); } } } else { // look at broadcast and mask to determine range first // process everything else by looking up all static hosts and comparing to broadcast and subnet mask $sql = "SELECT * FROM `conf_hosts` WHERE `subnet-name` = \"" . $value['subnet-name'] . "\""; if (($return = $db->dbQuery($val->ValidateSQL($sql, $dbconn), $dbconn)) !== -1) {