ipam/load-ranges.php
2025-05-27 18:06:36 +02:00

22 lines
926 B
PHP

<?php
require_once "common.php";
require_once "load-conf.php";
$ranges = [];
if (isset($conf["conf-file"]) && file_exists($conf["conf-file"])) {
foreach(file($conf["conf-file"]) as $line) {
if (preg_match(
"/^dhcp-range=(?:(?:tag|set):(?<tag>$namePtn),)?(?<start_addr>$ipPtn),(?:(?<end_addr>$ipPtn)|$modesPtn)(?:,(?<netmask>$ipPtn)(?:,$ipPtn)?)?(?:,(?<lease_time>$timePtn|infinite))?$commentPtn$/",
$line, $range, PREG_UNMATCHED_AS_NULL
)) {
if (!isset($range["tag"])) $range["tag"] = "default";
if (!isset($ranges[$range["tag"]])) $ranges[$range["tag"]] = [];
$ranges[$range["tag"]]["dhcp-range"] = [
"start-addr" => $range["start_addr"],
"end-addr" => $range["end_addr"],
"netmask" => $range["netmask"],
"lease_time" => $range["lease_time"],
];
}
}
}