Changeset 10992
- Timestamp:
- 04/17/2009 09:25:11 PM (16 years ago)
- Location:
- trunk
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/wp-admin/includes/user.php
r10990 r10992 448 448 wp_cache_delete($user->user_login, 'userlogins'); 449 449 wp_cache_delete($user->user_email, 'useremail'); 450 wp_cache_delete($user->user_nicename, 'userslugs'); 450 451 451 452 // allow for commit transaction -
trunk/wp-includes/pluggable.php
r10967 r10992 140 140 endif; 141 141 142 /** 143 * Retrieve user info by a given field 144 * 145 * @since 2.8.0 146 * 147 * @param string $field The field to retrieve the user with. id | slug | email | login 148 * @param int|string $value A value for $field. A user ID, slug, email address, or login name. 149 * @return bool|object False on failure, User DB row object 150 */ 151 function get_user_by($field, $value) { 152 global $wpdb; 153 154 switch ($field) { 155 case 'id': 156 return get_userdata($value); 157 break; 158 case 'slug': 159 $user_id = wp_cache_get($value, 'userslugs'); 160 $field = 'user_nicename'; 161 break; 162 case 'email': 163 $user_id = wp_cache_get($value, 'useremail'); 164 $field = 'user_email'; 165 break; 166 case 'login': 167 $value = sanitize_user( $value ); 168 $user_id = wp_cache_get($value, 'userlogins'); 169 $field = 'user_login'; 170 break; 171 default: 172 return false; 173 } 174 175 if ( false !== $user_id ) 176 return get_userdata($user_id); 177 178 if ( !$user = $wpdb->get_row( $wpdb->prepare("SELECT * FROM $wpdb->users WHERE $field = %s", $value) ) ) 179 return false; 180 181 _fill_user($user); 182 183 return $user; 184 } 185 142 186 if ( !function_exists('get_userdatabylogin') ) : 143 187 /** … … 150 194 */ 151 195 function get_userdatabylogin($user_login) { 152 global $wpdb; 153 $user_login = sanitize_user( $user_login ); 154 155 if ( empty( $user_login ) ) 156 return false; 157 158 $user_id = wp_cache_get($user_login, 'userlogins'); 159 160 $user = false; 161 if ( false !== $user_id ) 162 $user = wp_cache_get($user_id, 'users'); 163 164 if ( false !== $user ) 165 return $user; 166 167 if ( !$user = $wpdb->get_row($wpdb->prepare("SELECT * FROM $wpdb->users WHERE user_login = %s", $user_login)) ) 168 return false; 169 170 _fill_user($user); 171 172 return $user; 196 return get_user_by('login', $user_login); 173 197 } 174 198 endif; … … 184 208 */ 185 209 function get_user_by_email($email) { 186 global $wpdb; 187 188 $user_id = wp_cache_get($email, 'useremail'); 189 190 $user = false; 191 if ( false !== $user_id ) 192 $user = wp_cache_get($user_id, 'users'); 193 194 if ( false !== $user ) 195 return $user; 196 197 if ( !$user = $wpdb->get_row($wpdb->prepare("SELECT * FROM $wpdb->users WHERE user_email = %s", $email)) ) 198 return false; 199 200 _fill_user($user); 201 202 return $user; 210 return get_user_by('email', $email); 203 211 } 204 212 endif; -
trunk/wp-includes/query.php
r10956 r10992 2005 2005 $q['author_name'] = sanitize_title($q['author_name']); 2006 2006 $q['author'] = $wpdb->get_var("SELECT ID FROM $wpdb->users WHERE user_nicename='".$q['author_name']."'"); 2007 $q['author'] = get_user_by('slug', $q['author_name']); 2008 if ( $q['author'] ) 2009 $q['author'] = $q['author']->ID; 2007 2010 $whichauthor .= " AND ($wpdb->posts.post_author = ".absint($q['author']).')'; 2008 2011 } -
trunk/wp-includes/user.php
r10960 r10992 598 598 wp_cache_add($user->user_login, $user->ID, 'userlogins'); 599 599 wp_cache_add($user->user_email, $user->ID, 'useremail'); 600 wp_cache_add($user->user_nicename, $user->ID, 'userslugs'); 600 601 } 601 602
Note: See TracChangeset
for help on using the changeset viewer.