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

Allow sorting package name + Fix issue with DNS disabled (#3726)

* Sort by package

https://forum.hestiacp.com/t/sort-users-by-package-type/9909/2

* Fix sorting

* Check if DNS System is enabled

* Fix: 3712 Unable to restore domain with custom doc root

Closes #3712
Jaap Marcus 2 лет назад
Родитель
Сommit
73e46d9253
3 измененных файлов с 85 добавлено и 77 удалено
  1. 2 2
      bin/v-restore-user
  2. 79 75
      web/edit/user/index.php
  3. 4 0
      web/templates/pages/list_user.php

+ 2 - 2
bin/v-restore-user

@@ -291,10 +291,10 @@ if [ "$web" != 'no' ] && [ -n "$WEB_SYSTEM" ]; then
 			fi
 
 			if [ -n "$CUSTOM_DOCROOT" ]; then
-				CUSTOM_DOCROOT=$(echo "$CUSTOM_DOCROOT" | sed -e "s|/home/${old_user}/web/|/home/${user}/web/")
+				CUSTOM_DOCROOT=$(echo "$CUSTOM_DOCROOT" | sed -e "s|/home/${old_user}/web/|/home/${user}/web/|g")
 			fi
 			if [ -n "$CUSTOM_PHPROOT" ]; then
-				CUSTOM_PHPROOT=$(echo "$CUSTOM_PHPROOT" | sed -e "s|/home/${old_user}/web/|/home/${user}/web/")
+				CUSTOM_PHPROOT=$(echo "$CUSTOM_PHPROOT" | sed -e "s|/home/${old_user}/web/|/home/${user}/web/|g")
 			fi
 
 			# Converting FTP users

+ 79 - 75
web/edit/user/index.php

@@ -451,88 +451,92 @@ if (!empty($_POST["save"])) {
 		}
 	}
 
