get_user_by_email() and some user caching cleanups. fixes #5392

git-svn-id: http://svn.automattic.com/wordpress/trunk@6346 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
ryan
2007-11-27 22:14:53 +00:00
parent ec4bcf7080
commit 43b7cd700f
4 changed files with 87 additions and 38 deletions

View File

@@ -78,7 +78,6 @@ function delete_usermeta( $user_id, $meta_key, $meta_value = '' ) {
$user = get_userdata($user_id);
wp_cache_delete($user_id, 'users');
wp_cache_delete($user->user_login, 'userlogins');
return true;
}
@@ -142,7 +141,6 @@ function update_usermeta( $user_id, $meta_key, $meta_value ) {
$user = get_userdata($user_id);
wp_cache_delete($user_id, 'users');
wp_cache_delete($user->user_login, 'userlogins');
return true;
}
@@ -238,4 +236,35 @@ function wp_dropdown_users( $args = '' ) {
return $output;
}
function _fill_user( &$user ) {
global $wpdb;
$wpdb->hide_errors();
$metavalues = $wpdb->get_results($wpdb->prepare("SELECT meta_key, meta_value FROM $wpdb->usermeta WHERE user_id = %d", $user->ID));
$wpdb->show_errors();
if ( $metavalues ) {
foreach ( $metavalues as $meta ) {
$value = maybe_unserialize($meta->meta_value);
$user->{$meta->meta_key} = $value;
}
}
$level = $wpdb->prefix . 'user_level';
if ( isset( $user->{$level} ) )
$user->user_level = $user->{$level};
// For backwards compat.
if ( isset($user->first_name) )
$user->user_firstname = $user->first_name;
if ( isset($user->last_name) )
$user->user_lastname = $user->last_name;
if ( isset($user->description) )
$user->user_description = $user->description;
wp_cache_add($user->ID, $user, 'users');
wp_cache_add($user->user_login, $user->ID, 'userlogins');
wp_cache_add($user->user_email, $user->ID, 'useremail');
}
?>