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

电子政务应用

开发平台:

Java

  1. <?php
  2. function generate_user_search_where() {
  3. global $_REQUEST, $db;
  4. /*
  5. - generates a query to run a user search
  6. - is used for both ticket searching (limited by users) and user searching
  7. */
  8. // id range
  9. if ($_REQUEST['usersearch_greater']) {
  10. $where[] = "user.id >= '" . mysql_escape_string($_REQUEST['usersearch_greater']) . "'";
  11. }
  12. if ($_REQUEST['usersearch_lessthan']) {
  13. $where[] = "user.id <= '" . mysql_escape_string($_REQUEST['usersearch_lessthan']) . "'";
  14. }
  15. // username
  16. if (trim($_REQUEST['usersearch_username']) != '') {
  17. $where[] = "user.username LIKE '%" . mysql_escape_string(addslashes_like($_REQUEST['usersearch_username'])) . "%'";
  18. }
  19. // email
  20. if (trim($_REQUEST['usersearch_email']) != '') {
  21. $where[] = "user.email LIKE '%" . mysql_escape_string(addslashes_like($_REQUEST['usersearch_email'])) . "%'";
  22. }
  23. // earliest date registered
  24. if ($_REQUEST['ddate_registered_start']) {
  25. $time = mktime(0, 0, 0, $_REQUEST['mdate_registered_start'], $_REQUEST['ddate_registered_start'], $_REQUEST['ydate_registered_start']);
  26. $where[] = "user.date_registered >= '$time'";
  27. }
  28. // lastest date registered
  29. if ($_REQUEST['ddate_registered_end']) {
  30. $time = mktime(0, 0, 0, $_REQUEST['mdate_registered_end'], $_REQUEST['ddate_registered_end'], $_REQUEST['ydate_registered_end']);
  31. $where[] = "user.date_registered <= '$time'";
  32. }
  33. // custom fields
  34. $db->query("SELECT * FROM user_def WHERE tech_viewable ORDER BY displayorder");
  35. while ($result = $db->row_array()) {
  36. $where[] = field_search(
  37. $result, 
  38. $_REQUEST[custom_fields][$result[name]], 
  39. $_REQUEST[custom_fields]['extra' . $result[name]],
  40. 'user',
  41. $_REQUEST[custom_fields][$result[name]."_match"],
  42. $_REQUEST[custom_fields][$result[name]."_not"],
  43. 1
  44. );
  45. $allowed_fields[] = $result[name];
  46. $data[$result[name]] = array('display_name' => $result[display_name], 'description' => $result[description]);
  47. }
  48. // turn array of conditions into SQL
  49. if (is_array($where)) {
  50. foreach ($where AS $key => $var) {
  51. if ($var != '') {
  52. if (!$i) {
  53. $query = "WHERE $var";
  54. $i = true;
  55. } else {
  56. $query .= " AND $var";
  57. }
  58. }
  59. }
  60. }
  61. return $query;
  62. }
  63. function generate_user_search_form_standard() {
  64. global $_REQUEST, $db, $settings;
  65. // id range
  66. $bit = form_input('usersearch_greater', $_REQUEST['usersearch_greater'], 3) . " < <b>ID</b> > " . form_input('usersearch_lessthan', $_REQUEST['usersearch_lessthan'], 3);
  67. $table[] = array(table_thelp('<b>User ID Range</b>', 'Users', 'Search: User ID Range'), $bit);
  68. // user owner
  69. $bit = form_input('usersearch_username', $_REQUEST['usersearch_username'], 30) . " <a onClick="openWindow('./../users/quickfind.php?name=searchform.usersearch_username', 450, 600, 'userfind')">".html_image('tech/pribut040.gif')."</a>";
  70. $table[] = array(table_thelp('<b>Username</b>', 'Users', 'Search: Username'), $bit);
  71. $bit = form_input('usersearch_email', $_REQUEST['usersearch_email'], 30) . " <a onClick="openWindow('./../users/quickfind.php?name=searchform.usersearch_email', 450, 600, 'userfind')">".html_image('tech/pribut040.gif')."</a>";
  72. $table[] = array(table_thelp('<b>E-mail</b>', 'Users', 'Search: User E-mail'), $bit);
  73. // sort dates for display
  74. if ($_REQUEST['ydate_registered_start']) {
  75. $date = @strtotime("$_REQUEST[ydate_registered_start]-$_REQUEST[mdate_registered_start]-$_REQUEST[ddate_registered_start]");
  76. } else {
  77. $date = NULL;
  78. }
  79. if ($_REQUEST['ydate_registered_end']) {
  80. $date2 = @strtotime("$_REQUEST[ydate_registered_end]-$_REQUEST[mdate_registered_end]-$_REQUEST[ddate_registered_end]");
  81. } else {
  82. $date2 = NULL;
  83. }
  84. // date of registration
  85. $bit =  'From ' . form_date('date_registered_start', '', $date, '', 1) . "<a onClick="datePop('searchform', 'date_registered_start')">".html_image('tech/bul102.gif')."</a> To " . form_date('date_registered_end', '', $date2, '', 1) . "<a onClick="datePop('searchform', 'date_registered_end')">".html_image('tech/bul102.gif')."</a>";
  86. $table[] = array(table_thelp('<b>Date Registered</b>', 'Users', 'Search: Date Registered'), $bit);
  87. unset($date, $date2);
  88. $db->query("SELECT * FROM user_def WHERE tech_viewable");
  89. while ($result = $db->row_array()) {
  90. $display_name = unserialize($result[display_name]);
  91. $display_name = $display_name[$settings[default_language]];
  92. $array_fields[$result[name]] = $display_name;
  93. $bit = field_def($result, 'redo', $_REQUEST[custom_fields][$result[name]], $_REQUEST[custom_fields]["extra" . $result[name]], '', 'custom_fields', 1);
  94. $table[] = array("<b>$display_name</b>", $bit);
  95. }
  96. table_header('User Search');
  97. table_content('', $table);
  98. table_footer();
  99. }
  100. // $table[] = array(table_thelp('<b>Fields to Display</b>', 'Users', 'Search: Fields to Display'), $tmp);