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

电子政务应用

开发平台:

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: email.php,v $
  15. // | $Date: 2004/02/10 01:34:32 $
  16. // | $Revision: 1.7 $
  17. // +-------------------------------------------------------------+
  18. // | File Details:
  19. // | - User notes management.
  20. // +-------------------------------------------------------------+
  21. error_reporting(E_ALL ^ E_NOTICE);
  22. include "./../global.php";
  23. tech_nav('users');
  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')
  32. );
  33. rg($global);
  34. ################################### VIEW EMAILS ###################################
  35. if ($_REQUEST['do'] == 'view') {
  36. if ($settings[send_email_gateway] == "1") {
  37. // emails awaiting reply:
  38. $db->query("SELECT date_sent, subject, to_email, id FROM tech_sendmail WHERE techid = '$user[id]' AND parent = '0' AND awaiting_reply = '1' AND tracking = '1'");
  39. while ($email = $db->row_array()) {
  40. $table[] = array(
  41. our_date($email[date_sent]),
  42. $email[subject],
  43. $email[to_email],
  44. "<a href="email.php?do=mark_read&id=$email[id]">mark read</a>",
  45. jprompt( 'Are you sure you want to delete this email?', "email.php?do=delete&id=$email[id]",'delete'),
  46. "<a href="email.php?do=display&id=$email[id]">view</a>",
  47. );
  48. }
  49. $cols = array('Date', 'Subject', 'Sent To:', 'Mark Read', 'Delete', 'View');
  50. table_header('Emails awaiting reply (and being tracked through DeskPRO)');
  51. table_content($cols, $table);
  52. table_footer();
  53. // emails not awaiting reply:
  54. $db->query("SELECT date_sent, subject, to_email, id FROM tech_sendmail WHERE techid = '$user[id]' AND parent = '0' AND awaiting_reply = '0' AND tracking = '1'");
  55. unset($table, $cols);
  56. while ($email = $db->row_array()) {
  57. $table[] = array(
  58. our_date($email[date_sent]),
  59. $email[subject],
  60. $email[to_email],
  61. "<a href="email.php?do=mark_unread&id=$email[id]">mark unread</a>",
  62. jprompt( 'Are you sure you want to delete this email?', "email.php?do=delete&id=$email[id]",'delete'),
  63. "<a href="email.php?do=display&id=$email[id]">view</a>",
  64. );
  65. }
  66. $cols = array('Date', 'Subject', 'Sent To:', 'Mark Un Read', 'Delete', 'View');
  67. table_header('Emails awaiting reply (and being tracked through DeskPRO)');
  68. table_content($cols, $table);
  69. table_footer();
  70. }
  71. // now tracked through DeskPRO
  72. $db->query("SELECT date_sent, subject, to_email, id FROM tech_sendmail WHERE techid = '$user[id]' AND parent = '0' AND tracking = '0'");
  73. while ($email = $db->row_array()) {
  74. $table[] = array(
  75. our_date($email[date_sent]),
  76. $email[subject],
  77. $email[to_email],
  78. jprompt( 'Are you sure you want to delete this email?', "email.php?do=delete&id=$email[id]",'delete'),
  79. "<a href="email.php?do=display&id=$email[id]">view</a>"
  80. );
  81. }
  82. $cols = array("Date", "Subject", "Sent To", "delete", "view");
  83. table_header('Emails sent but not being tracked through DeskPRO');
  84. table_content($cols, $table);
  85. table_footer();
  86. echo "<center><b><a href="email.php?do=send">Send Email</a></b></center>";
  87. }
  88. ################################### SEND EMAIL (1) ###################################
  89. if ($_REQUEST['do'] == 'send') {
  90. $table[] = array('<b>Email Address</b><br />Email address of the person you are emailing', form_input('to_email'));
  91. $table[] = array('<b>Subject</b><br />Email subject', form_input('subject'));
  92. $table[] = array('<b>Message</b><br />Your email message', form_textarea('message', 60, 8));
  93. if ($settings[send_email_gateway] == "1") {
  94. $table[] = array('<b>Track through DeskPRO</b><br />Track this email through DeskPRO?', form_radio_yn('tracking'));
  95. }
  96. $table[] = array('<b>Email Address</b><br />' . iff($settings[send_email_gateway], 'Email to send from if you are <b>NOT</b> tracking through DeskPRO', 'Your email address to send from'), form_input('from_email', $user[email]));
  97. table_header('Send an email', 'email.php', array('do' => 'send2'));
  98. table_content($cols, $table);
  99. table_footer('Send Email');
  100. }
  101. ################################### SEND EMAIL (2) ###################################
  102. if ($_REQUEST['do'] == "send2") {
  103. if ($settings[send_email_gateway] != "1") {
  104. $_REQUEST['tracking'] = 0;
  105. }
  106. $pass = substr(md5(time()),0,7);
  107. $db->query("
  108. INSERT INTO tech_sendmail SET
  109. techid = '$user[id]',
  110. date_sent = '" . mktime() . "',
  111. subject = '" . addslashes($_REQUEST[subject]) . "',
  112. message = '" . addslashes($_REQUEST[message]) . "',
  113. from_email = '" . addslashes($_REQUEST[from_email]) . "',
  114. to_email = '" . addslashes($_REQUEST[to_email]) . "',
  115. tracking = '" . addslashes($_REQUEST[tracking]) . "',
  116. pass = '" . addslashes($pass) . "'
  117. ");
  118. $id = $db->last_id();
  119. $subject = $subject . " [" . $id . "--" . $pass . "]";
  120. if ($_REQUEST['tracking']) {
  121. $from = $settings[tech_send_email];
  122. } else {
  123. $from = $_REQUEST['from_email'];
  124. }
  125. dp_mail($_REQUEST['to_email'], $_REQUEST[subject], $_REQUEST[message], $from);
  126. jump("email.php", 'Email sent');
  127. }
  128. ################################### MARK READ ###################################
  129. if ($_REQUEST['do'] == "mark_read") {
  130. $db->query("
  131. SELECT id 
  132. FROM tech_sendmail 
  133. WHERE id = '$id' 
  134. AND techid = '$user[id]'");
  135. if ($db->num_rows() < 1) {
  136. jump('email.php', 'This email does not exist or you do not have permission to edit it');
  137. }
  138. $db->query("
  139. UPDATE tech_sendmail 
  140. SET awaiting_reply = '0' 
  141. WHERE id = '$id'
  142. ");
  143. jump("email.php", 'Email has been marked as read');
  144. }
  145. ################################### MARK UNREAD ###################################
  146. if ($_REQUEST['do'] == "mark_unread") {
  147. $db->query("
  148. SELECT id 
  149. FROM tech_sendmail 
  150. WHERE id = '$id' 
  151. AND techid = '$user[id]'
  152. ");
  153. if ($db->num_rows() < 1) {
  154. jump("email.php", 'This email does not exist or you do not have permission to edit it');
  155. }
  156. $db->query("
  157. UPDATE tech_sendmail 
  158. SET awaiting_reply = '1' 
  159. WHERE id = '$id'
  160. ");
  161. jump("email.php", 'Email has been marked as unread');
  162. }
  163. ################################### DELETE ###################################
  164. if ($_REQUEST['do'] == "delete") {
  165. $db->query("
  166. SELECT id 
  167. FROM tech_sendmail 
  168. WHERE id = '$id' 
  169. AND techid = '$user[id]'
  170. ");
  171. if ($db->num_rows() < 1) {
  172. jump("email.php", 'This email does not exist or you do not have permission to edit it');
  173. }
  174. $db->query("
  175. DELETE FROM tech_sendmail 
  176. WHERE id = '$id' 
  177. OR parent = '$id'
  178. ");
  179. jump("email.php", 'Email has been deleted');
  180. }
  181. ################################### VIEW EMAIL ###################################
  182. if ($_REQUEST['do'] == "display") {
  183. $email = $db->query_return("
  184. SELECT * 
  185. FROM tech_sendmail 
  186. WHERE id = '$id' 
  187. AND techid = '$user[id]'
  188. ");
  189. if ($db->num_rows() < 1) {
  190. jump("email.php", 'This email does not exist or you do not have permission to view it');
  191. }
  192. $to_email = $email[to_email];
  193. $subject = "Re: $email[subject]";
  194. $tracking = $email[tracking];
  195. $table[] = array('<b>Subject :</b>', $email[subject]);
  196. $table[] = array('<b>From :</b>', $email[to_email]);
  197. $table[] = array('<b>Date Sent :</b>', our_date($email[date_sent]));
  198. $table[] = array('<b>Message :</b>', dp_code($email[message]));
  199. echo table_list("Original Message : $email[subject]", $table, '100%');
  200. unset($table);
  201. $tracking = 1;
  202. if ($tracking) {
  203. echo "<br /><br />";
  204. $db->query("
  205. SELECT * 
  206. FROM tech_sendmail 
  207. WHERE parent = '$id'
  208. ");
  209. while ($email = $db->row_array()) {
  210. if ($email[techid]) {
  211. $reply_type = 'Your reply on ' . our_date($email[date_sent]);
  212. } elseif ($email[from_email] != "") {
  213. $reply_type = 'User reply on' . our_date($email[date_sent]);
  214. }
  215. echo table_list($reply_type, array(dp_code($email[message])), '100%');
  216. echo "<br />";
  217. }
  218. $table[] = array('<b>Message</b><br />Your email message', form_textarea('message', 60, 8));
  219. table_header('Send a reply', 'email.php', array('do' => 'reply', 'id' => $id));
  220. table_content($cols, $table);
  221. table_footer('Send Email');
  222. }
  223. }
  224. ################################### REPLY TO EMAIL ###################################
  225. if ($_REQUEST['do'] == "reply") {
  226. $db->query("
  227. SELECT * 
  228. FROM tech_sendmail 
  229. WHERE id = '$id' 
  230. AND techid = '$user[id]' 
  231. ");
  232. if ($db->num_rows() < 1) {
  233. jump("email.php", 'This email does not exist or you do not have permission to edit it');
  234. }
  235. $email = $db->row_array();
  236. $db->query("
  237. INSERT INTO tech_sendmail SET
  238. techid = '$user[id]',
  239. date_sent = '" . mktime() . "',
  240. parent = '$id',
  241. message = '" . addslashes($_REQUEST[message]) . "'
  242. ");
  243. $db->query("
  244. UPDATE tech_sendmail SET
  245. awaiting_reply = '0'
  246. WHERE id = '$id'
  247. ");
  248. $subject = $subject . " [" . $email[id] . "--" . $email[pass] . "]";
  249. $from_email = $settings[tech_send_email];
  250. dp_mail($_REQUEST['email'], $subject, $_REQUEST[message]);
  251. jump("email.php", 'Email sent');
  252. }