Make WordPress Core


Ignore:
Timestamp:
11/27/2007 10:14:53 PM (18 years ago)
Author:
ryan
Message:

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-includes/user.php

    r6260 r6346  
    7979    $user = get_userdata($user_id);
    8080    wp_cache_delete($user_id, 'users');
    81     wp_cache_delete($user->user_login, 'userlogins');
    8281
    8382    return true;
     
    143142    $user = get_userdata($user_id);
    144143    wp_cache_delete($user_id, 'users');
    145     wp_cache_delete($user->user_login, 'userlogins');
    146144
    147145    return true;
     
    239237}
    240238
     239function _fill_user( &$user ) {
     240    global $wpdb;
     241
     242    $wpdb->hide_errors();
     243    $metavalues = $wpdb->get_results($wpdb->prepare("SELECT meta_key, meta_value FROM $wpdb->usermeta WHERE user_id = %d", $user->ID));
     244    $wpdb->show_errors();
     245
     246    if ( $metavalues ) {
     247        foreach ( $metavalues as $meta ) {
     248            $value = maybe_unserialize($meta->meta_value);
     249            $user->{$meta->meta_key} = $value;
     250        }
     251    }
     252
     253    $level = $wpdb->prefix . 'user_level';
     254    if ( isset( $user->{$level} ) )
     255        $user->user_level = $user->{$level};
     256
     257    // For backwards compat.
     258    if ( isset($user->first_name) )
     259        $user->user_firstname = $user->first_name;
     260    if ( isset($user->last_name) )
     261        $user->user_lastname = $user->last_name;
     262    if ( isset($user->description) )
     263        $user->user_description = $user->description;
     264
     265    wp_cache_add($user->ID, $user, 'users');
     266    wp_cache_add($user->user_login, $user->ID, 'userlogins');
     267    wp_cache_add($user->user_email, $user->ID, 'useremail');
     268}
     269
    241270?>
Note: See TracChangeset for help on using the changeset viewer.