diff --git a/bin/v_list_dns_domain b/bin/v_list_dns_domain
index 41ed20a40..db3da01c4 100755
--- a/bin/v_list_dns_domain
+++ b/bin/v_list_dns_domain
@@ -40,9 +40,9 @@ json_list_domain() {
echo -e "\t\"$value\": {"
else
if [ "$fileds_count" -eq "$i" ]; then
- echo -e "\t\t\"${field//$/}\": \"$value\","
- else
echo -e "\t\t\"${field//$/}\": \"$value\""
+ else
+ echo -e "\t\t\"${field//$/}\": \"$value\","
fi
fi
# Updating iterator
diff --git a/web/edit/dns/index.php b/web/edit/dns/index.php
new file mode 100644
index 000000000..9c6fd4211
--- /dev/null
+++ b/web/edit/dns/index.php
@@ -0,0 +1,145 @@
+', $output);
+ if (empty($error)) $error = 'Error: vesta did not return any output.';
+ $_SESSION['error_msg'] = $error;
+ } else {
+ $data = json_decode(implode('', $output), true);
+ unset($output);
+
+ $v_username = $user;
+ $v_domain = $_GET['domain'];
+ $v_ip = $data[$v_domain]['IP'];
+ $v_template = $data[$v_domain]['TPL'];
+ $v_ttl = $data[$v_domain]['TTL'];
+ $v_exp = $data[$v_domain]['EXP'];
+ $v_soa = $data[$v_domain]['SOA'];
+ $v_date = $data[$v_domain]['DATE'];
+ $v_time = $data[$v_domain]['TIME'];
+
+ exec (VESTA_CMD."v_list_dns_templates json", $output, $return_var);
+ $templates = json_decode(implode('', $output), true);
+ unset($output);
+ }
+
+ // Action
+ if (!empty($_POST['save'])) {
+ $v_domain = escapeshellarg($_POST['v_domain']);
+
+ // IP
+ if (($v_ip != $_POST['v_ip']) && (empty($_SESSION['error_msg']))) {
+ $v_ip = escapeshellarg($_POST['v_ip']);
+ exec (VESTA_CMD."v_change_dns_domain_ip ".$v_username." ".$v_domain." ".$v_ip." 'no'", $output, $return_var);
+ if ($return_var != 0) {
+ $error = implode('
', $output);
+ if (empty($error)) $error = 'Error: vesta did not return any output.';
+ $_SESSION['error_msg'] = $error;
+ }
+ $restart_dns = 'yes';
+ unset($output);
+ }
+
+ // Template
+ if (($v_template != $_POST['v_template']) && (empty($_SESSION['error_msg']))) {
+ $v_template = escapeshellarg($_POST['v_template']);
+ exec (VESTA_CMD."v_change_dns_domain_tpl ".$v_username." ".$v_domain." ".$v_template." 'no'", $output, $return_var);
+ if ($return_var != 0) {
+ $error = implode('
', $output);
+ if (empty($error)) $error = 'Error: vesta did not return any output.';
+ $_SESSION['error_msg'] = $error;
+ }
+ unset($output);
+ $restart_dns = 'yes';
+ }
+
+ // SOA
+ if (($v_soa != $_POST['v_soa']) && (empty($_SESSION['error_msg']))) {
+ $v_soa = escapeshellarg($_POST['v_soa']);
+ exec (VESTA_CMD."v_change_dns_domain_soa ".$v_username." ".$v_domain." ".$v_soa." 'no'", $output, $return_var);
+ if ($return_var != 0) {
+ $error = implode('
', $output);
+ if (empty($error)) $error = 'Error: vesta did not return any output.';
+ $_SESSION['error_msg'] = $error;
+ }
+ unset($output);
+ $restart_dns = 'yes';
+ }
+
+ // EXP
+ if (($v_exp != $_POST['v_exp']) && (empty($_SESSION['error_msg']))) {
+ $v_exp = escapeshellarg($_POST['v_exp']);
+ exec (VESTA_CMD."v_change_dns_domain_exp ".$v_username." ".$v_domain." ".$v_exp." 'no'", $output, $return_var);
+ if ($return_var != 0) {
+ $error = implode('
', $output);
+ if (empty($error)) $error = 'Error: vesta did not return any output.';
+ $_SESSION['error_msg'] = $error;
+ }
+ unset($output);
+ $restart_dns = 'yes';
+ }
+
+ // TTL
+ if (($v_ttl != $_POST['v_ttl']) && (empty($_SESSION['error_msg']))) {
+ $v_ttl = escapeshellarg($_POST['v_ttl']);
+ exec (VESTA_CMD."v_change_dns_domain_ttl ".$v_username." ".$v_domain." ".$v_ttl." 'no'", $output, $return_var);
+ if ($return_var != 0) {
+ $error = implode('
', $output);
+ if (empty($error)) $error = 'Error: vesta did not return any output.';
+ $_SESSION['error_msg'] = $error;
+ }
+ unset($output);
+ $restart_dns = 'yes';
+ }
+
+ // Restart dns
+ if (!empty($restart_dns) && (empty($_SESSION['error_msg']))) {
+ exec (VESTA_CMD."v_restart_dns", $output, $return_var);
+ if ($return_var != 0) {
+ $error = implode('
', $output);
+ if (empty($error)) $error = 'Error: vesta did not return any output.';
+ $_SESSION['error_msg'] = $error;
+ }
+ }
+
+ if (empty($_SESSION['error_msg'])) {
+ $_SESSION['ok_msg'] = "OK: changes has been saved.";
+ }
+
+ }
+ include($_SERVER['DOCUMENT_ROOT'].'/templates/admin/menu_edit_dns.html');
+ include($_SERVER['DOCUMENT_ROOT'].'/templates/admin/edit_dns.html');
+ unset($_SESSION['error_msg']);
+ unset($_SESSION['ok_msg']);
+}
+
+// Footer
+include($_SERVER['DOCUMENT_ROOT'].'/templates/footer.html');
diff --git a/web/templates/admin/edit_dns.html b/web/templates/admin/edit_dns.html
new file mode 100644
index 000000000..cbadefda9
--- /dev/null
+++ b/web/templates/admin/edit_dns.html
@@ -0,0 +1,49 @@
+
diff --git a/web/templates/admin/edit_web.html b/web/templates/admin/edit_web.html
index 9297e2770..496fb303f 100644
--- a/web/templates/admin/edit_web.html
+++ b/web/templates/admin/edit_web.html
@@ -35,7 +35,7 @@