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

电子政务应用

开发平台:

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: view.php,v $
  15. // | $Date: 2004/02/10 01:34:32 $
  16. // | $Revision: 1.53 $
  17. // +-------------------------------------------------------------+
  18. // | File Details:
  19. // | - User details viewer.
  20. // +-------------------------------------------------------------+
  21. error_reporting(E_ALL ^ E_NOTICE);
  22. // start file
  23. require("./../global.php");
  24. // globalise variables
  25. $global = array (
  26. array('id')
  27. );
  28. rg($global);
  29. tech_nav('users');
  30. if (!$id) {
  31. mistake('No user specified', 1);
  32. exit();
  33. }
  34. $user_details = $db->query_return("SELECT * FROM user WHERE id = '$id'");
  35. if (!$db->num_rows()) {
  36. mistake('The specified user could not be found.', 1);
  37. exit;
  38. }
  39. ############################### USER FIELDS ###############################
  40. // standard fields
  41. if ($user_details[expire_date]) {
  42. $formdate = iff($user['p_user_expire'], form_date('expire_date', '', $user_details['expire_date'], '', 1), date('Y-m-d', $user_details['expire_date']));
  43. } else {
  44. $formdate = iff($user['p_user_expire'], form_date('expire_date', '', 0, 0, 1), 'None');
  45. }
  46. if (!$user_details['expire_tickets'] AND !$user['p_user_expire']) {
  47. $user_details['expire_tickets'] = 0;
  48. }
  49. $edit_userfields[] = array(table_thelp('<b>Name</b>', 'Users', 'Add/Edit: Username'), iff($user['p_edit_users'], form_input('name', $user_details['name']), $user_details['name']));
  50. $edit_userfields[] = array(table_thelp('<b>Username</b>', 'Users', 'Add/Edit: Username'), iff($user['p_edit_users'], form_input('username', $user_details['username']), $user_details['username']));
  51. $edit_userfields[] = array(table_thelp('<b>Password</b>', 'Users', 'Add/Edit: Password'), iff($user['p_edit_users'], 
  52. jprompt("This will change the user's password to a new random one.",
  53. "actions.php?id=$id&do=newpass",
  54. 'Generate New Password'), 'No permission to reset password.'));
  55. if (banned_email($user_details['email'])) {
  56. $banned = "<I>This e-mail address is banned.</I>";
  57. }
  58. $edit_userfields[] = array(table_thelp('<B>Email Address</b>', 'Users', 'Add/Edit: E-mail Address'), iff($user['p_edit_users'], form_input('email', $user_details['email']), $user_details['email']) . " $banned");
  59. $edit_userfields[] = array(table_thelp('<B>User Expires</B> ', 'Users', 'Edit: User Expires'), 
  60. '# Tickets: ' .  iff(($user['p_user_expire'] AND $user['p_edit_users']), form_input('expire_tickets', $user_details['expire_tickets'], 5), $user_details['expire_tickets']) . '&nbsp;&nbsp;On Date: ' . $formdate);
  61. $edit_userfields[] = array(table_thelp('<B>Has Autoresponder?</B> ', 'Users', 'Edit: Has Autoresponder?'),
  62. iff($user['p_edit_users'], form_radio_yn('autoresponds', NULL, $user_details['autoresponds']), iff($user_details['autoresponds'], 'Yes', 'No')));
  63. $edit_userfields[] = array(table_thelp('<b>Timezone</b>', 'Users', 'Edit: Timezone'), iff($user['p_edit_users'], make_timezone($user_details['timezone'])));
  64. $edit_userfields[] = array(table_thelp('<b>Daylight Savings Time</b>', 'Users', 'Edit: Timezone'), iff($user['p_edit_users'], form_checkbox_single('timezone_dst', 1, $user_details['timezone_dst'])));
  65. $edit_userfields[] = array(table_thelp('<b>User Disabled<b>', 'Users', 'Edit: Disabled'), iff($user['p_edit_users'], form_radio_yn('disabled', NULL,  $user_details[disabled]), iff($user_details['disabled'], 'Yes', 'No')));
  66. if ($user['p_delete_users']) {
  67. $edit_userfields[] = array('<B>Delete User</B>', jprompt('This will delete the user and all tickets created by the user', "actions.php?do=delete&id=$user_details[id]", 'Delete User'));
  68. }
  69. if ($user_details['awaiting_manual_validation']) {
  70. $bit = "<A HREF="index.php?do=approve&id=$user_details[id]">Approve</A> | ". jprompt('This will *delete* the user from the system!', "index.php?do=delete&id=$user_details[id]", "Delete");
  71. $edit_userfields[] = array(table_thelp('<b>Manual Validation Required<b>', 'Users', 'Edit: Manual Validation Required'), iff($user['p_edit_users'], $bit, "Yes"));
  72. }
  73. // custom fields
  74. $db->query("SELECT * FROM user_def WHERE tech_viewable ORDER by displayorder");
  75. while ($result = $db->row_array()) {
  76. $result[display_name] = unserialize($result[display_name]);
  77. $result[display_name] = $result[display_name][$settings[default_language]];
  78. $result[description] = unserialize($result[description]);
  79. $result[description] = $result[description][$settings[default_language]];
  80. $edit_userfields[] =
  81. array("<b>$result[display_name]</b><br />$result[description]",
  82. field_def(
  83. $result, 
  84. $type='edit', 
  85. '',
  86. '',
  87. $user_details[$result[name]])
  88. ); 
  89. }
  90. if ($user['p_edit_users']) {
  91. table_header('Edit User Details', 'actions.php', array('do' => 'update_fields', 'id' => $id));
  92. } else {
  93. table_header('User Details');
  94. }
  95. table_content('', $edit_userfields);
  96. table_footer('Update User');
  97. ############################### USER NOTES ###############################
  98. unset($table);
  99. $db->query("SELECT user_notes.*, tech.username AS username
  100. FROM user_notes
  101. LEFT JOIN tech ON (tech.id = user_notes.techid)
  102. WHERE userid = '$id' AND
  103. (global OR techid = '$user[id]')
  104. ORDER BY timestamp
  105. ");
  106. $cols = array('Date', 'Tech', 'Global', 'Edit', 'Delete');
  107. while ($notes = $db->row_array()) {
  108. $table[] = array(
  109. our_date($notes[timestamp], 'full'),
  110. $notes[username],
  111. ifynb($notes['global']),
  112. "<a href="notes.php?do=edit&id=$notes[id]">edit</a>",
  113. jprompt('Are you sure you want to delete this note?', "notes.php?do=delete&id=$notes[id]", 'delete')
  114. );
  115. $line[] = $notes[note];
  116. }
  117. $table[] = array("<B><A HREF="notes.php?do=add&user=$id">Add note</A></B>");
  118. table_header('Notes');
  119. table_content($cols, $table, '', '', '', $line, array('5', '30%', '25%', '15%', '15%', '15%'));
  120. table_footer();
  121. ############################### E-MAILS ###############################
  122. $emails = $db->query_return_array("SELECT email, validated FROM user_email WHERE userid = '$id'");
  123. if ($db->num_rows()) {
  124. foreach($emails AS $val) {
  125. if (banned_email($val['email'])) {
  126. $banned = "<I>(banned)</I>"; 
  127. } else {
  128. $banned = "";
  129. }
  130. $mails[] = array($val['email'] . " $banned", iff($val['validated'], 'Yes', 'No'));
  131. }
  132. table_header('Other E-mail Addresses');
  133. table_content(array('E-mail', 'Validated'), $mails);
  134. table_footer();
  135. }
  136. ############################### TICKETS ###############################
  137. unset($table);
  138. $db->query("SELECT ticket.*,
  139. ticket_cat.name AS catname,
  140. ticket_pri.name AS priname,
  141. tech.username AS techname,
  142. tech.id AS techid,
  143. is_open,
  144. awaiting_tech
  145. FROM ticket
  146. LEFT JOIN ticket_cat ON (ticket_cat.id=ticket.category)
  147. LEFT JOIN ticket_pri ON (ticket_pri.id=ticket.priority)
  148. LEFT JOIN tech ON (tech.id=ticket.tech)
  149. WHERE ticket.userid = '$id'
  150. ");
  151. $cols = array('ID', 'Subject', 'Category', 'Priority', 'Tech Owner', 'Resolved?', 'Awaiting Response From');
  152. while ($ticket = $db->row_array()) {
  153. if ($ticket[category] == 0) {
  154. $ticket[category] = '<I>uncategorised</I>';
  155. }
  156. if ($ticket[priority] == 0) {
  157. $ticket[priority] = '<I>unprioritised</I>';
  158. }
  159. if ($ticket[tech] == 0) {
  160. $ticket[tech] = '<I>unassigned</I>';
  161. }
  162. $table[] = array(
  163. $ticket[id],
  164. "<a href="../tickets/ticketview.php?id=$ticket[id]">$ticket[subject]</a>",
  165. $ticket['catname'],
  166. $ticket['priname'],
  167. $ticket['techname'],
  168. iff($ticket['is_open'], 'No', 'Yes'),
  169. iff($ticket['awaiting_tech'], 'Tech', 'User')
  170. );
  171. }
  172. if (!is_array($table)) {
  173. $table[] = '<b>This user does not currently have any tickets.</b>';
  174. }
  175. $table[] = array("<A HREF="../tickets/newticket.php?oldusername=$user_details[username]">Create a New Ticket</A>");
  176. table_header("Tickets by $user_details[username]");
  177. table_content($cols, $table);
  178. table_footer();
  179. tech_footer();
  180. ?>