index.php 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. <?php
  2. // Init
  3. //error_reporting(NULL);
  4. ob_start();
  5. session_start();
  6. $TAB = 'DNS';
  7. include($_SERVER['DOCUMENT_ROOT']."/inc/main.php");
  8. // Header
  9. include($_SERVER['DOCUMENT_ROOT'].'/templates/header.html');
  10. // Panel
  11. top_panel($user,$TAB);
  12. // Are you admin?
  13. if ($_SESSION['user'] == 'admin') {
  14. // Check user argument?
  15. if (empty($_GET['domain'])) {
  16. header("Location: /list/dns/");
  17. }
  18. if (!empty($_POST['cancel'])) {
  19. header("Location: /list/dns/");
  20. }
  21. // Check domain
  22. $v_domain = escapeshellarg($_GET['domain']);
  23. exec (VESTA_CMD."v_list_dns_domain ".$user." ".$v_domain." json", $output, $return_var);
  24. if ($return_var != 0) {
  25. $error = implode('<br>', $output);
  26. if (empty($error)) $error = 'Error: vesta did not return any output.';
  27. $_SESSION['error_msg'] = $error;
  28. } else {
  29. $data = json_decode(implode('', $output), true);
  30. unset($output);
  31. $v_username = $user;
  32. $v_domain = $_GET['domain'];
  33. $v_ip = $data[$v_domain]['IP'];
  34. $v_template = $data[$v_domain]['TPL'];
  35. $v_ttl = $data[$v_domain]['TTL'];
  36. $v_exp = $data[$v_domain]['EXP'];
  37. $v_soa = $data[$v_domain]['SOA'];
  38. $v_date = $data[$v_domain]['DATE'];
  39. $v_time = $data[$v_domain]['TIME'];
  40. exec (VESTA_CMD."v_list_dns_templates json", $output, $return_var);
  41. $templates = json_decode(implode('', $output), true);
  42. unset($output);
  43. }
  44. // Action
  45. if (!empty($_POST['save'])) {
  46. $v_domain = escapeshellarg($_POST['v_domain']);
  47. // IP
  48. if (($v_ip != $_POST['v_ip']) && (empty($_SESSION['error_msg']))) {
  49. $v_ip = escapeshellarg($_POST['v_ip']);
  50. exec (VESTA_CMD."v_change_dns_domain_ip ".$v_username." ".$v_domain." ".$v_ip." 'no'", $output, $return_var);
  51. if ($return_var != 0) {
  52. $error = implode('<br>', $output);
  53. if (empty($error)) $error = 'Error: vesta did not return any output.';
  54. $_SESSION['error_msg'] = $error;
  55. }
  56. $restart_dns = 'yes';
  57. unset($output);
  58. }
  59. // Template
  60. if (($v_template != $_POST['v_template']) && (empty($_SESSION['error_msg']))) {
  61. $v_template = escapeshellarg($_POST['v_template']);
  62. exec (VESTA_CMD."v_change_dns_domain_tpl ".$v_username." ".$v_domain." ".$v_template." 'no'", $output, $return_var);
  63. if ($return_var != 0) {
  64. $error = implode('<br>', $output);
  65. if (empty($error)) $error = 'Error: vesta did not return any output.';
  66. $_SESSION['error_msg'] = $error;
  67. }
  68. unset($output);
  69. $restart_dns = 'yes';
  70. }
  71. // SOA
  72. if (($v_soa != $_POST['v_soa']) && (empty($_SESSION['error_msg']))) {
  73. $v_soa = escapeshellarg($_POST['v_soa']);
  74. exec (VESTA_CMD."v_change_dns_domain_soa ".$v_username." ".$v_domain." ".$v_soa." 'no'", $output, $return_var);
  75. if ($return_var != 0) {
  76. $error = implode('<br>', $output);
  77. if (empty($error)) $error = 'Error: vesta did not return any output.';
  78. $_SESSION['error_msg'] = $error;
  79. }
  80. unset($output);
  81. $restart_dns = 'yes';
  82. }
  83. // EXP
  84. if (($v_exp != $_POST['v_exp']) && (empty($_SESSION['error_msg']))) {
  85. $v_exp = escapeshellarg($_POST['v_exp']);
  86. exec (VESTA_CMD."v_change_dns_domain_exp ".$v_username." ".$v_domain." ".$v_exp." 'no'", $output, $return_var);
  87. if ($return_var != 0) {
  88. $error = implode('<br>', $output);
  89. if (empty($error)) $error = 'Error: vesta did not return any output.';
  90. $_SESSION['error_msg'] = $error;
  91. }
  92. unset($output);
  93. $restart_dns = 'yes';
  94. }
  95. // TTL
  96. if (($v_ttl != $_POST['v_ttl']) && (empty($_SESSION['error_msg']))) {
  97. $v_ttl = escapeshellarg($_POST['v_ttl']);
  98. exec (VESTA_CMD."v_change_dns_domain_ttl ".$v_username." ".$v_domain." ".$v_ttl." 'no'", $output, $return_var);
  99. if ($return_var != 0) {
  100. $error = implode('<br>', $output);
  101. if (empty($error)) $error = 'Error: vesta did not return any output.';
  102. $_SESSION['error_msg'] = $error;
  103. }
  104. unset($output);
  105. $restart_dns = 'yes';
  106. }
  107. // Restart dns
  108. if (!empty($restart_dns) && (empty($_SESSION['error_msg']))) {
  109. exec (VESTA_CMD."v_restart_dns", $output, $return_var);
  110. if ($return_var != 0) {
  111. $error = implode('<br>', $output);
  112. if (empty($error)) $error = 'Error: vesta did not return any output.';
  113. $_SESSION['error_msg'] = $error;
  114. }
  115. }
  116. if (empty($_SESSION['error_msg'])) {
  117. $_SESSION['ok_msg'] = "OK: changes has been saved.";
  118. }
  119. }
  120. include($_SERVER['DOCUMENT_ROOT'].'/templates/admin/menu_edit_dns.html');
  121. include($_SERVER['DOCUMENT_ROOT'].'/templates/admin/edit_dns.html');
  122. unset($_SESSION['error_msg']);
  123. unset($_SESSION['ok_msg']);
  124. }
  125. // Footer
  126. include($_SERVER['DOCUMENT_ROOT'].'/templates/footer.html');