index.php 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  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. if (empty($_POST["user"])) {
  8. header("Location: /list/user");
  9. exit();
  10. }
  11. if (empty($_POST["action"])) {
  12. header("Location: /list/user");
  13. exit();
  14. }
  15. $user = $_POST["user"];
  16. $action = $_POST["action"];
  17. if ($_SESSION["userContext"] === "admin") {
  18. switch ($action) {
  19. case "delete":
  20. $cmd = "v-delete-user";
  21. $restart = "no";
  22. break;
  23. case "suspend":
  24. $cmd = "v-suspend-user";
  25. $restart = "no";
  26. break;
  27. case "unsuspend":
  28. $cmd = "v-unsuspend-user";
  29. $restart = "no";
  30. break;
  31. case "update counters":
  32. $cmd = "v-update-user-counters";
  33. break;
  34. case "rebuild":
  35. $cmd = "v-rebuild-all";
  36. $restart = "no";
  37. break;
  38. case "rebuild user":
  39. $cmd = "v-rebuild-user";
  40. $restart = "no";
  41. break;
  42. case "rebuild web":
  43. $cmd = "v-rebuild-web-domains";
  44. $restart = "no";
  45. break;
  46. case "rebuild dns":
  47. $cmd = "v-rebuild-dns-domains";
  48. $restart = "no";
  49. break;
  50. case "rebuild mail":
  51. $cmd = "v-rebuild-mail-domains";
  52. break;
  53. case "rebuild db":
  54. $cmd = "v-rebuild-databases";
  55. break;
  56. case "rebuild cron":
  57. $cmd = "v-rebuild-cron-jobs";
  58. break;
  59. default:
  60. header("Location: /list/user/");
  61. exit();
  62. }
  63. } else {
  64. switch ($action) {
  65. case "update counters":
  66. $cmd = "v-update-user-counters";
  67. break;
  68. default:
  69. header("Location: /list/user/");
  70. exit();
  71. }
  72. }
  73. foreach ($user as $value) {
  74. $value = quoteshellarg($value);
  75. exec(HESTIA_CMD . $cmd . " " . $value . " " . $restart, $output, $return_var);
  76. $changes = "yes";
  77. }
  78. header("Location: /list/user/");