Changed UserSearch class to have the option to include searching on the users ta…
…ble in user_login and user_nicename. refs #1
Showing
1 changed file
with
9 additions
and
1 deletions
| ... | @@ -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"> | ... | ... |
-
Please register or sign in to post a comment