edit network
This commit is contained in:
50
edit.php
50
edit.php
@ -12,18 +12,15 @@ if (isset($_SERVER["QUERY_STRING"]) && preg_match(
|
||||
$network = $networks[$tag];
|
||||
}
|
||||
}
|
||||
if ($network == []) {
|
||||
preg_match("/\n\d+: (?P<iface>[a-z0-9]+) inet (?<ipaddr>$ipPtn)\/(?<mask>\d+) brd (?<broadcast>$ipPtn)/", `ip -o -4 a`, $network);
|
||||
$ip_addr = ip2long($network["ipaddr"]);
|
||||
$network["cidr_mask"] = $network["mask"];
|
||||
$mask = $long_mask[(int)$network["mask"]];
|
||||
$tag = "local";
|
||||
$network["network-addr"] = $ip_addr & $netmask;
|
||||
$network["netmask"] = long2ip($mask);
|
||||
$network["broadcast"] = ip2long($network["broadcast"]);
|
||||
if (preg_match("/default via ($ipPtn)/", `ip -4 route`, $router)) {
|
||||
$network["router"] = $router[1];
|
||||
}
|
||||
|
||||
preg_match("/\n\d+: (?P<iface>[a-z0-9]+) inet (?<ipaddr>$ipPtn)\/(?<cidr_mask>\d+) brd (?<broadcast>$ipPtn)/", `ip -o -4 a`, $placeholder);
|
||||
$ip_addr = ip2long($placeholder["ipaddr"]);
|
||||
$mask = $long_mask[(int)$placeholder["cidr_mask"]];
|
||||
$placeholder["network-addr"] = $ip_addr & $netmask;
|
||||
$placeholder["netmask"] = long2ip($mask);
|
||||
$placeholder["broadcast"] = ip2long($placeholder["broadcast"]);
|
||||
if (preg_match("/default via ($ipPtn)/", `ip -4 route`, $router)) {
|
||||
$placeholder["router"] = $router[1];
|
||||
}
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
@ -47,17 +44,16 @@ if ($network == []) {
|
||||
<input type="hidden" name="previous-tag" value="<?=$tag?>"/>
|
||||
<div class="field">
|
||||
<label for="tag" class="required">Nom</label>
|
||||
<input id="tag" name="tag" type="text" pattern="[a-zA-Z_][\w\-]*" placeholder="local" required value="<?=$tag?>" title="une lettre suivie par des lettres, des chiffres ou des tirets"/>
|
||||
<input id="tag" name="tag" type="text" pattern="[a-zA-Z_][\w\-]*" placeholder="Reseau-local" required value="<?=$tag?>"
|
||||
title="une lettre suivie par des lettres, des chiffres ou des tirets"/>
|
||||
</div>
|
||||
<div class="two fields">
|
||||
<div class="field">
|
||||
<label for="network-addr" class="required">Adresse réseau</label>
|
||||
<div class="ui labeled input">
|
||||
<input id="network-addr" name="network-addr" type="text" title="xxx.xxx.xxx.xxx" required
|
||||
pattern="(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)"
|
||||
placeholder="<?=long2ip($network["network-addr"]) ?? "192.168.1.0" ?>"
|
||||
value="<?=long2ip($network["network-addr"]) ?? "" ?>"/>
|
||||
</div>
|
||||
<label for="router" class="required">Passerelle ou adresse réseau</label>
|
||||
<input id="router" name="router" type="text" title="xxx.xxx.xxx.xxx" required
|
||||
pattern="(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)"
|
||||
placeholder="<?=$placeholder["router"] ?? $placeholder["network-addr"] ?? "192.168.1.1"?>"
|
||||
value="<?=$network["router"] ?? ""?>"/>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label for="netmask" class="required">Masque</label>
|
||||
@ -65,22 +61,16 @@ if ($network == []) {
|
||||
<?php foreach ($long_mask as $cidr_mask => $netmask) :
|
||||
$netmask = long2ip($netmask);
|
||||
?>
|
||||
<option value="<?=$netmask?>"<?=$netmask == ($network["netmask"] ?? 24) ? " selected" : ""?>>/<?=$cidr_mask?> <?=$netmask?></option>
|
||||
<option value="<?=$netmask?>"<?=$netmask == ($network["netmask"] ?? $placeholder["netmask"] ?? 24) ? " selected" : ""?>>/<?=$cidr_mask?> <?=$netmask?></option>
|
||||
<?php endforeach; ?>
|
||||
</select>
|
||||
<script>$('#netmask').dropdown()</script>
|
||||
</div>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label for="router">Passerelle</label>
|
||||
<input id="router" name="router" type="text" title="xxx.xxx.xxx.xxx"
|
||||
pattern="(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)"
|
||||
placeholder="<?=$network["router"] ?? "192.168.1.1"?>"
|
||||
value="<?=$network["router"] ?? ""?>"/>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label for="dns-server">Serveur(s) DNS (laisser vide pour ce serveur)</label>
|
||||
<select id="dns-server" name="dns-server" multiple class="ui search multiple selection dropdown" autocomplete="off">
|
||||
<option value=""><?=$_SERVER['REMOTE_ADDR']?></option>
|
||||
</select>
|
||||
<script>
|
||||
const ipRegex = /^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)$/;
|
||||
@ -102,7 +92,7 @@ $('#dns-server').dropdown({
|
||||
<div class="ui labeled input">
|
||||
<input id="start-addr" name="start-addr" type="text" title="xxx.xxx.xxx.xxx"
|
||||
pattern="(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)"
|
||||
placeholder="<?=$network["dhcp-range"]["start_addr"] ?? "192.168.1.100" ?>"
|
||||
placeholder="192.168.1.100"
|
||||
value="<?=$network["dhcp-range"]["start_addr"] ?? "" ?>"/>
|
||||
</div>
|
||||
</div>
|
||||
@ -111,7 +101,7 @@ $('#dns-server').dropdown({
|
||||
<div class="ui labeled input">
|
||||
<input id="end-addr" name="end-addr" type="text" title="xxx.xxx.xxx.xxx"
|
||||
pattern="(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)"
|
||||
placeholder="<?=$network["end-addr"] ?? "192.168.1.200" ?>"
|
||||
placeholder="192.168.1.200"
|
||||
value="<?=$network["dhcp-range"]["end"] ?? "" ?>"/>
|
||||
</div>
|
||||
</div>
|
||||
|
Reference in New Issue
Block a user