index.php 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  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. case 'suspend': $cmd='v-suspend-mail-domain';
  39. break;
  40. case 'unsuspend': $cmd='v-unsuspend-mail-domain';
  41. break;
  42. default: header("Location: /list/mail/"); exit;
  43. }
  44. } else {
  45. switch ($action) {
  46. case 'delete': $cmd='v-delete-mail-account';
  47. break;
  48. case 'suspend': $cmd='v-suspend-mail-account';
  49. break;
  50. case 'unsuspend': $cmd='v-unsuspend-mail-account';
  51. break;
  52. default: header("Location: /list/mail/?domain=".$domain); exit;
  53. }
  54. }
  55. }
  56. if (empty($account)) {
  57. foreach ($domain as $value) {
  58. // Mail
  59. $value = escapeshellarg($value);
  60. exec(HESTIA_CMD.$cmd." ".$user." ".$value, $output, $return_var);
  61. $restart = 'yes';
  62. }
  63. } else {
  64. foreach ($account as $value) {
  65. // Mail Account
  66. $value = escapeshellarg($value);
  67. $dom = escapeshellarg($domain);
  68. exec(HESTIA_CMD.$cmd." ".$user." ".$dom." ".$value, $output, $return_var);
  69. $restart = 'yes';
  70. }
  71. }
  72. if (empty($account)) {
  73. header("Location: /list/mail/");
  74. exit;
  75. } else {
  76. header("Location: /list/mail/?domain=".$domain);
  77. exit;
  78. }