index.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. use function Hestiacp\quoteshellarg\quoteshellarg;
  3. ob_start();
  4. include $_SERVER["DOCUMENT_ROOT"] . "/inc/main.php";
  5. // Delete as someone else?
  6. if ($_SESSION["userContext"] === "admin" && !empty($_GET["user"])) {
  7. $user = quoteshellarg($user);
  8. }
  9. // Check token
  10. verify_csrf($_GET);
  11. // Mail domain
  12. if (!empty($_GET["domain"]) && empty($_GET["account"])) {
  13. $v_username = quoteshellarg($user);
  14. $v_domain = quoteshellarg($_GET["domain"]);
  15. exec(HESTIA_CMD . "v-delete-mail-domain " . $user . " " . $v_domain, $output, $return_var);
  16. check_return_code($return_var, $output);
  17. unset($output);
  18. $back = $_SESSION["back"];
  19. if ($return_var > 0) {
  20. header("Location: /list/mail/");
  21. }
  22. if (!empty($back)) {
  23. header("Location: " . $back);
  24. exit();
  25. }
  26. header("Location: /list/mail/");
  27. exit();
  28. }
  29. // Mail account
  30. if (!empty($_GET["domain"]) && !empty($_GET["account"])) {
  31. $v_domain = quoteshellarg($_GET["domain"]);
  32. $v_account = quoteshellarg($_GET["account"]);
  33. exec(
  34. HESTIA_CMD . "v-delete-mail-account " . $user . " " . $v_domain . " " . $v_account,
  35. $output,
  36. $return_var,
  37. );
  38. check_return_code($return_var, $output);
  39. unset($output);
  40. if ($return_var > 0) {
  41. header("Location: /list/mail/");
  42. } else {
  43. $back = $_SESSION["back"];
  44. if (!empty($back)) {
  45. header("Location: " . $back);
  46. exit();
  47. }
  48. header("Location: /list/mail/?domain=" . $_GET["domain"]);
  49. exit();
  50. }
  51. }
  52. $back = $_SESSION["back"];
  53. if (!empty($back)) {
  54. header("Location: " . $back);
  55. exit();
  56. }
  57. header("Location: /list/mail/");
  58. exit();