-	// Change NameServers
-	if (empty($_POST["v_ns1"])) {
-		$_POST["v_ns1"] = "";
-	}
-	if (empty($_POST["v_ns2"])) {
-		$_POST["v_ns2"] = "";
-	}
-	if (empty($_POST["v_ns3"])) {
-		$_POST["v_ns3"] = "";
-	}
-	if (empty($_POST["v_ns4"])) {
-		$_POST["v_ns4"] = "";
-	}
-	if (empty($_POST["v_ns5"])) {
-		$_POST["v_ns5"] = "";
-	}
-	if (empty($_POST["v_ns6"])) {
-		$_POST["v_ns6"] = "";
-	}
-	if (empty($_POST["v_ns7"])) {
-		$_POST["v_ns7"] = "";
-	}
-	if (empty($_POST["v_ns8"])) {
-		$_POST["v_ns8"] = "";
-	}
-
-	if (
-		$v_ns1 != $_POST["v_ns1"] ||
-		$v_ns2 != $_POST["v_ns2"] ||
-		$v_ns3 != $_POST["v_ns3"] ||
-		$v_ns4 != $_POST["v_ns4"] ||
-		$v_ns5 != $_POST["v_ns5"] ||
-		$v_ns6 != $_POST["v_ns6"] ||
-		$v_ns7 != $_POST["v_ns7"] ||
-		($v_ns8 != $_POST["v_ns8"] && empty($_SESSION["error_msg"]))
-	) {
-		$v_ns1 = quoteshellarg($_POST["v_ns1"]);
-		$v_ns2 = quoteshellarg($_POST["v_ns2"]);
-		$v_ns3 = quoteshellarg($_POST["v_ns3"]);
-		$v_ns4 = quoteshellarg($_POST["v_ns4"]);
-		$v_ns5 = quoteshellarg($_POST["v_ns5"]);
-		$v_ns6 = quoteshellarg($_POST["v_ns6"]);
-		$v_ns7 = quoteshellarg($_POST["v_ns7"]);
-		$v_ns8 = quoteshellarg($_POST["v_ns8"]);
-		$ns_cmd =
-			HESTIA_CMD .
-			"v-change-user-ns " .
-			quoteshellarg($v_username) .
-			" " .
-			$v_ns1 .
-			" " .
-			$v_ns2;
-		if (!empty($_POST["v_ns3"])) {
-			$ns_cmd = $ns_cmd . " " . $v_ns3;
+	if (!empty($_SESSION["DNS_SYSTEM"])) {
+		// Change NameServers
+		if (empty($_POST["v_ns1"])) {
+			$_POST["v_ns1"] = "";
 		}
-		if (!empty($_POST["v_ns4"])) {
-			$ns_cmd = $ns_cmd . " " . $v_ns4;
+		if (empty($_POST["v_ns2"])) {
+			$_POST["v_ns2"] = "";
 		}
-		if (!empty($_POST["v_ns5"])) {
-			$ns_cmd = $ns_cmd . " " . $v_ns5;
+		if (empty($_POST["v_ns3"])) {
+			$_POST["v_ns3"] = "";
 		}
-		if (!empty($_POST["v_ns6"])) {
-			$ns_cmd = $ns_cmd . " " . $v_ns6;
+		if (empty($_POST["v_ns4"])) {
+			$_POST["v_ns4"] = "";
 		}
-		if (!empty($_POST["v_ns7"])) {
-			$ns_cmd = $ns_cmd . " " . $v_ns7;
+		if (empty($_POST["v_ns5"])) {
+			$_POST["v_ns5"] = "";
 		}
-		if (!empty($_POST["v_ns8"])) {
-			$ns_cmd = $ns_cmd . " " . $v_ns8;
+		if (empty($_POST["v_ns6"])) {
+			$_POST["v_ns6"] = "";
 		}
-		exec($ns_cmd, $output, $return_var);
-		check_return_code($return_var, $output);
-		unset($output);
+		if (empty($_POST["v_ns7"])) {
+			$_POST["v_ns7"] = "";
+		}
+		if (empty($_POST["v_ns8"])) {
+			$_POST["v_ns8"] = "";
+		}
+
+		if (
+			$v_ns1 != $_POST["v_ns1"] ||
+			$v_ns2 != $_POST["v_ns2"] ||
+			$v_ns3 != $_POST["v_ns3"] ||
+			$v_ns4 != $_POST["v_ns4"] ||
+			$v_ns5 != $_POST["v_ns5"] ||
+			$v_ns6 != $_POST["v_ns6"] ||
+			$v_ns7 != $_POST["v_ns7"] ||
+			($v_ns8 != $_POST["v_ns8"] &&
+				empty($_SESSION["error_msg"] && !empty($_POST["v_ns1"]) && $_POST["v_ns2"]))
+		) {
+			$v_ns1 = quoteshellarg($_POST["v_ns1"]);
+			$v_ns2 = quoteshellarg($_POST["v_ns2"]);
+			$v_ns3 = quoteshellarg($_POST["v_ns3"]);
+			$v_ns4 = quoteshellarg($_POST["v_ns4"]);
+			$v_ns5 = quoteshellarg($_POST["v_ns5"]);
+			$v_ns6 = quoteshellarg($_POST["v_ns6"]);
+			$v_ns7 = quoteshellarg($_POST["v_ns7"]);
+			$v_ns8 = quoteshellarg($_POST["v_ns8"]);
+
+			$ns_cmd =
+				HESTIA_CMD .
+				"v-change-user-ns " .
+				quoteshellarg($v_username) .
+				" " .
+				$v_ns1 .
+				" " .
+				$v_ns2;
+			if (!empty($_POST["v_ns3"])) {
+				$ns_cmd = $ns_cmd . " " . $v_ns3;
+			}
+			if (!empty($_POST["v_ns4"])) {
+				$ns_cmd = $ns_cmd . " " . $v_ns4;
+			}
+			if (!empty($_POST["v_ns5"])) {
+				$ns_cmd = $ns_cmd . " " . $v_ns5;
+			}
+			if (!empty($_POST["v_ns6"])) {
+				$ns_cmd = $ns_cmd . " " . $v_ns6;
+			}
+			if (!empty($_POST["v_ns7"])) {
+				$ns_cmd = $ns_cmd . " " . $v_ns7;
+			}
+			if (!empty($_POST["v_ns8"])) {
+				$ns_cmd = $ns_cmd . " " . $v_ns8;
+			}
+			exec($ns_cmd, $output, $return_var);
+			check_return_code($return_var, $output);
+			unset($output);
 
-		$v_ns1 = str_replace("'", "", $v_ns1);
-		$v_ns2 = str_replace("'", "", $v_ns2);
-		$v_ns3 = str_replace("'", "", $v_ns3);
-		$v_ns4 = str_replace("'", "", $v_ns4);
-		$v_ns5 = str_replace("'", "", $v_ns5);
-		$v_ns6 = str_replace("'", "", $v_ns6);
-		$v_ns7 = str_replace("'", "", $v_ns7);
-		$v_ns8 = str_replace("'", "", $v_ns8);
+			$v_ns1 = str_replace("'", "", $v_ns1);
+			$v_ns2 = str_replace("'", "", $v_ns2);
+			$v_ns3 = str_replace("'", "", $v_ns3);
+			$v_ns4 = str_replace("'", "", $v_ns4);
+			$v_ns5 = str_replace("'", "", $v_ns5);
+			$v_ns6 = str_replace("'", "", $v_ns6);
+			$v_ns7 = str_replace("'", "", $v_ns7);
+			$v_ns8 = str_replace("'", "", $v_ns8);
+		}
 	}
 
 	// Set success message

+ 4 - 0
web/templates/pages/list_user.php

@@ -28,6 +28,9 @@
 					<li data-entity="sort-disk" data-sort-as-int="1">
 						<span class="name"><?= _("Disk") ?> <i class="fas fa-arrow-down-a-z"></i></span><span class="up"><i class="fas fa-arrow-up-a-z"></i></span>
 					</li>
+					<li data-entity="sort-package">
+						<span class="name"><?= _("Package") ?> <i class="fas fa-arrow-down-a-z"></i></span><span class="up"><i class="fas fa-arrow-up-a-z"></i></span>
+					</li>
 					<li data-entity="sort-name">
 						<span class="name <?php if ($_SESSION['userSortOrder'] === 'name') { echo 'active'; } ?>"><?= _("Name") ?> <i class="fas fa-arrow-down-a-z"></i></span><span class="up"><i class="fas fa-arrow-up-a-z"></i></span>
 					</li>
@@ -133,6 +136,7 @@
 			<div class="units-table-row <?php if ($status == 'suspended') echo 'disabled'; ?> animate__animated animate__fadeIn js-unit <?php if (($_SESSION['POLICY_SYSTEM_HIDE_ADMIN'] === 'yes') && ($_SESSION['user'] !== 'admin') && ($key === 'admin')) { echo 'u-hidden'; } ?>"
 				data-sort-date="<?= strtotime($data[$key]['DATE'].' '.$data[$key]['TIME']) ?>"
 				data-sort-name="<?= strtolower($key) ?>"
+				data-sort-package="<?= strtolower($data[$key]['PACKAGE']) ?>"
 				data-sort-bandwidth="<?= $data[$key]["U_BANDWIDTH"] ?>"
 				data-sort-disk="<?= $data[$key]["U_DISK"] ?>">
 				<div class="units-table-cell">