errors.php
上传用户:gzy2002
上传日期:2010-02-11
资源大小:1785k
文件大小:5k
源码类别:

电子政务应用

开发平台:

Java

  1. <?php
  2. // +-------------------------------------------------------------+
  3. // | DeskPRO v [2.0.1 Production]
  4. // | Copyright (C) 2001 - 2004 Headstart Solutions Limited
  5. // | Supplied by WTN-WDYL
  6. // | Nullified by WTN-WDYL
  7. // | Distribution via WebForum, ForumRU and associated file dumps
  8. // +-------------------------------------------------------------+
  9. // | DESKPRO IS NOT FREE SOFTWARE
  10. // +-------------------------------------------------------------+
  11. // | License ID : Full Enterprise License =) ...
  12. // | License Owner : WTN-WDYL Team
  13. // +-------------------------------------------------------------+
  14. // | $RCSfile: errors.php,v $
  15. // | $Date: 2004/02/11 01:28:14 $
  16. // | $Revision: 1.23 $
  17. // +-------------------------------------------------------------+
  18. // | File Details:
  19. // | - View and purge e-mail gateway error logs (administration
  20. // |   interface)
  21. // +-------------------------------------------------------------+
  22. error_reporting(E_ALL & ~E_NOTICE);
  23. require_once('./global.php');
  24. //Nullify WTN-WDYL Team
  25. if ($_REQUEST['do'] == 'clearall') {
  26. $db->query("SELECT sourceid FROM gateway_error");
  27. $sources = array();
  28. while ($res = $db->row_array()) {
  29. $sources[] = $res['sourceid'];
  30. }
  31. if (count($sources)) {
  32. $sources = array2sql($sources);
  33. $db->query("DELETE FROM gateway_source WHERE id IN $sources");
  34. $db->query("DELETE FROM gateway_error");
  35. $db->query("UPDATE ticket_message SET sourceid = 0 WHERE sourceid IN $sources");
  36. $db->query("DELETE FROM gateway_auto");
  37. }
  38. $alert = 'Gateway errors and related source messages deleted.';
  39. alert($alert);
  40. unset($_REQUEST['do']);
  41. }
  42. if ($_REQUEST['do'] == 'clearpop') {
  43. unset($_REQUEST['do']);
  44. $db->query("DELETE FROM gateway_pop_failures");
  45. alert('POP3 Errors Deleted');
  46. }
  47. if (!$_REQUEST['do']) {
  48. admin_header('E-mail Gateway', 'View Errors');
  49. $show_field_name[] = "Date";
  50. $show_field_name[] = "Error Type";
  51. $show_field_name[] = "View Source Message";
  52. $db->query("SELECT * FROM gateway_error");
  53. while ($error = $db->row_array()) {
  54. if (!$error['sourceid']) {
  55. next;
  56. }
  57. $array = array();
  58. if ($error['timestamp']) {
  59. $array[] = our_date($error['timestamp'], 'full');
  60. } else {
  61. $array[] = "";
  62. }
  63. switch ($error['error']) {
  64. case 'autoerror':
  65. $array[] = 'Auto Error';
  66. break;
  67. case 'autoresponds_reply':
  68. $array[] = 'Auto Reply';
  69. break;
  70. case 'banned_email':
  71. $array[] = 'Banned E-mail';
  72. break;
  73. case 'no_subject':
  74. $array[] = 'No Subject';
  75. break;
  76. case 'no_message':
  77. $array[] = 'Empty Body';
  78. break;
  79. case 'unregistered':
  80. $array[] = 'Unregistered';
  81. break;
  82. case 'no_email':
  83. $array[] = 'No "From:" Address';
  84. break;
  85. case 'no_ticket':
  86. $array[] = 'No Such Ticket';
  87. break;
  88. case 'ticket_closed':
  89. $array[] = 'Closed Ticket';
  90. break;
  91. case 'attachment_too_big':
  92. $array[] = 'Attachment too big';
  93. break;
  94. case 'message_too_big':
  95. $array[] = 'Attachment too big';
  96. break;
  97. case 'no_gateway':
  98. $array[] = 'No gateways are configured';
  99. break;
  100. case 'no_gateway':
  101. $array[] = 'No gateways are configured';
  102. break;
  103. case 'invalid_email':
  104. $array[] = 'Invalid e-mail address';
  105. break;
  106. case 'duplicate_subject':
  107. $array[] = 'Rejected; duplicate subject';
  108. break;
  109. default:
  110. $array[] = $error['error'];
  111. break;
  112. }
  113. $array[] = "<center><a href="errors.php?do=source&id=$error[sourceid]">View Source Message</a></center>";
  114. $table[] = $array;
  115. }
  116. if (!count($table)) {
  117. $table[] = array('<center>No logged errors</center>');
  118. } else {
  119. $table[] = array('<center><A HREF="errors.php?do=clearall">Clear All Errors and Related Source Messages</A></center>');
  120. }
  121. table_header("Gateway Errors");
  122. table_content($show_field_name, $table);
  123. table_footer('');
  124. $show_field_name[] = "Date";
  125. $show_field_name[] = "Mailbox Message ID (if available)";
  126. $show_field_name[] = "Message";
  127. $pop3_errors = $db->query_return_array_id("SELECT * FROM gateway_pop_failures");
  128. if ($db->num_rows()) {
  129. $table = array();
  130. foreach ($pop3_errors AS $error) {
  131. $table[] = array(our_date($error['stamp'], 1), $error['messageid'], $error['reason']);
  132. }
  133. $table[] = array('<center><A HREF="errors.php?do=clearpop">Clear All Errors</A></center>');
  134. table_header("POP3 Errors");
  135. table_content($show_field_name, $table);
  136. table_footer('');
  137. }
  138. } elseif ($_REQUEST['do'] == "source") {
  139. admin_header('E-mail Gateway', 'View Source Message');
  140. $db->query("SELECT source FROM gateway_source WHERE id = '$_REQUEST[id]'");
  141. $error = $db->row_array();
  142. echo '<A HREF="errors.php">Back to Error List.</A></P>';
  143. echo "<PRE>n" . htmlspecialchars($error['source']) . "n</PRE>";
  144. }