33ed94d1 by Marty Penner

Refactored search query in merge_users

1 parent 38aaa2dd
......@@ -994,20 +994,22 @@ class Actions {
// Check for search term in first_name, last_name, user_login, and user_email, but only if user status is not 'terminated'
$query = "
SELECT ID, user_email
FROM $wpdb->users
WHERE (
(user_login LIKE '%$username%')
OR (user_email LIKE '%$username%')
OR (ID IN (
SELECT user_id
FROM $wpdb->usermeta
WHERE (meta_key = 'first_name' OR meta_key = 'last_name')
AND meta_value LIKE '%$username%'
)))
AND (ID NOT IN (
SELECT user_id FROM $wpdb->usermeta WHERE meta_key = 'status' AND meta_value = 'terminated'
))
FROM $wpdb->users AS u, $wpdb->usermeta AS uml, $wpdb->usermeta AS umf, $wpdb->usermeta AS ums
WHERE (uml.user_id = u.ID
AND uml.meta_key = 'last_name'
)
AND (umf.user_id = u.ID
AND umf.meta_key = 'first_name'
)
AND (ums.user_id = u.ID
AND ums.meta_key = 'status'
)
AND ((uml.meta_value LIKE '%$username%'
OR umf.meta_value LIKE '%$username%')
AND ums.meta_value != 'terminated'
)
ORDER BY user_email";
$result = $wpdb->get_results($query, ARRAY_A);
if (! empty($result)) {
......