actions.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: actions.php,v $
  15. // | $Date: 2004/02/12 21:16:57 $
  16. // | $Revision: 1.36 $
  17. // +-------------------------------------------------------------+
  18. // | File Details:
  19. // | - User action handler.
  20. // +-------------------------------------------------------------+
  21. error_reporting(E_ALL ^ E_NOTICE);
  22. include "./../global.php";
  23. // default do
  24. $_REQUEST['do'] = trim($_REQUEST['do']);
  25. if (!isset($_REQUEST['do']) or $_REQUEST['do'] == "") {
  26. $_REQUEST['do'] = "navigate";
  27. }
  28. ############################################# UPDATE USER #############################################
  29. if ($_REQUEST['do'] == 'update_fields') {
  30. if ($user['p_edit_users']) {
  31. // change email
  32. if (!validate_email($_REQUEST['email'])) {
  33. mistake("Invalid e-mail address specified ('$_REQUEST[email]').");
  34. }
  35. // if we are changing username or email address we need to email it
  36. $user_details = $db->query_return("SELECT * FROM user WHERE id = '$_REQUEST[id]'");
  37. if (($_REQUEST['email'] != $user_details['email']) OR ($_REQUEST['username'] != $user_details['username'])) {
  38. $mail = 1;
  39. }
  40. // get changed custom fields
  41. $db->query("SELECT * FROM user_def WHERE tech_viewable");
  42. $terms = array();
  43. while ($res = $db->row_array()) {
  44. if ($_REQUEST[custom_fields]["extra$res[name]"]) {
  45. $data = field_def_val($res, $_REQUEST['custom_fields'][$res['name']], $_REQUEST['custom_fields']["extra$res[name]"]);
  46. } else {
  47. $data = field_def_val($res, $_REQUEST['custom_fields'][$res['name']]);
  48. }
  49. $terms[] = "$res[name] = '" . mysql_escape_string($data) . "'";
  50. }
  51. if (count($terms)) {
  52. $terms = ', ' . join(', ',$terms);
  53. } else {
  54. $terms = '';
  55. }
  56. // are we changing the user expiration
  57. if ($user['p_user_expire']) {
  58. $expire = "
  59. expire_date = '" . mysql_escape_string(strtotime("$_REQUEST[yexpire_date]-$_REQUEST[mexpire_date]-$_REQUEST[dexpire_date]")) . "',
  60. expire_tickets = '" . mysql_escape_string($_REQUEST['expire_tickets']) . "',
  61. ";
  62. } else {
  63. $expire = NULL;
  64. }
  65. // run query change
  66. $disabled = xss_check($_REQUEST['disabled'], 'tech');
  67. $db->query("
  68. UPDATE user SET 
  69. name = '" . mysql_escape_string($_REQUEST['name']) . "',
  70. username = '" . mysql_escape_string($_REQUEST['username']) . "',
  71. email = '" . mysql_escape_string($_REQUEST['email']) . "',
  72. disabled = '" . mysql_escape_string($disabled) . "',
  73. $expire
  74. autoresponds = '" . mysql_escape_string($_REQUEST['autoresponds']) . "',
  75. timezone = '" . mysql_escape_string($_REQUEST['timezone']) . "',
  76. timezone_dst = '" . mysql_escape_string($_REQUEST['timezone_dst']) . "'
  77. $terms 
  78. WHERE id = '$_REQUEST[id]'
  79. ");
  80. $user_details = $db->query_return("SELECT * FROM user WHERE id = '$_REQUEST[id]'");
  81. // are we sending email?
  82. if ($mail) {
  83. $password = $user_details['password'];
  84. $passtech = 1;
  85. $user_details = update_user_details($user_details);
  86. eval(makeemaileval('message', 'BODY_newpass', $subject));
  87. dp_mail($user_details['email'], $subject, $message);
  88. }
  89. jump("view.php?id=$_REQUEST[id]", 'User updated.');
  90. } else {
  91. mistake("You do not have permission to edit users");
  92. }
  93. }
  94. ############################################ NEW PASSWORD ############################################# 
  95. if ($_REQUEST['do'] == 'newpass' AND $user['p_edit_users']) {
  96. $user_details = $db->query_return("SELECT * FROM user WHERE id = '$_REQUEST[id]'");
  97. if (!$db->num_rows()) {
  98. mistake('The user could not be found, or no user was specified.');
  99. }
  100. $password1 = make_pass(8);
  101. $password_cookie = md5($session[sessionid] . $password1 . uniqid(rand(),1));
  102. $password_url = md5($session[sessionid] . $password1 . uniqid(rand(),1));
  103.     $password_cookie = mysql_escape_string(substr($password_cookie, 0, 8));
  104.     $password_url = mysql_escape_string(substr($password_url, 0, 8));
  105. $password1 = mysql_escape_string($password1);
  106. $db->query("
  107. UPDATE user SET 
  108. password = '$password1', 
  109. password_url = '$password_url', 
  110. password_cookie = '$password_cookie' 
  111. WHERE id = '$_REQUEST[id]'
  112. ");
  113. $passtech = true;
  114. $password = $password1;
  115. $user_details = update_user_details($user_details);
  116. eval(makeemaileval('message', 'BODY_newpass', $subject));
  117. dp_mail($user_details['email'], $subject, $message);
  118. jump("view.php?id=$_REQUEST[id]", 'New password generated.');
  119. }
  120. ############################################# DELETE USER ############################################# 
  121. if ($_REQUEST['do'] == 'delete') {
  122. if ((int)$_REQUEST['id']) {
  123. $res = user_delete($_REQUEST['id']);
  124. if ($res > 0) {
  125. jump('search.php', 'User deleted.');
  126. } elseif ($res == -1) {
  127. tech_nav('users');
  128. mistake('<B>Error:</B> You do not have permission to delete users.</P>');
  129. } elseif ($res == 0) {
  130. tech_nav('users');
  131. mistake('<B>Error:</B> The specified user does not exist.</P>');
  132. }
  133. } else { 
  134. tech_nav('users');
  135. mistake('<B>Error:</B> A user ID must be specified.</P>');
  136. }
  137. }