quarantine.php 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <?php
  2. require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/prerequisites.inc.php';
  3. if (isset($_SESSION['mailcow_cc_role'])) {
  4. require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/header.inc.php';
  5. $_SESSION['return_to'] = $_SERVER['REQUEST_URI'];
  6. $quarantine_settings = quarantine('settings');
  7. ?>
  8. <div class="container">
  9. <div class="row">
  10. <div class="col-md-12">
  11. <div class="panel panel-default panel-xs-lg">
  12. <div class="panel-heading">
  13. <?=$lang['quarantine']['quarantine'];?> <span class="badge badge-info table-lines"></span>
  14. <div class="btn-group pull-right">
  15. <button class="btn btn-xs btn-xs-lg btn-default refresh_table" data-draw="draw_quarantine_table" data-table="quarantinetable"><?=$lang['quarantine']['refresh'];?></button>
  16. <button type="button" class="btn btn-xs btn-xs-lg btn-default dropdown-toggle" data-toggle="dropdown"><?=$lang['quarantine']['table_size'];?>
  17. <span class="caret"></span>
  18. </button>
  19. <ul class="dropdown-menu" data-table-id="quarantinetable" role="menu">
  20. <li><a href="#" data-page-size="10"><?=sprintf($lang['quarantine']['table_size_show_n'], 10);?></a></li>
  21. <li><a href="#" data-page-size="20"><?=sprintf($lang['quarantine']['table_size_show_n'], 20);?></a></li>
  22. <li><a href="#" data-page-size="50"><?=sprintf($lang['quarantine']['table_size_show_n'], 50);?></a></li>
  23. <li><a href="#" data-page-size="100"><?=sprintf($lang['quarantine']['table_size_show_n'], 100);?></a></li>
  24. <li><a href="#" data-page-size="200"><?=sprintf($lang['quarantine']['table_size_show_n'], 200);?></a></li>
  25. <li><a href="#" data-page-size="500"><?=sprintf($lang['quarantine']['table_size_show_n'], 500);?></a></li>
  26. </ul>
  27. </div>
  28. </div>
  29. <p style="margin:10px" class="help-block"><?=$lang['quarantine']['qinfo'];?></p>
  30. <p style="margin:10px">
  31. <?php
  32. if (empty($quarantine_settings['retention_size'] || $quarantine_settings['max_size'])) {
  33. ?>
  34. <div class="panel-body"><div class="alert alert-info"><?=$lang['quarantine']['disabled_by_config'];?></div></div>
  35. <?php
  36. }
  37. else {
  38. ?>
  39. <p style="margin:10px" class="help-block"><?=sprintf($lang['quarantine']['settings_info'], $quarantine_settings['retention_size'], $quarantine_settings['max_size']);?></p>
  40. <?php
  41. }
  42. ?>
  43. </p>
  44. <div class="table-responsive">
  45. <table id="quarantinetable" class="table table-striped"></table>
  46. </div>
  47. <div class="mass-actions-quarantine">
  48. <div class="btn-group" data-acl="<?=$_SESSION['acl']['quarantine'];?>">
  49. <a class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default" id="toggle_multi_select_all" data-id="qitems" href="#"><i class="bi bi-check-all"></i> <?=$lang['quarantine']['toggle_all'];?></a>
  50. <a class="btn btn-sm btn-xs-half visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-default dropdown-toggle" data-toggle="dropdown" href="#"><?=$lang['quarantine']['quick_actions'];?> <span class="caret"></span></a>
  51. <ul class="dropdown-menu">
  52. <li><a data-action="edit_selected" data-id="qitems" data-api-url='edit/qitem' data-api-attr='{"action":"release"}' href="#"><?=$lang['quarantine']['deliver_inbox'];?></a></li>
  53. <li role="separator" class="divider"></li>
  54. <li><a data-action="edit_selected" data-id="qitems" data-api-url='edit/qitem' data-api-attr='{"action":"learnspam"}' href="#"><?=$lang['quarantine']['learn_spam_delete'];?></a></li>
  55. <li role="separator" class="divider"></li>
  56. <li><a data-action="delete_selected" data-id="qitems" data-api-url='delete/qitem' href="#"><?=$lang['quarantine']['remove'];?></a></li>
  57. </ul>
  58. <div class="clearfix visible-xs"></div>
  59. </div>
  60. </div>
  61. </div>
  62. </div> <!-- /col-md-12 -->
  63. </div> <!-- /row -->
  64. </div> <!-- /container -->
  65. <?php
  66. require_once $_SERVER['DOCUMENT_ROOT'] . '/modals/quarantine.php';
  67. ?>
  68. <script type='text/javascript'>
  69. <?php
  70. $lang_quarantine = json_encode($lang['quarantine']);
  71. echo "var acl = '". json_encode($_SESSION['acl']) . "';\n";
  72. echo "var lang = ". $lang_quarantine . ";\n";
  73. echo "var csrf_token = '". $_SESSION['CSRF']['TOKEN'] . "';\n";
  74. $role = ($_SESSION['mailcow_cc_role'] == "admin") ? 'admin' : 'domainadmin';
  75. echo "var role = '". $role . "';\n";
  76. echo "var pagination_size = '". $PAGINATION_SIZE . "';\n";
  77. ?>
  78. </script>
  79. <?php
  80. $js_minifier->add('/web/js/site/quarantine.js');
  81. require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/footer.inc.php';
  82. } else {
  83. header('Location: /');
  84. exit();
  85. }
  86. ?>