Make WordPress Core

Changeset 3137


Ignore:
Timestamp:
11/17/2005 06:15:59 PM (20 years ago)
Author:
ryan
Message:

Tidy up get_userdatabylogin().

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-includes/pluggable-functions.php

    r3120 r3137  
    6565if ( !function_exists('update_user_cache') ) :
    6666function update_user_cache() {
    67     global $cache_userdata, $wpdb;
    68     $level_key = $wpdb->prefix . 'user_level';
    69     $user_ids = $wpdb->get_col("SELECT user_id FROM $wpdb->usermeta WHERE meta_key = '$level_key'");
    70     $user_ids = join(',', $user_ids);
    71     $query = apply_filters('user_cache_query', "SELECT * FROM $wpdb->users WHERE ID IN ($user_ids)");
    72     if ( $users = $wpdb->get_results( $query ) ) :
    73         foreach ($users as $user) :
    74             $metavalues = $wpdb->get_results("SELECT meta_key, meta_value FROM $wpdb->usermeta WHERE user_id = '$user->ID'");
    75             foreach ( $metavalues as $meta ) {
    76                 @ $value = unserialize($meta->meta_value);
    77                 if ($value === FALSE)
    78                     $value = $meta->meta_value;
    79                 $user->{$meta->meta_key} = $value;
    80                 // We need to set user_level from meta, not row
    81                 if ( $wpdb->prefix . 'user_level' == $meta->meta_key )
    82                     $user->user_level = $meta->meta_value;
    83             }
    84 
    85             $cache_userdata[$user->ID] = $user;
    86             $cache_userdata[$user->user_login] =& $cache_userdata[$user->ID];
    87         endforeach;
    88         return true;
    89     else :
    90         return false;
    91     endif;
     67    return true;
    9268}
    9369endif;
     
    9571if ( !function_exists('get_userdatabylogin') ) :
    9672function get_userdatabylogin($user_login) {
    97     global $cache_userdata, $wpdb;
     73    global $wpdb;
    9874    $user_login = sanitize_user( $user_login );
    9975
     
    10682
    10783    if ( !$user = $wpdb->get_row("SELECT * FROM $wpdb->users WHERE user_login = '$user_login'") )
    108         return $cache_userdata[$user_login] = false;
     84        return false;
    10985
    11086    $metavalues = $wpdb->get_results("SELECT meta_key, meta_value FROM $wpdb->usermeta WHERE user_id = '$user->ID'");
    11187
    112     foreach ( $metavalues as $meta ) {
    113         @ $value = unserialize($meta->meta_value);
    114         if ($value === FALSE)
    115             $value = $meta->meta_value;
    116         $user->{$meta->meta_key} = $value;
    117 
    118         // We need to set user_level from meta, not row
    119         if ( $wpdb->prefix . 'user_level' == $meta->meta_key )
    120             $user->user_level = $meta->meta_value;
    121     }
    122 
    123     $cache_userdata[$user->ID] = $user;
    124     $cache_userdata[$cache_userdata[$user->ID]->user_login] =& $cache_userdata[$user->ID];
    125 
    126     return $cache_userdata[$user->ID];
     88    if ($metavalues) {
     89        foreach ( $metavalues as $meta ) {
     90            @ $value = unserialize($meta->meta_value);
     91            if ($value === FALSE)
     92                $value = $meta->meta_value;
     93            $user->{$meta->meta_key} = $value;
     94
     95            // We need to set user_level from meta, not row
     96            if ( $wpdb->prefix . 'user_level' == $meta->meta_key )
     97                $user->user_level = $meta->meta_value;
     98        }
     99    }
     100
     101    wp_cache_add($user->ID, $user, 'users');
     102    wp_cache_add($user->user_login, $user, 'users');
     103
     104    return $user;
    127105
    128106}
Note: See TracChangeset for help on using the changeset viewer.