Просмотр исходного кода

IPV6: add/edit/delete IPV6 address

User web interface. PHP files and a template
asmcc 3 лет назад
Родитель
Сommit
942a3134e7
4 измененных файлов с 29 добавлено и 7 удалено
  1. 7 1
      web/add/ip/index.php
  2. 6 1
      web/delete/ip/index.php
  3. 10 5
      web/edit/ip/index.php
  4. 6 0
      web/templates/pages/edit_ip.php

+ 7 - 1
web/add/ip/index.php

@@ -50,6 +50,12 @@ if (!empty($_POST["ok"])) {
 	$v_interface = quoteshellarg($_POST["v_interface"]);
 	$v_owner = quoteshellarg($_POST["v_owner"]);
 	$v_shared = $_POST["v_shared"];
+	if (filter_var($_POST["v_ip"], FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)) {
+		$v_ipv6_suffix='v6';
+	} else {
+		$v_ipv6_suffix='';
+					   
+	}
 
 	// Check shared checkmark
 	if ($v_shared == "on") {
@@ -63,7 +69,7 @@ if (!empty($_POST["ok"])) {
 	if (empty($_SESSION["error_msg"])) {
 		exec(
 			HESTIA_CMD .
-				"v-add-sys-ip " .
+				"v-add-sys-ip".$v_ipv6_suffix." " .
 				$v_ip .
 				" " .
 				$v_netmask .

+ 6 - 1
web/delete/ip/index.php

@@ -10,7 +10,12 @@ verify_csrf($_GET);
 if ($_SESSION["userContext"] === "admin") {
 	if (!empty($_GET["ip"])) {
 		$v_ip = quoteshellarg($_GET["ip"]);
-		exec(HESTIA_CMD . "v-delete-sys-ip " . $v_ip, $output, $return_var);
+		if (filter_var($_GET["ip"], FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)) {
+			$v_ipv6_suffix='v6';
+		} else {
+			$v_ipv6_suffix='';
+		}
+		exec(HESTIA_CMD . "v-delete-sys-ip".$v_ipv6_suffix." " . $v_ip, $output, $return_var);
 	}
 	check_return_code($return_var, $output);
 	unset($output);

+ 10 - 5
web/edit/ip/index.php

@@ -21,7 +21,12 @@ if (empty($_GET["ip"])) {
 
 // List ip
 $v_ip = quoteshellarg($_GET["ip"]);
-exec(HESTIA_CMD . "v-list-sys-ip " . $v_ip . " 'json'", $output, $return_var);
+if (filter_var($_GET['ip'], FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)) {
+    $v_ipv6_suffix='v6';
+} else {
+    $v_ipv6_suffix='';
+}
+exec(HESTIA_CMD . "v-list-sys-ip".$v_ipv6_suffix." " . $v_ip . " 'json'", $output, $return_var);
 check_return_code_redirect($return_var, $output, "/list/ip");
 $data = json_decode(implode("", $output), true);
 unset($output);
@@ -55,13 +60,13 @@ if (!empty($_POST["save"])) {
 
 	// Change Status
 	if ($v_ipstatus == "shared" && empty($_POST["v_shared"]) && empty($_SESSION["error_msg"])) {
-		exec(HESTIA_CMD . "v-change-sys-ip-status " . $v_ip . " 'dedicated'", $output, $return_var);
+		exec(HESTIA_CMD . "v-change-sys-ip".$v_ipv6_suffix."-status " . $v_ip . " 'dedicated'", $output, $return_var);
 		check_return_code($return_var, $output);
 		unset($output);
 		$v_dedicated = "yes";
 	}
 	if ($v_ipstatus == "dedicated" && !empty($_POST["v_shared"]) && empty($_SESSION["error_msg"])) {
-		exec(HESTIA_CMD . "v-change-sys-ip-status " . $v_ip . " 'shared'", $output, $return_var);
+		exec(HESTIA_CMD . "v-change-sys-ip".$v_ipv6_suffix."-status " . $v_ip . " 'shared'", $output, $return_var);
 		check_return_code($return_var, $output);
 		unset($output);
 		unset($v_dedicated);
@@ -70,7 +75,7 @@ if (!empty($_POST["save"])) {
 	// Change owner
 	if ($v_owner != $_POST["v_owner"] && empty($_SESSION["error_msg"])) {
 		$v_owner = quoteshellarg($_POST["v_owner"]);
-		exec(HESTIA_CMD . "v-change-sys-ip-owner " . $v_ip . " " . $v_owner, $output, $return_var);
+		exec(HESTIA_CMD . "v-change-sys-ip".$v_ipv6_suffix."-owner " . $v_ip . " " . $v_owner, $output, $return_var);
 		check_return_code($return_var, $output);
 		$v_owner = $_POST["v_owner"];
 		unset($output);
@@ -79,7 +84,7 @@ if (!empty($_POST["save"])) {
 	// Change associated domain
 	if ($v_name != $_POST["v_name"] && empty($_SESSION["error_msg"])) {
 		$v_name = quoteshellarg($_POST["v_name"]);
-		exec(HESTIA_CMD . "v-change-sys-ip-name " . $v_ip . " " . $v_name, $output, $return_var);
+		exec(HESTIA_CMD . "v-change-sys-ip".$v_ipv6_suffix."-name " . $v_ip . " " . $v_name, $output, $return_var);
 		check_return_code($return_var, $output);
 		unset($output);
 	}

+ 6 - 0
web/templates/pages/edit_ip.php

@@ -70,12 +70,18 @@
 				</label>
 				<input type="text" class="form-control" name="v_name" id="v_name" value="<?= htmlentities(trim($v_name, "'")) ?>">
 			</div>
+			<?php
+				if ($v_ipv6_suffix == '') {
+			?>
 			<div class="u-mb10">
 				<label for="v_nat" class="form-label">
 					<?= _("NAT IP association") ?> <span class="optional">(<?= _("optional") ?>)</span>
 				</label>
 				<input type="text" class="form-control" name="v_nat" id="v_nat" value="<?= htmlentities(trim($v_nat, "'")) ?>">
 			</div>
+			<?php
+				}
+			?>
 		</div>
 
 	</form>