index.php 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  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. $account = $_POST['account'];
  8. $action = $_POST['action'];
  9. if ($_SESSION['userContext'] === 'admin') {
  10. if (empty($account)) {
  11. switch ($action) {
  12. case 'rebuild': $cmd='v-rebuild-mail-domain';
  13. break;
  14. case 'delete': $cmd='v-delete-mail-domain';
  15. break;
  16. case 'suspend': $cmd='v-suspend-mail-domain';
  17. break;
  18. case 'unsuspend': $cmd='v-unsuspend-mail-domain';
  19. break;
  20. default: header("Location: /list/mail/"); exit;
  21. }
  22. } else {
  23. switch ($action) {
  24. case 'delete': $cmd='v-delete-mail-account';
  25. break;
  26. case 'suspend': $cmd='v-suspend-mail-account';
  27. break;
  28. case 'unsuspend': $cmd='v-unsuspend-mail-account';
  29. break;
  30. default: header("Location: /list/mail/?domain=".$domain); exit;
  31. }
  32. }
  33. } else {
  34. if (empty($account)) {
  35. switch ($action) {
  36. case 'delete': $cmd='v-delete-mail-domain';
  37. break;
  38. default: header("Location: /list/mail/"); exit;
  39. }
  40. } else {
  41. switch ($action) {
  42. case 'delete': $cmd='v-delete-mail-account';
  43. break;
  44. default: header("Location: /list/mail/?domain=".$domain); exit;
  45. }
  46. }
  47. }
  48. if (empty($account)) {
  49. foreach ($domain as $value) {
  50. // Mail
  51. $value = escapeshellarg($value);
  52. exec(HESTIA_CMD.$cmd." ".$user." ".$value, $output, $return_var);
  53. $restart = 'yes';
  54. }
  55. } else {
  56. foreach ($account as $value) {
  57. // Mail Account
  58. $value = escapeshellarg($value);
  59. $dom = escapeshellarg($domain);
  60. exec(HESTIA_CMD.$cmd." ".$user." ".$dom." ".$value, $output, $return_var);
  61. $restart = 'yes';
  62. }
  63. }
  64. if (empty($account)) {
  65. header("Location: /list/mail/");
  66. exit;
  67. } else {
  68. header("Location: /list/mail/?domain=".$domain);
  69. exit;
  70. }