qhandler.php 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. <?php
  2. session_start();
  3. require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/prerequisites.inc.php';
  4. if (quarantine('hash_details', $_GET['hash']) === false && !isset($_POST)) {
  5. header('Location: /admin');
  6. exit();
  7. }
  8. require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/header.inc.php';
  9. if (preg_match("/^([a-f0-9]{64})$/", $_POST['quick_release']) || preg_match("/^([a-f0-9]{64})$/", $_POST['quick_delete'])) {
  10. ?>
  11. <div class="container">
  12. <div class="row">
  13. <div class="col-md-offset-2 col-md-8">
  14. <div class="panel panel-default">
  15. <div class="panel-heading"><span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span> <?= $lang['header']['quarantine']; ?></div>
  16. <div class="panel-body">
  17. <legend><?=(isset($_POST['quick_release'])) ? $lang['quarantine']['release'] : $lang['quarantine']['remove'];?></legend>
  18. <p><?=$lang['quarantine']['qhandler_success'];?></p>
  19. </div>
  20. </div>
  21. </div>
  22. </div> <!-- /row -->
  23. </div> <!-- /container -->
  24. <?php
  25. }
  26. elseif (in_array($_GET['action'], array('release', 'delete'))) {
  27. if (preg_match("/^([a-f0-9]{64})$/", $_GET['hash'])) {
  28. if ($_GET['action'] == "release"):
  29. ?>
  30. <div class="container">
  31. <div class="row">
  32. <div class="col-md-offset-2 col-md-8">
  33. <div class="panel panel-default">
  34. <div class="panel-heading"><span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span> <?= $lang['header']['quarantine']; ?></div>
  35. <div class="panel-body">
  36. <legend data-hash="<?=$_GET['hash'];?>"><?=$lang['quarantine']['release'];?></legend>
  37. <div id="qid_error" style="display:none" class="alert alert-danger"></div>
  38. <div class="form-group">
  39. <label for="qid_detail_symbols"><h4><?=$lang['quarantine']['rspamd_result'];?>:</h4></label>
  40. <p><?=$lang['quarantine']['spam_score'];?>: <span id="qid_detail_score"></span></p>
  41. <p id="qid_detail_symbols"></p>
  42. </div>
  43. <div class="form-group">
  44. <label for="qid_detail_subj"><h4><?=$lang['quarantine']['subj'];?>:</h4></label>
  45. <p id="qid_detail_subj"></p>
  46. </div>
  47. <div class="form-group">
  48. <label for="qid_detail_hfrom"><h4><?=$lang['quarantine']['sender_header'];?>:</h4></label>
  49. <p><span class="mail-address-item" id="qid_detail_hfrom"></span></p>
  50. </div>
  51. <div class="form-group">
  52. <label for="qid_detail_efrom"><h4><?=$lang['quarantine']['sender'];?>:</h4></label>
  53. <p><span class="mail-address-item" id="qid_detail_efrom"></span></p>
  54. </div>
  55. <div class="form-group">
  56. <label for="qid_detail_recipients"><h4><?=$lang['quarantine']['recipients'];?>:</h4></label>
  57. <p id="qid_detail_recipients"></p>
  58. </div>
  59. <form method="post" autofill="off">
  60. <div class="form-group">
  61. <button type="submit" class="btn btn-success" name="quick_release" value="<?=$_GET['hash'];?>"><?= $lang['tfa']['confirm']; ?></button>
  62. </div>
  63. </form>
  64. </div>
  65. </div>
  66. </div>
  67. </div> <!-- /row -->
  68. </div> <!-- /container -->
  69. <?php
  70. elseif ($_GET['action'] == "delete"):
  71. ?>
  72. <div class="container">
  73. <div class="row">
  74. <div class="col-md-offset-2 col-md-8">
  75. <div class="panel panel-default">
  76. <div class="panel-heading"><span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span> <?= $lang['header']['quarantine']; ?></div>
  77. <div class="panel-body">
  78. <legend data-hash="<?=$_GET['hash'];?>"><?=$lang['quarantine']['remove'];?></legend>
  79. <div id="qid_error" style="display:none" class="alert alert-danger"></div>
  80. <div class="form-group">
  81. <label for="qid_detail_symbols"><h4><?=$lang['quarantine']['rspamd_result'];?>:</h4></label>
  82. <p><?=$lang['quarantine']['spam_score'];?>: <span id="qid_detail_score"></span></p>
  83. <p id="qid_detail_symbols"></p>
  84. </div>
  85. <div class="form-group">
  86. <label for="qid_detail_subj"><h4><?=$lang['quarantine']['subj'];?>:</h4></label>
  87. <p id="qid_detail_subj"></p>
  88. </div>
  89. <div class="form-group">
  90. <label for="qid_detail_hfrom"><h4><?=$lang['quarantine']['sender_header'];?>:</h4></label>
  91. <p><span class="mail-address-item" id="qid_detail_hfrom"></span></p>
  92. </div>
  93. <div class="form-group">
  94. <label for="qid_detail_efrom"><h4><?=$lang['quarantine']['sender'];?>:</h4></label>
  95. <p><span class="mail-address-item" id="qid_detail_efrom"></span></p>
  96. </div>
  97. <div class="form-group">
  98. <label for="qid_detail_recipients"><h4><?=$lang['quarantine']['recipients'];?>:</h4></label>
  99. <p id="qid_detail_recipients"></p>
  100. </div>
  101. <form method="post" autofill="off">
  102. <div class="form-group">
  103. <button type="submit" class="btn btn-success" name="quick_delete" value="<?=$_GET['hash'];?>"><?= $lang['tfa']['confirm']; ?></button>
  104. </div>
  105. </form>
  106. </div>
  107. </div>
  108. </div>
  109. </div> <!-- /row -->
  110. </div> <!-- /container -->
  111. <?php
  112. endif;
  113. }
  114. }
  115. $js_minifier->add('/web/js/site/qhandler.js');
  116. require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/footer.inc.php';
  117. ?>