Make WordPress Core


Ignore:
Timestamp:
11/27/2007 10:14:53 PM (19 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.