delete.php 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. <?php
  2. require_once("inc/prerequisites.inc.php");
  3. $AuthUsers = array("admin", "domainadmin", "user");
  4. if (!isset($_SESSION['mailcow_cc_role']) OR !in_array($_SESSION['mailcow_cc_role'], $AuthUsers)) {
  5. header('Location: /');
  6. exit();
  7. }
  8. require_once("inc/header.inc.php");
  9. ?>
  10. <div class="container">
  11. <div class="row">
  12. <div class="col-md-12">
  13. <div class="panel panel-default">
  14. <div class="panel-heading">
  15. <h3 class="panel-title"><?=$lang['delete']['title'];?></h3>
  16. </div>
  17. <div class="panel-body">
  18. <?php
  19. if (isset($_SESSION['mailcow_cc_role']) && ($_SESSION['mailcow_cc_role'] == "admin" || $_SESSION['mailcow_cc_role'] == "domainadmin")) {
  20. // DELETE DOMAIN
  21. if (isset($_GET["domain"]) &&
  22. is_valid_domain_name($_GET["domain"]) &&
  23. !empty($_GET["domain"]) &&
  24. $_SESSION['mailcow_cc_role'] == "admin") {
  25. $domain = $_GET["domain"];
  26. ?>
  27. <div class="alert alert-warning" role="alert"><?=sprintf($lang['delete']['remove_domain_warning'], htmlspecialchars($_GET["domain"]));?></div>
  28. <p><?=$lang['delete']['remove_domain_details'];?></p>
  29. <form class="form-horizontal" role="form" method="post" action="/mailbox.php">
  30. <input type="hidden" name="domain" value="<?php echo htmlspecialchars($domain) ?>">
  31. <div class="form-group">
  32. <div class="col-sm-offset-1 col-sm-10">
  33. <button type="submit" name="mailbox_delete_domain" class="btn btn-default btn-sm"><?=$lang['delete']['remove_button'];?></button>
  34. </div>
  35. </div>
  36. </form>
  37. <?php
  38. }
  39. // DELETE ALIAS
  40. elseif (isset($_GET["alias"]) &&
  41. (filter_var($_GET["alias"], FILTER_VALIDATE_EMAIL) || is_valid_domain_name(substr(strrchr($_GET["alias"], "@"), 1))) &&
  42. !empty($_GET["alias"])) {
  43. $domain = substr(strrchr($_GET["alias"], "@"), 1);
  44. if (hasDomainAccess($_SESSION['mailcow_cc_username'], $_SESSION['mailcow_cc_role'], $domain)) {
  45. ?>
  46. <div class="alert alert-warning" role="alert"><?=sprintf($lang['delete']['remove_alias_warning'], htmlspecialchars($_GET["alias"]));?></div>
  47. <p><?=$lang['delete']['remove_alias_details'];?></p>
  48. <form class="form-horizontal" role="form" method="post" action="/mailbox.php">
  49. <input type="hidden" name="address" value="<?php echo htmlspecialchars($_GET["alias"]) ?>">
  50. <div class="form-group">
  51. <div class="col-sm-offset-1 col-sm-10">
  52. <button type="submit" name="mailbox_delete_alias" class="btn btn-default btn-sm"><?=$lang['delete']['remove_button'];?></button>
  53. </div>
  54. </div>
  55. </form>
  56. <?php
  57. }
  58. else {
  59. ?>
  60. <div class="alert alert-info" role="alert"><?=$lang['info']['no_action'];?></div>
  61. <?php
  62. }
  63. }
  64. // DELETE ALIAS DOMAIN
  65. elseif (
  66. isset($_GET["aliasdomain"]) &&
  67. is_valid_domain_name($_GET["aliasdomain"]) &&
  68. !empty($_GET["aliasdomain"])) {
  69. $alias_domain = $_GET["aliasdomain"];
  70. $result = mailbox_get_alias_domain_details($alias_domain);
  71. if (!empty($result)) {
  72. ?>
  73. <div class="alert alert-warning" role="alert"><?=sprintf($lang['delete']['remove_domainalias_warning'], htmlspecialchars($_GET["aliasdomain"]));?></div>
  74. <form class="form-horizontal" role="form" method="post" action="/mailbox.php">
  75. <input type="hidden" name="alias_domain" value="<?php echo htmlspecialchars($alias_domain) ?>">
  76. <div class="form-group">
  77. <div class="col-sm-offset-1 col-sm-10">
  78. <button type="submit" name="mailbox_delete_alias_domain" class="btn btn-default btn-sm"><?=$lang['delete']['remove_button'];?></button>
  79. </div>
  80. </div>
  81. </form>
  82. <?php
  83. }
  84. else {
  85. ?>
  86. <div class="alert alert-info" role="alert"><?=$lang['info']['no_action'];?></div>
  87. <?php
  88. }
  89. }
  90. // DELETE DOMAIN ADMIN
  91. elseif (isset($_GET["domainadmin"]) &&
  92. ctype_alnum(str_replace(array('_', '.', '-'), '', $_GET["domainadmin"])) &&
  93. !empty($_GET["domainadmin"]) &&
  94. $_SESSION['mailcow_cc_role'] == "admin") {
  95. $domain_admin = $_GET["domainadmin"];
  96. ?>
  97. <div class="alert alert-warning" role="alert"><?=sprintf($lang['delete']['remove_domainadmin_warning'], htmlspecialchars($_GET["domainadmin"]));?></div>
  98. <form class="form-horizontal" role="form" method="post" action="/admin.php">
  99. <input type="hidden" name="username" value="<?=htmlspecialchars($domain_admin);?>">
  100. <div class="form-group">
  101. <div class="col-sm-offset-1 col-sm-10">
  102. <button type="submit" name="delete_domain_admin" class="btn btn-default btn-sm"><?=$lang['delete']['remove_button'];?></button>
  103. </div>
  104. </div>
  105. </form>
  106. <?php
  107. }
  108. // DELETE MAILBOX
  109. elseif (isset($_GET["mailbox"]) &&
  110. filter_var($_GET["mailbox"], FILTER_VALIDATE_EMAIL) &&
  111. !empty($_GET["mailbox"])) {
  112. $mailbox = $_GET["mailbox"];
  113. if (hasMailboxObjectAccess($_SESSION['mailcow_cc_username'], $_SESSION['mailcow_cc_role'], $mailbox)) {
  114. ?>
  115. <div class="alert alert-warning" role="alert"><?=sprintf($lang['delete']['remove_mailbox_warning'], htmlspecialchars($_GET["mailbox"]));?></div>
  116. <p><?=$lang['delete']['remove_mailbox_details'];?></p>
  117. <form class="form-horizontal" role="form" method="post" action="/mailbox.php">
  118. <input type="hidden" name="username" value="<?=htmlspecialchars($mailbox);?>">
  119. <div class="form-group">
  120. <div class="col-sm-offset-1 col-sm-10">
  121. <button type="submit" name="mailbox_delete_mailbox" class="btn btn-default btn-sm"><?=$lang['delete']['remove_button'];?></button>
  122. </div>
  123. </div>
  124. </form>
  125. <?php
  126. }
  127. else {
  128. ?>
  129. <div class="alert alert-info" role="alert"><?=$lang['info']['no_action'];?></div>
  130. <?php
  131. }
  132. }
  133. else {
  134. ?>
  135. <div class="alert alert-info" role="alert"><?=$lang['info']['no_action'];?></div>
  136. <?php
  137. }
  138. }
  139. elseif (isset($_SESSION['mailcow_cc_role']) && ($_SESSION['mailcow_cc_role'] == "user")) {
  140. // DELETE SYNCJOB
  141. if (isset($_GET["syncjob"]) &&
  142. is_numeric($_GET["syncjob"]) &&
  143. filter_var($_SESSION['mailcow_cc_username'], FILTER_VALIDATE_EMAIL)) {
  144. $id = $_GET["syncjob"];
  145. $result = get_syncjob_details($id);
  146. if (!empty($result)) {
  147. ?>
  148. <div class="alert alert-warning" role="alert"><?=sprintf($lang['delete']['remove_syncjob_warning'], htmlspecialchars($result['user2']));?></div>
  149. <p><?=$lang['delete']['remove_syncjob_details'];?></p>
  150. <form class="form-horizontal" role="form" method="post" action="/user.php">
  151. <input type="hidden" name="username" value="<?=htmlspecialchars($mailbox);?>">
  152. <div class="form-group">
  153. <div class="col-sm-offset-1 col-sm-10">
  154. <input type="hidden" name="id" value="<?=$_GET["syncjob"];?>">
  155. <button type="submit" name="delete_syncjob" value="1" class="btn btn-default btn-sm"><?=$lang['delete']['remove_button'];?></button>
  156. </div>
  157. </div>
  158. </form>
  159. <?php
  160. }
  161. else {
  162. ?>
  163. <div class="alert alert-info" role="alert"><?=$lang['info']['no_action'];?></div>
  164. <?php
  165. }
  166. }
  167. else {
  168. ?>
  169. <div class="alert alert-info" role="alert"><?=$lang['info']['no_action'];?></div>
  170. <?php
  171. }
  172. }
  173. else {
  174. ?>
  175. <div class="alert alert-danger" role="alert"><?=$lang['danger']['access_denied'];?></div>
  176. <?php
  177. }
  178. ?>
  179. </div>
  180. </div>
  181. </div>
  182. </div>
  183. <a href="<?=$_SESSION['return_to'];?>">&#8592; <?=$lang['delete']['previous'];?></a>
  184. </div> <!-- /container -->
  185. <?php
  186. require_once("inc/footer.inc.php");
  187. ?>