Changeset 10992 for trunk/wp-includes/pluggable.php
- Timestamp:
- 04/17/2009 09:25:11 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
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;
Note: See TracChangeset
for help on using the changeset viewer.