quarantine.php 4.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  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']['release'];?></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. <hr>
  55. <div class="panel-body help-block">
  56. <p><span class="dot-danger"></span> <?=$lang['quarantine']['high_danger'];?></p>
  57. <p><span class="dot-neutral"></span> <?=$lang['quarantine']['neutral_danger'];?></p>
  58. </div>
  59. </div>
  60. </div> <!-- /col-md-12 -->
  61. </div> <!-- /row -->
  62. </div> <!-- /container -->
  63. <?php
  64. require_once $_SERVER['DOCUMENT_ROOT'] . '/modals/quarantine.php';
  65. ?>
  66. <script type='text/javascript'>
  67. <?php
  68. $lang_mailbox = json_encode($lang['quarantine']);
  69. echo "var acl = '". json_encode($_SESSION['acl']) . "';\n";
  70. echo "var lang = ". $lang_mailbox . ";\n";
  71. echo "var csrf_token = '". $_SESSION['CSRF']['TOKEN'] . "';\n";
  72. $role = ($_SESSION['mailcow_cc_role'] == "admin") ? 'admin' : 'domainadmin';
  73. echo "var role = '". $role . "';\n";
  74. echo "var pagination_size = '". $PAGINATION_SIZE . "';\n";
  75. ?>
  76. </script>
  77. <?php
  78. $js_minifier->add('/web/js/site/quarantine.js');
  79. require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/footer.inc.php';
  80. } else {
  81. header('Location: /');
  82. exit();
  83. }
  84. ?>