Make WordPress Core


Ignore:
Timestamp:
11/17/2005 06:15:59 PM (21 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.