index.php 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <?php
  2. // Init
  3. error_reporting(NULL);
  4. ob_start();
  5. session_start();
  6. header('Content-Type: application/json');
  7. include($_SERVER['DOCUMENT_ROOT']."/inc/main.php");
  8. // Check token
  9. if ((!isset($_POST['token'])) || ($_SESSION['token'] != $_POST['token'])) {
  10. exit();
  11. }
  12. $user = $_POST['user'];
  13. $action = $_POST['action'];
  14. if ($_SESSION['user'] == 'admin') {
  15. switch ($action) {
  16. case 'delete': $cmd='v-delete-user'; $restart = 'no';
  17. break;
  18. case 'suspend': $cmd='v-suspend-user'; $restart = 'no';
  19. break;
  20. case 'unsuspend': $cmd='v-unsuspend-user'; $restart = 'no';
  21. break;
  22. case 'update counters': $cmd='v-update-user-counters';
  23. break;
  24. case 'rebuild': $cmd='v-rebuild-user'; $restart = 'no';
  25. break;
  26. case 'rebuild web': $cmd='v-rebuild-web-domains'; $restart = 'no';
  27. break;
  28. case 'rebuild dns': $cmd='v-rebuild-dns-domains'; $restart = 'no';
  29. break;
  30. case 'rebuild mail': $cmd='v-rebuild-mail-domains';
  31. break;
  32. case 'rebuild db': $cmd='v-rebuild-databases';
  33. break;
  34. case 'rebuild cron': $cmd='v-rebuild-cron-jobs';
  35. break;
  36. default: exit;
  37. }
  38. } else {
  39. switch ($action) {
  40. case 'update counters': $cmd='v-update-user-counters';
  41. break;
  42. default: exit;
  43. }
  44. }
  45. foreach ($user as $value) {
  46. $value = escapeshellarg($value);
  47. exec (VESTA_CMD.$cmd." ".$value." ".$restart, $output, $return_var);
  48. $changes = 'yes';
  49. }
  50. if ((!empty($restart)) && (!empty($changes))) {
  51. exec (VESTA_CMD."v-restart-web", $output, $return_var);
  52. exec (VESTA_CMD."v-restart-dns", $output, $return_var);
  53. exec (VESTA_CMD."v-restart-cron", $output, $return_var);
  54. }
  55. $result = array(
  56. 'error' => $_SESSION['error_msg'],
  57. 'ok_msg' => $_SESSION['ok_msg']
  58. );
  59. echo json_encode($result);
  60. unset($_SESSION['error_msg']);
  61. unset($_SESSION['ok_msg']);