update
This commit is contained in:
parent
d744cb3794
commit
ea07dabc3e
|
|
@ -60,7 +60,6 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||||
|
|
||||||
$network_primary_ip = $get('network_primary_ip');
|
$network_primary_ip = $get('network_primary_ip');
|
||||||
$network_primary_gateway = $get('network_primary_gateway');
|
$network_primary_gateway = $get('network_primary_gateway');
|
||||||
$network_primary_gateway = $get('network_primary_gateway');
|
|
||||||
$network_primary_vlan = $get('network_primary_vlan');
|
$network_primary_vlan = $get('network_primary_vlan');
|
||||||
$network_primary_dns1 = $get('network_primary_dns1');
|
$network_primary_dns1 = $get('network_primary_dns1');
|
||||||
$network_primary_dns2 = $get('network_primary_dns2');
|
$network_primary_dns2 = $get('network_primary_dns2');
|
||||||
|
|
@ -84,40 +83,6 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||||
$network_secondary_ipv6_dns1 = $get('network_secondary_ipv6_dns1');
|
$network_secondary_ipv6_dns1 = $get('network_secondary_ipv6_dns1');
|
||||||
$network_secondary_ipv6_dns2 = $get('network_secondary_ipv6_dns2');
|
$network_secondary_ipv6_dns2 = $get('network_secondary_ipv6_dns2');
|
||||||
|
|
||||||
$validate_ip_or_cidr = function ($v) {
|
|
||||||
if ($v === '') return true;
|
|
||||||
if (strpos($v, '/') !== false) {
|
|
||||||
[$ip, $cidr] = explode('/', $v, 2);
|
|
||||||
return filter_var($ip, FILTER_VALIDATE_IP) !== false && ctype_digit($cidr) && (int)$cidr >= 0 && (int)$cidr <= 32;
|
|
||||||
}
|
|
||||||
return filter_var($v, FILTER_VALIDATE_IP) !== false;
|
|
||||||
};
|
|
||||||
|
|
||||||
foreach (
|
|
||||||
[
|
|
||||||
['field' => 'Primary IP', 'value' => $primary_ip],
|
|
||||||
['field' => 'Primary Subnet', 'value' => $primary_subnet],
|
|
||||||
['field' => 'Primary Gateway', 'value' => $primary_gateway],
|
|
||||||
['field' => 'Secondary IP', 'value' => $secondary_ip],
|
|
||||||
['field' => 'Secondary Subnet', 'value' => $secondary_subnet],
|
|
||||||
['field' => 'Secondary Gateway', 'value' => $secondary_gateway],
|
|
||||||
] as $f
|
|
||||||
) {
|
|
||||||
if ($f['value'] !== '') {
|
|
||||||
$ok = $f['field'] === 'Primary Subnet' || $f['field'] === 'Secondary Subnet'
|
|
||||||
? $validate_ip_or_cidr($f['value'])
|
|
||||||
: filter_var($f['value'], FILTER_VALIDATE_IP) !== false;
|
|
||||||
if (!$ok) $errors[] = $f['field'] . ' is invalid: ' . htmlspecialchars($f['value']);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach ([['Primary VLAN', $primary_vlan], ['Secondary VLAN', $secondary_vlan]] as $v) {
|
|
||||||
if ($v[1] !== '' && (!ctype_digit($v[1]) || (int)$v[1] < 0 || (int)$v[1] > 4094)) {
|
|
||||||
$errors[] = $v[0] . ' must be a number 0-4094';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (empty($errors)) {
|
|
||||||
$new = [
|
$new = [
|
||||||
'primary' => [
|
'primary' => [
|
||||||
'mode' => 'dhcp',
|
'mode' => 'dhcp',
|
||||||
|
|
@ -168,7 +133,6 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
|
|
||||||
/* ---------- helper to build IPv4/IPv6 ---------- */
|
|
||||||
function build_interface(array $d, string $key): array
|
function build_interface(array $d, string $key): array
|
||||||
{
|
{
|
||||||
$cfg = [];
|
$cfg = [];
|
||||||
|
|
@ -281,7 +245,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||||
file_put_contents('/var/www/50-cloud-init.yaml', $yaml);
|
file_put_contents('/var/www/50-cloud-init.yaml', $yaml);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<form method="POST" novalidate>
|
<form method="POST" novalidate>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue