index.php 2.2 KB

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