function bb_check_login($user, $pass, $already_md5 = false) { global $wp_users_object; if (!bb_get_option('email_login') || false === strpos($user, '@')) { // user_login $user = $wp_users_object->get_user($user, array('by' => 'login')); } else { // maybe an email $email_user = $wp_users_object->get_user($user, array('by' => 'email')); $user = $wp_users_object->get_user($user, array('by' => 'login')); // 9 cases. each can be FALSE, USER, or WP_ERROR if (!$email_user && $user || is_wp_error($email_user) && $user && !is_wp_error($user)) { // nope: it really was a user_login // [sic]: use $user } elseif ($email_user && !$user || $email_user && !is_wp_error($email_user) && is_wp_error($user)) { // yup: it was an email $user =& $email_user; } elseif (!$email_user && !$user) { // FALSE && FALSE // Doesn't matter what it was: neither worked return false; } elseif (is_wp_error($email_user) && is_wp_error($user)) { // WP_ERROR && WP_ERROR // This can't happen. If it does, let's use the email error. It's probably "multiple matches", so maybe logging in with a username will work $user =& $email_user; } elseif ($email_user && $user) { // USER && USER // both are user objects if ($email_user->ID == $user->ID) { } elseif (bb_check_password($pass, $user->user_pass, $user->ID)) { } elseif (bb_check_password($pass, $email_user->user_pass, $email_user->ID)) { $user =& $email_user; } } else { // This can't happen, that's all 9 cases. // [sic]: use $user } } if (!$user) { return false; } if (is_wp_error($user)) { return $user; } if (!bb_check_password($pass, $user->user_pass, $user->ID)) { return false; } // User is logging in for the first time, update their user_status to normal if (1 == $user->user_status) { bb_update_user_status($user->ID, 0); } return $user; }
function update_user_status($user_id, $user_status = 0) { bb_log_deprecated('function', __FUNCTION__, 'bb_update_user_status'); return bb_update_user_status($user_id, $user_status); }