33ed94d1 by Marty Penner

Refactored search query in merge_users

1 parent 38aaa2dd
...@@ -994,20 +994,22 @@ class Actions { ...@@ -994,20 +994,22 @@ class Actions {
994 // Check for search term in first_name, last_name, user_login, and user_email, but only if user status is not 'terminated' 994 // Check for search term in first_name, last_name, user_login, and user_email, but only if user status is not 'terminated'
995 $query = " 995 $query = "
996 SELECT ID, user_email 996 SELECT ID, user_email
997 FROM $wpdb->users 997 FROM $wpdb->users AS u, $wpdb->usermeta AS uml, $wpdb->usermeta AS umf, $wpdb->usermeta AS ums
998 WHERE ( 998 WHERE (uml.user_id = u.ID
999 (user_login LIKE '%$username%') 999 AND uml.meta_key = 'last_name'
1000 OR (user_email LIKE '%$username%') 1000 )
1001 OR (ID IN ( 1001 AND (umf.user_id = u.ID
1002 SELECT user_id 1002 AND umf.meta_key = 'first_name'
1003 FROM $wpdb->usermeta 1003 )
1004 WHERE (meta_key = 'first_name' OR meta_key = 'last_name') 1004 AND (ums.user_id = u.ID
1005 AND meta_value LIKE '%$username%' 1005 AND ums.meta_key = 'status'
1006 ))) 1006 )
1007 AND (ID NOT IN ( 1007 AND ((uml.meta_value LIKE '%$username%'
1008 SELECT user_id FROM $wpdb->usermeta WHERE meta_key = 'status' AND meta_value = 'terminated' 1008 OR umf.meta_value LIKE '%$username%')
1009 )) 1009 AND ums.meta_value != 'terminated'
1010 )
1010 ORDER BY user_email"; 1011 ORDER BY user_email";
1012
1011 $result = $wpdb->get_results($query, ARRAY_A); 1013 $result = $wpdb->get_results($query, ARRAY_A);
1012 1014
1013 if (! empty($result)) { 1015 if (! empty($result)) {
......