quarantine.php 4.3 KB

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