index.php 2.3 KB

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