index.php 1.5 KB

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