Changeset 3137
- Timestamp:
- 11/17/2005 06:15:59 PM (20 years ago)
- File:
-
- 1 edited
-
trunk/wp-includes/pluggable-functions.php (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/wp-includes/pluggable-functions.php
r3120 r3137 65 65 if ( !function_exists('update_user_cache') ) : 66 66 function 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; 92 68 } 93 69 endif; … … 95 71 if ( !function_exists('get_userdatabylogin') ) : 96 72 function get_userdatabylogin($user_login) { 97 global $ cache_userdata, $wpdb;73 global $wpdb; 98 74 $user_login = sanitize_user( $user_login ); 99 75 … … 106 82 107 83 if ( !$user = $wpdb->get_row("SELECT * FROM $wpdb->users WHERE user_login = '$user_login'") ) 108 return $cache_userdata[$user_login] =false;84 return false; 109 85 110 86 $metavalues = $wpdb->get_results("SELECT meta_key, meta_value FROM $wpdb->usermeta WHERE user_id = '$user->ID'"); 111 87 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; 127 105 128 106 }
Note: See TracChangeset
for help on using the changeset viewer.