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

电子政务应用

开发平台:

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:30 $
  16. // | $Revision: 1.18 $
  17. // +-------------------------------------------------------------+
  18. // | File Details:
  19. // | - Technician e-mail notification preferences.
  20. // +-------------------------------------------------------------+
  21. error_reporting(E_ALL ^ E_NOTICE);
  22. include "./../global.php";
  23. tech_nav('settings');
  24. // default do
  25. $_REQUEST['do'] = trim($_REQUEST['do']);
  26. if (!isset($_REQUEST['do']) or $_REQUEST['do'] == "") {
  27. $_REQUEST['do'] = "view";
  28. }
  29. ############################### UPDATE CATEGORIES ###############################
  30. if ($_REQUEST['do'] == "update") {
  31. $db->query("DELETE FROM tech_email WHERE techid = '$user[id]'");
  32. if (!(validate_email($_REQUEST[email]))) {
  33. unset($_REQUEST[email]);
  34. }
  35. if (!(validate_email($_REQUEST[sms]))) {
  36. unset($_REQUEST[sms]);
  37. }
  38. $db->query("UPDATE tech SET " .
  39. iff($_REQUEST[email], " email = '$_REQUEST[email]',") .
  40. iff($_REQUEST[sms], " sms = '$_REQUEST[sms]',") .
  41. " sms = '" . mysql_escape_string($_REQUEST[sms]) . "',
  42. email_new_email = '$_REQUEST[email_new_email]',
  43. email_new_sms = '$_REQUEST[email_new_sms]',
  44. email_reply_email = '$_REQUEST[email_reply_email]',
  45. email_reply_sms = '$_REQUEST[email_reply_sms]',
  46. email_own_email = '$_REQUEST[email_own_email]',
  47. email_own_sms = '$_REQUEST[email_own_sms]',
  48. email_pm = '$_REQUEST[email_pm]',
  49. email_assigned = '$_REQUEST[email_assigned]',
  50. email_attachments = '$_REQUEST[email_attachments]',
  51. email_own_attachments = '$_REQUEST[email_own_attachments]',
  52. email_faq = '$_REQUEST[email_faq]'
  53. WHERE id = '$user[id]'
  54. ");
  55. $db->query("DELETE FROM tech_email WHERE techid = '$user[id]'");
  56. // format for query: userid, fieldname, value, newreply, newticket, email, sms
  57. // new tickets by category
  58. if (is_array($_REQUEST[new_cat])) {
  59. foreach($_REQUEST[new_cat] AS $key => $var) {
  60. if ($var[email]) {
  61. $data[] = array($user[id],'category',$key,0,1,1,0);
  62. }
  63. if ($var[sms]) {
  64. $data[] = array($user[id],'category',$key,0,1,0,1);
  65. }
  66. }
  67. }
  68. // replies by category
  69. if (is_array($_REQUEST[reply_cat])) {
  70. foreach($_REQUEST[reply_cat] AS $key => $var) {
  71. if ($var[email]) {
  72. $data[] = array($user[id],'category',$key,1,0,1,0);
  73. }
  74. if ($var[sms]) {
  75. $data[] = array($user[id],'category',$key,1,0,0,1);
  76. }
  77. }
  78. }
  79. // new tickets by priority
  80. if (is_array($_REQUEST[new_pri])) {
  81. foreach($_REQUEST[new_pri] AS $key => $var) {
  82. if ($var[email]) {
  83. $data[] = array($user[id],'priority',$key,0,1,1,0);
  84. }
  85. if ($var[sms]) {
  86. $data[] = array($user[id],'priority',$key,0,1,0,1);
  87. }
  88. }
  89. }
  90. // replies by priority
  91. if (is_array($_REQUEST[reply_pri])) {
  92. foreach($_REQUEST[reply_pri] AS $key => $var) {
  93. if ($var[email]) {
  94. $data[] = array($user[id],'priority',$key,1,0,1,0);
  95. }
  96. if ($var[sms]) {
  97. $data[] = array($user[id],'priority',$key,1,0,0,1);
  98. }
  99. }
  100. }
  101. if (is_array($data)) {
  102. $db->query(" INSERT INTO tech_email 
  103. (techid, fieldname, value, newreply, newticket, email, sms)
  104. VALUES " . insertsql($data) . "
  105. ");
  106. }
  107. jump('email.php', 'Your options have been updated');
  108. }
  109. ############################### VIEW SETTINGS ###############################
  110. if ($_REQUEST['do'] == "view") {
  111. echo "<form method="post" action="email.php">" . form_hidden('do', 'update');
  112. $table[] = array(table_thelp('<b>Your e-mail address</b>', 'Settings', 'E-mail: Your E-mail Addresses'), form_input('email', $user[email]));
  113. $table[] = array(table_thelp('<b>SMS e-mail address</b>', 'Settings', 'E-mail: Your E-mail Addresses'), form_input('sms', $user[sms]));
  114. table_header('Update your settings');
  115. table_content('', $table);
  116. table_footer();
  117. unset($table);
  118. $table[] = array(table_thelp('<b>Notify me when I'm assigned a ticket</b>', 'Settings', 'E-mail: General Notifications'), form_radio_yn('email_assigned', '', $user[email_assigned]));
  119. $table[] = array(table_thelp('<b>Notify me when I am sent a private message</b>', 'Settings', 'E-mail: General Notifications'), form_radio_yn('email_pm', '', $user[email_pm]));
  120. $table[] = array(table_thelp('<b>Notify me when a new faq article is submitted</b>', 'Settings', 'E-mail: General Notifications'), form_radio_yn('email_faq', '', $user[email_faq]));
  121. $table[] = array(table_thelp('<b>Send user uploaded attachments for all notifications</b>', 'Settings', 'E-mail: General Notifications'), form_radio_yn('email_attachments', '', $user[email_attachments]));
  122. $table[] = array(table_thelp('<b>Send user uploaded attachments when I am the ticket owner</b>', 'Settings', 'E-mail: General Notifications'), form_radio_yn('email_own_attachments', '', $user[email_own_attachments]));
  123. $cols = array('Setting', 'Option');
  124. table_header('General Notifications');
  125. table_content($cols, $table);
  126. table_footer();
  127. unset($table);
  128. // get current data
  129. $new_email_cat = array();
  130. $new_sms_cat = array();
  131. $reply_email_cat = array();
  132. $reply_sms_cat = array();
  133. $new_email_pri = array();
  134. $new_sms_pri = array();
  135. $reply_email_pri = array();
  136. $reply_sms_pri = array();
  137. $db->query("SELECT * FROM tech_email WHERE techid = '$user[id]'");
  138. while ($result = $db->row_array()) {
  139. if ($result[fieldname] == 'category') {
  140. if ($result[newticket]) {
  141. if ($result[email]) {
  142. $new_email_cat[] = $result[value];
  143. }
  144. if ($result[sms]) {
  145. $new_sms_cat[] = $result[value];
  146. }
  147. } elseif ($result[newreply]) {
  148. if ($result[email]) {
  149. $reply_email_cat[] = $result[value];
  150. }
  151. if ($result[sms]) {
  152. $reply_sms_cat[] = $result[value];
  153. }
  154. }
  155. } elseif ($result[fieldname] == 'priority') {
  156. if ($result[newticket]) {
  157. if ($result[email]) {
  158. $new_email_pri[] = $result[value];
  159. }
  160. if ($result[sms]) {
  161. $new_sms_pri[] = $result[value];
  162. }
  163. } elseif ($result[newreply]) {
  164. if ($result[email]) {
  165. $reply_email_pri[] = $result[value];
  166. }
  167. if ($result[sms]) {
  168. $reply_sms_pri[] = $result[value];
  169. }
  170. }
  171. }
  172. }
  173. // mass subscribe
  174. $table[] = array(
  175. table_thelp("<B>All Tickets</B>", 'Settings', 'E-mail: Ticket Notifications'), 
  176. "Email : " . form_checkbox_single('email_new_email', 1, $user[email_new_email]) .
  177. "&nbsp;&nbsp;SMS : " . form_checkbox_single('email_new_sms', 1, $user[email_new_sms]),
  178. "Email : " . form_checkbox_single('email_reply_email', 1, $user[email_reply_email]) .
  179. "&nbsp;&nbsp;SMS : " . form_checkbox_single('email_reply_sms', 1, $user[email_reply_sms])
  180. );
  181. $table[] = array(
  182. table_thelp("<B>Tickets You Own</B>", 'Settings', 'E-mail: Ticket Notifications'), 
  183. '',
  184. "Email : " . form_checkbox_single('email_own_email', 1, $user[email_own_email]) .
  185. "&nbsp;&nbsp;SMS : " . form_checkbox_single('email_own_sms', 1, $user[email_own_sms])
  186. );
  187. // category settings
  188. $table[] = table_midheader('Control Notifications by Category ' . thelp('Settings', 'E-mail: Category and Priority Notifications'));
  189. $cats_admin_tmp = split(',', $user['cats_admin']);
  190. if (!@in_array_value(0, $cats_admin_tmp)) {
  191. $table[] = array(
  192. "<B>No Category Specified</B>", 
  193. "Email : " . form_checkbox_single('email', 1, iff(in_array(0, $new_email_cat), 1), 'new_cat[0]') .
  194. "&nbsp;&nbsp;SMS : " . form_checkbox_single('sms', 1, iff(in_array(0, $new_sms_cat), 1), 'new_cat[0]'),
  195. "Email : " . form_checkbox_single('email', 1, iff(in_array(0, $reply_email_cat), 1), 'reply_cat[0]') .
  196. "&nbsp;&nbsp;SMS : " . form_checkbox_single('sms', 1, iff(in_array(0, $reply_sms_cat), 1), 'reply_cat[0]')
  197. );
  198. }
  199. $db->query("SELECT * from ticket_cat" . iff($user[cats_admin], " WHERE id NOT IN ($user[cats_admin])"));
  200. while ($category = $db->row_array()) {
  201. $bit = form_radio_yn($category[id], 'category');
  202. $table[] = array(
  203. "<B>" . $category[name] . "</B>", 
  204. "Email : " . form_checkbox_single('email', 1, iff(in_array_value($category[id], $new_email_cat), 1), 'new_cat[' . $category[id] . ']') .
  205. "&nbsp;&nbsp;SMS : " . form_checkbox_single('sms', 1, iff(in_array_value($category[id], $new_sms_cat), 1), 'new_cat[' . $category[id] . ']'),
  206. "Email : " . form_checkbox_single('email', 1, iff(in_array_value($category[id], $reply_email_cat), 1), 'reply_cat[' . $category[id] . ']') .
  207. "&nbsp;&nbsp;SMS : " . form_checkbox_single('sms', 1, iff(in_array_value($category[id], $reply_sms_cat), 1), 'reply_cat[' . $category[id] . ']')
  208. );
  209. }
  210. // priority settings
  211. $table[] = table_midheader('Control Notifications by Priority ' . thelp('Settings', 'E-mail: Category and Priority Notifications'));
  212. $table[] = array(
  213. "<B>No Priority Specified</B>", 
  214. "Email : " . form_checkbox_single('email', 1, iff(in_array(0, $new_email_pri), 1), 'new_pri[0]') .
  215. "&nbsp;&nbsp;SMS : " . form_checkbox_single('sms', 1, iff(in_array(0, $new_sms_pri), 1), 'new_pri[0]'),
  216. "Email : " . form_checkbox_single('email', 1, iff(in_array(0, $reply_email_pri), 1), 'reply_pri[0]') .
  217. "&nbsp;&nbsp;SMS : " . form_checkbox_single('sms', 1, iff(in_array(0, $reply_sms_pri), 1), 'reply_pri[0]')
  218. );
  219. $db->query("SELECT * from ticket_pri");
  220. while ($priority = $db->row_array()) {
  221. $bit = form_radio_yn($priority[id], 'priority');
  222. $table[] = array(
  223. "<B>" . $priority[name] . "</B>", 
  224. "Email : " . form_checkbox_single('email', 1, iff(in_array($priority[id], $new_email_pri), 1), 'new_pri[' . $priority[id] . ']') .
  225. "&nbsp;&nbsp;SMS : " . form_checkbox_single('sms', 1, iff(in_array($priority[id], $new_sms_pri), 1), 'new_pri[' . $priority[id] . ']'),
  226. "Email : " . form_checkbox_single('email', 1, iff(in_array($priority[id], $reply_email_pri), 1), 'reply_pri[' . $priority[id] . ']') .
  227. "&nbsp;&nbsp;SMS : " . form_checkbox_single('sms', 1, iff(in_array($priority[id], $reply_sms_pri), 1), 'reply_pri[' . $priority[id] . ']')
  228. );
  229. }
  230. // ($name, $value, $checked='', $arrayto='') {
  231. $cols = array('Name', 'New Tickets', 'Ticket Replies');
  232. table_header('Ticket Email Notifications');
  233. table_content($cols, $table);
  234. table_footer('Update Your Email Settings');
  235. unset($table);
  236. }
  237. tech_footer();
  238. ?>