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

电子政务应用

开发平台:

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: ticketdisplay.php,v $
  15. // | $Date: 2004/02/10 01:34:30 $
  16. // | $Revision: 1.29 $
  17. // +-------------------------------------------------------------+
  18. // | File Details:
  19. // | - Technician ticket display 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. ############################### UNASSIGN FROM TICKETs ###############################
  30. if ($_REQUEST['do'] == "unassign") {
  31. $db->query("SELECT id FROM ticket WHERE tech = '$user[id]'");
  32. while ($tlog = $db->row_array()) {
  33. ticketlog($tlog[id], 'tech', $user[id], 0);
  34. }
  35. $db->query("UPDATE ticket SET tech = '0' WHERE tech = '$user[id]' " . iff($_REQUEST[type], " AND is_open") . "");
  36. alert('Tickets unassigned');
  37. $_REQUEST['do'] = 'view';
  38. }
  39. ############################### UPDATE SETTINGS ###############################
  40. if ($_REQUEST['do'] == "update") {
  41. if (is_array($_REQUEST['fields']['default'])) {
  42. while (list ($key, $value) = each ($_REQUEST['fields']['default'])) {
  43. $field_array['default'][] = $key;
  44. }
  45. } else {
  46. $field_array['default'] = array();
  47. }
  48. if (is_array($_REQUEST['fields']['custom'])) {
  49. while (list ($key, $value) = each ($_REQUEST['fields']['custom'])) {
  50. $field_array['custom'][] = $key;
  51. }
  52. } else {
  53. $field_array['custom'] = array();
  54. }
  55. if (is_array($_REQUEST['fields']['admin'])) {
  56. while (list ($key, $value) = each ($_REQUEST['fields']['admin'])) {
  57. $field_array['admin'][] = $key;
  58. }
  59. } else {
  60. $field_array['admin'] = array();
  61. }
  62. if (is_array($_REQUEST['fields']['other'])) {
  63. while (list ($key, $value) = each ($_REQUEST['fields']['other'])) {
  64. $field_array['other'][] = $key;
  65. }
  66. } else {
  67. $field_array['other'] = array();
  68. }
  69. $fields = serialize($field_array);
  70. $db->query("UPDATE tech SET fielddisplay = '" . mysql_escape_string($fields) . "' WHERE id = $user[id]");
  71. $user = $db->query_return("SELECT * FROM tech WHERE id = '$user[id]'");
  72. $results = $db->query_return("SELECT results FROM search WHERE id = '$_REQUEST[saved_search]'");
  73. $results = explode(',', $results['results']);
  74. if ($_REQUEST['saved_search']) {
  75. if ($results[0]) {
  76. jump("../tickets/load_results.php?searchid=$_REQUEST[saved_search]&num=0&id=$results[0]", 'Options updated');
  77. exit;
  78. } else {
  79. jump("../tickets/search.php?do=basic", "Settings updated.");
  80. exit;
  81. }
  82. } else {
  83. $_REQUEST['do'] = "view";
  84. }
  85. }
  86. ############################### VIEW SETTINGS ###############################
  87. if ($_REQUEST['do'] == "view") {
  88. $tech = $db->query_return("SELECT fielddisplay FROM tech WHERE id = '$user[id]'");
  89. $fields = unserialize($tech[fielddisplay]);
  90. // if we have never set any settings then we need to use the same that we use in ticketsearch
  91. if (!is_array($fields)) { $fields = unserialize($user[fielddisplay]);
  92. $fields = array(
  93. 'default' => array('category', 'priority', 'email', 'techowner', 'timetech', 'timestart'),
  94. 'admin' => array(),
  95. 'custom' => array(),
  96. 'other' => array('actions')
  97. );
  98. }
  99. // the default fields
  100. $table[] = table_midheader_noarray('Default Fields ' . thelp('Settings', 'Ticket Display'));
  101. $table[] = form_checkbox_single('openclosed', 1, @in_array('openclosed', $fields['default']), 'fields[default]') . " <b>Open / Closed</b>";
  102. $table[] = form_checkbox_single('awaitingtu', 1, @in_array('awaitingtu', $fields['default']), 'fields[default]') . " <b>Awaiting Tech / User</b>";
  103. $table[] = form_checkbox_single('category', 1, @in_array('category', $fields['default']), 'fields[default]') . " <b>Category</b>";
  104. $table[] = form_checkbox_single('priority', 1, @in_array('priority', $fields['default']), 'fields[default]') . " <b>Priority</b>";
  105. $table[] = form_checkbox_single('email', 1, @in_array('email', $fields['default']), 'fields[default]') . " <b>User/Email</b>";
  106. $table[] = form_checkbox_single('techowner', 1, @in_array('techowner', $fields['default']), 'fields[default]') . " <b>Tech Owner</b>";
  107. $table[] = form_checkbox_single('timetech', 1, @in_array('timetech', $fields['default']), 'fields[default]') . " <b>Time awaiting a tech reply</b>";
  108. $table[] = form_checkbox_single('timestart', 1, @in_array('timestart', $fields['default']), 'fields[default]') . " <b>Time since ticket created</b>";
  109. $db->query("SELECT id, display_name FROM ticket_def WHERE tech_viewable AND name LIKE 'custom%'");
  110. if ($db->num_rows()) {
  111. $table[] = table_midheader_noarray('Other Fields');
  112. }
  113. while ($user_def = $db->row_array()) {
  114. $user_def[display_name] = unserialize($user_def[display_name]);
  115. $user_def[display_name] = $user_def[display_name][$settings[default_language]];
  116. if (@in_array($user_def[id], $fields['custom'])) {
  117. $val = 1;
  118. } else {
  119. $val = 0;
  120. }
  121. $table[] = form_checkbox_single($user_def[id], 1, $val, 'fields[custom]') . " <b>$user_def[display_name]</b>";
  122. }
  123. // field definitions created by the admin
  124. $db->query("SELECT id, name, example FROM ticket_fielddisplay");
  125. if ($db->num_rows() > 0) {
  126. $table[] = table_midheader_noarray('Admin Created Fields');
  127. while ($result = $db->row_array()) {
  128. if (is_array($fields['admin'])) {
  129. if (in_array($result[id], $fields['admin'])) {
  130. $val = 1;
  131. } else {
  132. $val = 0;
  133. }
  134. } else { 
  135. $val = 0; 
  136. }
  137. $table[] = form_checkbox_single($result[id], 1, $val, 'fields[admin]') . " <b>$result[name]</b><br /><I>Example:</I> $result[example]";
  138. }
  139. }
  140. // some other options
  141. $table[] = table_midheader_noarray('Other Ticket Listing Options');
  142. $table[] = form_checkbox_single('actions', 1, @in_array('actions', $fields['other']), 'fields[other]') . " <b>Show Ticket Actions</b>" . form_hidden('saved_search', $_REQUEST['saved_search']);
  143. table_header('Select Fields to Display in Search Results', 'ticketdisplay.php', array('do' => 'update'));
  144. table_content('', $table);
  145. table_footer('Update Selections');
  146. echo "<hr><UL>";
  147. echo jprompt('Are you sure you want unassign yourself from all your tickets?', 'ticketdisplay.php?do=unassign', '<LI>Unassign myself from all my tickets</LI>', $danger=1);
  148. echo "<br /><br />";
  149. echo jprompt('Are you sure you want unassign yourself from all your open tickets?', 'ticketdisplay.php?do=unassign&type=open', '<LI>Unassign myself from my open tickets</LI>', $danger=1);
  150. echo "</UL><br />";
  151. }
  152. tech_footer();
  153. ?>