From 276df0515f3a448688055a2c74c9769287388c31 Mon Sep 17 00:00:00 2001 From: Serghey Rodin Date: Wed, 13 Jun 2012 10:49:31 +0300 Subject: [PATCH] dns edit domain page --- bin/v_list_dns_domain | 4 +- web/edit/dns/index.php | 145 +++++++++++++++++++++++++ web/templates/admin/edit_dns.html | 49 +++++++++ web/templates/admin/edit_web.html | 2 +- web/templates/admin/list_dns.html | 2 +- web/templates/admin/menu_edit_dns.html | 15 +++ 6 files changed, 213 insertions(+), 4 deletions(-) create mode 100644 web/edit/dns/index.php create mode 100644 web/templates/admin/edit_dns.html create mode 100644 web/templates/admin/menu_edit_dns.html diff --git a/bin/v_list_dns_domain b/bin/v_list_dns_domain index 41ed20a4..db3da01c 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 00000000..9c6fd421 --- /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 00000000..cbadefda --- /dev/null +++ b/web/templates/admin/edit_dns.html @@ -0,0 +1,49 @@ + + + + + +
+ + + + +
+
+ + +
+
+ + + + + + + + + + +
Domain
IP address
Template
Domain Expiriation
SOA
TTL
+ + + +
+
diff --git a/web/templates/admin/edit_web.html b/web/templates/admin/edit_web.html index 9297e277..496fb303 100644 --- a/web/templates/admin/edit_web.html +++ b/web/templates/admin/edit_web.html @@ -35,7 +35,7 @@
- - +
Domain
IP address
list records add record edit edit delete
diff --git a/web/templates/admin/menu_edit_dns.html b/web/templates/admin/menu_edit_dns.html new file mode 100644 index 00000000..b5b105a8 --- /dev/null +++ b/web/templates/admin/menu_edit_dns.html @@ -0,0 +1,15 @@ + + + + +