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

电子政务应用

开发平台:

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: pop.php,v $
  15. // | $Date: 2004/02/11 01:28:14 $
  16. // | $Revision: 1.16 $
  17. // +-------------------------------------------------------------+
  18. // | File Details:
  19. // | - POP3 gateway account maintenance (administration interface)
  20. // +-------------------------------------------------------------+
  21. error_reporting(E_ALL & ~E_NOTICE);
  22. require_once('./global.php');
  23. //Nullify WTN-WDYL Team
  24. // default do
  25. $_REQUEST['do'] = trim($_REQUEST['do']);
  26. if (!isset($_REQUEST['do']) or $_REQUEST['do'] == "") {
  27. $_REQUEST['do'] = "view";
  28. }
  29. // globalise variables
  30. $global = array (
  31. array('id', 'number')
  32. );
  33. rg($global);
  34. include('./settings_include.php');
  35. ############################### CREATE ACCOUNT ###############################
  36. if ($_REQUEST['do'] == "add2") {
  37. $db->query("SELECT id FROM gateway_accounts WHERE id = '$_REQUEST[accountid]'");
  38. if (!$db->num_rows()) {
  39. $_REQUEST['accountid'] = 0;
  40. }
  41. if ($_REQUEST['target'] != 'user') {
  42. $_REQUEST['accountid'] = 0;
  43. }
  44. $db->query("INSERT INTO gateway_pop_accounts SET
  45. accountid = '" . mysql_escape_string($_REQUEST['accountid']) . "',
  46. server = '" . mysql_escape_string($_REQUEST['server']) . "',
  47. username = '" . mysql_escape_string($_REQUEST['username']) . "',
  48. password = '" . mysql_escape_string($_REQUEST['password']) . "',
  49. target = '" . mysql_escape_string($_REQUEST['target']) . "'
  50. ");
  51. $id = $db->last_id();
  52. jump('pop.php?do=view', 'Remote POP3 account added');
  53. }
  54. ############################### EDIT ACCOUNT (2) ###############################
  55. if ($_REQUEST['do'] == "edit2") {
  56. $db->query("SELECT id FROM gateway_accounts WHERE id = $_REQUEST[accountid]");
  57. if (!$db->num_rows()) {
  58. $_REQUEST['accountid'] = 0;
  59. }
  60. if ($_REQUEST['target'] != 'user') {
  61. $_REQUEST['accountid'] = 0;
  62. }
  63. $db->query("
  64. UPDATE gateway_pop_accounts SET
  65. accountid = '" . mysql_escape_string($_REQUEST['accountid']) . "',
  66. server = '" . mysql_escape_string($_REQUEST['server']) . "',
  67. username = '" . mysql_escape_string($_REQUEST['username']) . "',
  68. password = '" . mysql_escape_string($_REQUEST['password']) . "',
  69. target = '" . mysql_escape_string($_REQUEST['target']) . "'
  70. WHERE id = '$id'
  71. ");
  72. jump('pop.php?do=view', 'Remote POP3 account added');
  73. }
  74. ############################### DELETE ACCOUNT ###############################
  75. if ($_REQUEST['do'] == "delete") {
  76. $db->query("DELETE FROM gateway_pop_accounts WHERE id = '$id'");
  77. jump('pop.php?do=view', 'Remote POP3 account deleted');
  78. }
  79. ############################### LIST ACCOUNTS ###############################
  80. if ($_REQUEST['do'] == "view") {
  81. admin_header('Email Gateway', 'List POP3 Accounts');
  82. $db->query("SELECT gateway_pop_accounts.*, gateway_accounts.id AS gatewayid, gateway_accounts.email as gatewaymail
  83. FROM gateway_pop_accounts
  84. LEFT JOIN gateway_accounts on gateway_pop_accounts.accountid = gateway_accounts.id
  85. ORDER BY id");
  86. $cols = array('Linked to Gateway E-mail', 'Handler', 'Server', 'Username', 'Password', 'Edit', 'Delete');
  87. while ($result = $db->row_array()) {
  88. if ($result['target'] != 'user') {
  89. $bit = "<i>Gateway only for user handler</i>";
  90. } elseif ($result['accountid']) {
  91. $bit = "<A HREF="email.php?do=edit&id=$result[accountid]">$result[gatewaymail]</A>";
  92. } else {
  93. $bit = "<b>Please edit to set gateway</b>";
  94. }
  95. $row[] = array($bit,
  96. $result['target'],
  97. $result['server'],
  98. $result['username'],
  99. $result['password'],
  100. "<A HREF="pop.php?do=edit&id=$result[id]">Edit</A>",
  101. jprompt(
  102. "This will delete the POP3 account \'$result[username]\' on server \'$result[server]\'.",
  103. "pop.php?do=delete&id=$result[id]",
  104. 'Delete'
  105. )
  106. );
  107. }
  108. if (!$db->num_rows()) {
  109. $row[] = "<center>No accounts are currently defined. <A HREF="pop.php?do=add">Add an account.</A></center>";
  110. }
  111. table_header("POP3 Accounts");
  112. table_content($cols, $row);
  113. table_footer();
  114. }
  115. ############################### CREATE / VIEW ACCOUNT ###############################
  116. if ($_REQUEST['do'] == "add" OR $_REQUEST['do'] == "edit") {
  117. if ($_REQUEST['do'] == "add") {
  118. admin_header('Email Gateway', 'Add POP3 Account');
  119. } else {
  120. if (!$id) { 
  121. mistake('No ID specified.');
  122. }
  123. admin_header('Email Gateway');
  124. $pop = $db->query_return("SELECT * FROM gateway_pop_accounts WHERE id = $id");
  125. }
  126. // get the gateway accounts
  127. $db->query("SELECT id, email from gateway_accounts ORDER BY email");
  128. while ($res = $db->row_array()) {
  129. $gateways[$res['id']] = $res['email'];
  130. }
  131. $handlers = array('user', 'tech', 'return', 'techemail');
  132. $bit = form_select('target', $handlers, NULL, iff($pop['target'], $pop['target'], 'user'), 1);
  133. $table[] = array('<B>Handler</B><br />Specify which gateway handler will handle messages sent to this address:', $bit);
  134. $bit = form_select('accountid', $gateways, NULL, iff($pop['accountid'], $pop['accountid']));
  135. $table[] = array('<b>Linked to Gateway Account</b><br />This only applies when the handler is set to <b>user</b>', $bit);
  136. $bit = form_input('server', iff($pop['server'], $pop['server'], NULL));
  137. $table[] = array('<b>POP3 Server</b><br />Remote POP3 server to download from', $bit);
  138. $bit = form_input('username', iff($pop['username'], $pop['username'], NULL));
  139. $table[] = array('<b>POP3 Username</b><br />Username to login with', $bit);
  140. $bit = form_input('password', iff($pop['password'], $pop['password'], NULL));
  141. $table[] = array('<b>POP3 Password</b><br />Password to authenticate with', $bit);
  142. if ($_REQUEST['do'] == 'add') {
  143. table_header('Create Gateway POP3 Account', 'pop.php', array('do' => 'add2'));
  144. table_content('', $table);
  145. table_footer('Create POP3 Account');
  146. } else {
  147. table_header('Update Gateway POP3 Account', 'pop.php', array('do' => 'edit2', 'id' => $pop['id']));
  148. table_content('', $table);
  149. table_footer('Update POP3 Account');
  150. }
  151. }
  152. ?>