e6c83a0d by Marty Penner

Changed UserSearch class to have the option to include searching on the users ta…

…ble in user_login and user_nicename. refs #1
1 parent 7abd9cd6
...@@ -36,7 +36,7 @@ class UserSearch implements ArrayAccess, Iterator, Countable { ...@@ -36,7 +36,7 @@ class UserSearch implements ArrayAccess, Iterator, Countable {
36 36
37 protected $userclass = 'User'; 37 protected $userclass = 'User';
38 38
39 public function __construct(Array $fields, $num_results = -1, $page = 1, $sortby = null, $sortorder = 'ASC', Array $field_match = null, $text_search = null, Array $in_groups = null) { 39 public function __construct(Array $fields, $num_results = -1, $page = 1, $sortby = null, $sortorder = 'ASC', Array $field_match = null, $text_search = null, Array $in_groups = null, $search_users_table = null) {
40 $this->userclass = __NAMESPACE__ . '\User'; 40 $this->userclass = __NAMESPACE__ . '\User';
41 41
42 global $wpdb; 42 global $wpdb;
...@@ -84,6 +84,13 @@ class UserSearch implements ArrayAccess, Iterator, Countable { ...@@ -84,6 +84,13 @@ class UserSearch implements ArrayAccess, Iterator, Countable {
84 $uam_clause = " AND `uam`.`object_type` = 'user' AND `uam`.`group_id` IN (" . implode(',', $in_groups) . ") "; 84 $uam_clause = " AND `uam`.`object_type` = 'user' AND `uam`.`group_id` IN (" . implode(',', $in_groups) . ") ";
85 } 85 }
86 86
87 // Users table
88 if (!is_null($search_users_table)) {
89 if (!empty($having_clause)) {
90 $having_clause .= "\n OR `user_id` IN (SELECT `ID` FROM `wp_users` WHERE (`user_login` LIKE '%{$search}%' OR `user_nicename` LIKE '%{$search}%'))";
91 }
92 }
93
87 mysql_query("SET SESSION group_concat_max_len = 40960", $wpdb->dbh); 94 mysql_query("SET SESSION group_concat_max_len = 40960", $wpdb->dbh);
88 95
89 $query = " 96 $query = "
...@@ -111,6 +118,7 @@ class UserSearch implements ArrayAccess, Iterator, Countable { ...@@ -111,6 +118,7 @@ class UserSearch implements ArrayAccess, Iterator, Countable {
111 {$order_sort} 118 {$order_sort}
112 {$limit_clause} 119 {$limit_clause}
113 "; 120 ";
121 //die(var_dump($query));
114 /* 122 /*
115 ?> 123 ?>
116 <textarea style="width: 95%; height: 35em; font-size: 11px;" autofocus="autofocus"> 124 <textarea style="width: 95%; height: 35em; font-size: 11px;" autofocus="autofocus">
......