index.php 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  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. $job = $_POST["job"];
  8. $action = $_POST["action"];
  9. if ($_SESSION["userContext"] === "admin") {
  10. switch ($action) {
  11. case "delete":
  12. $cmd = "v-delete-cron-job";
  13. break;
  14. case "suspend":
  15. $cmd = "v-suspend-cron-job";
  16. break;
  17. case "unsuspend":
  18. $cmd = "v-unsuspend-cron-job";
  19. break;
  20. case "delete-cron-reports":
  21. $cmd = "v-delete-cron-reports";
  22. exec(HESTIA_CMD . $cmd . " " . $user, $output, $return_var);
  23. $_SESSION["error_msg"] = _("Cron job email reporting has been successfully disabled.");
  24. unset($output);
  25. header("Location: /list/cron/");
  26. exit();
  27. break;
  28. case "add-cron-reports":
  29. $cmd = "v-add-cron-reports";
  30. exec(HESTIA_CMD . $cmd . " " . $user, $output, $return_var);
  31. $_SESSION["error_msg"] = _("Cron job email reporting has been successfully enabled.");
  32. unset($output);
  33. header("Location: /list/cron/");
  34. exit();
  35. break;
  36. default:
  37. header("Location: /list/cron/");
  38. exit();
  39. }
  40. } else {
  41. switch ($action) {
  42. case "delete":
  43. $cmd = "v-delete-cron-job";
  44. break;
  45. case "delete-cron-reports":
  46. $cmd = "v-delete-cron-reports";
  47. exec(HESTIA_CMD . $cmd . " " . $user, $output, $return_var);
  48. $_SESSION["error_msg"] = _("Cron job email reporting has been successfully disabled.");
  49. unset($output);
  50. header("Location: /list/cron/");
  51. exit();
  52. break;
  53. case "add-cron-reports":
  54. $cmd = "v-add-cron-reports";
  55. exec(HESTIA_CMD . $cmd . " " . $user, $output, $return_var);
  56. $_SESSION["error_msg"] = _("Cron job email reporting has been successfully enabled.");
  57. unset($output);
  58. header("Location: /list/cron/");
  59. exit();
  60. break;
  61. default:
  62. header("Location: /list/cron/");
  63. exit();
  64. }
  65. }
  66. foreach ($job as $value) {
  67. $value = quoteshellarg($value);
  68. exec(HESTIA_CMD . $cmd . " " . $user . " " . $value . " no", $output, $return_var);
  69. $restart = "yes";
  70. }
  71. if (!empty($restart)) {
  72. exec(HESTIA_CMD . "v-restart-cron", $output, $return_var);
  73. }
  74. header("Location: /list/cron/");