index.php 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  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. $database = $_POST["database"];
  8. $action = $_POST["action"];
  9. if ($_SESSION["userContext"] === "admin") {
  10. switch ($action) {
  11. case "rebuild":
  12. $cmd = "v-rebuild-database";
  13. break;
  14. case "delete":
  15. $cmd = "v-delete-database";
  16. break;
  17. case "suspend":
  18. $cmd = "v-suspend-database";
  19. break;
  20. case "unsuspend":
  21. $cmd = "v-unsuspend-database";
  22. break;
  23. default:
  24. header("Location: /list/db/");
  25. exit();
  26. }
  27. } else {
  28. switch ($action) {
  29. case "delete":
  30. $cmd = "v-delete-database";
  31. break;
  32. case "suspend":
  33. $cmd = "v-suspend-database";
  34. break;
  35. case "unsuspend":
  36. $cmd = "v-unsuspend-database";
  37. break;
  38. default:
  39. header("Location: /list/db/");
  40. exit();
  41. }
  42. }
  43. foreach ($database as $value) {
  44. $value = quoteshellarg($value);
  45. exec(HESTIA_CMD . $cmd . " " . $user . " " . $value, $output, $return_var);
  46. }
  47. header("Location: /list/db/");