index.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <?php
  2. ob_start();
  3. include($_SERVER['DOCUMENT_ROOT']."/inc/main.php");
  4. // Check token
  5. verify_csrf($_POST);
  6. $domain = $_POST['domain'];
  7. $record = $_POST['record'];
  8. $action = $_POST['action'];
  9. if ($_SESSION['userContext'] === 'admin') {
  10. if (empty($record)) {
  11. switch ($action) {
  12. case 'rebuild': $cmd='v-rebuild-dns-domain';
  13. break;
  14. case 'delete': $cmd='v-delete-dns-domain';
  15. break;
  16. case 'suspend': $cmd='v-suspend-dns-domain';
  17. break;
  18. case 'unsuspend': $cmd='v-unsuspend-dns-domain';
  19. break;
  20. default: header("Location: /list/dns/"); exit;
  21. }
  22. } else {
  23. switch ($action) {
  24. case 'delete': $cmd='v-delete-dns-record';
  25. break;
  26. case 'suspend': $cmd='v-suspend-dns-record';
  27. break;
  28. case 'unsuspend': $cmd='v-unsuspend-dns-record';
  29. break;
  30. default: header("Location: /list/dns/?domain=".$domain); exit;
  31. }
  32. }
  33. } else {
  34. if (empty($record)) {
  35. switch ($action) {
  36. case 'delete': $cmd='v-delete-dns-domain';
  37. break;
  38. default: header("Location: /list/dns/"); exit;
  39. }
  40. } else {
  41. switch ($action) {
  42. case 'delete': $cmd='v-delete-dns-record';
  43. break;
  44. default: header("Location: /list/dns/?domain=".$domain); exit;
  45. }
  46. }
  47. }
  48. if (empty($record)) {
  49. foreach ($domain as $value) {
  50. // DNS
  51. $value = escapeshellarg($value);
  52. exec(HESTIA_CMD.$cmd." ".$user." ".$value." no", $output, $return_var);
  53. $restart = 'yes';
  54. }
  55. } else {
  56. foreach ($record as $value) {
  57. // DNS Record
  58. $value = escapeshellarg($value);
  59. $dom = escapeshellarg($domain);
  60. exec(HESTIA_CMD.$cmd." ".$user." ".$dom." ".$value." no", $output, $return_var);
  61. $restart = 'yes';
  62. }
  63. }
  64. if (!empty($restart)) {
  65. exec(HESTIA_CMD."v-restart-dns", $output, $return_var);
  66. }
  67. if (empty($record)) {
  68. header("Location: /list/dns/");
  69. exit;
  70. } else {
  71. header("Location: /list/dns/?domain=".$domain);
  72. exit;
  73. }