Changeset 105
- Timestamp:
- 08/06/08 22:04:17 (4 months ago)
- Files:
-
- trunk/includes/class.wp-users.php (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/includes/class.wp-users.php
r102 r105 164 164 function get_user( $user_id = 0, $args = null ) { 165 165 $defaults = array( 'output' => OBJECT, 'by' => false ); 166 extract( wp_parse_args( $args, $defaults ), EXTR_SKIP ); 166 $args = wp_parse_args( $args, $defaults ); 167 extract( $args, EXTR_SKIP ); 167 168 168 169 if ( is_array( $user_id ) ) { … … 187 188 return $user; 188 189 } 189 $sql = "SELECT * FROM {$this->db->users} WHERE ID = %d";190 $sql_field = 'ID'; 190 191 } elseif ( 'email' == $by ) { 191 192 if ( !$this->is_email( $user_id ) ) … … 197 198 return $this->get_user( $ID, $args ); 198 199 } 199 $sql = "SELECT * FROM {$this->db->users} WHERE user_email = %s";200 $sql_field = 'user_email'; 200 201 } elseif ( 'nicename' == $by ) { // No cache? 201 202 $user_id = $this->sanitize_nicename( $user_id ); 202 $sql = "SELECT * FROM {$this->db->users} WHERE user_nicename = %s";203 $sql_field = 'user_nicename'; 203 204 } else { 204 205 $user_id = $this->sanitize_user( $user_id ); … … 207 208 elseif ( $ID ) 208 209 return $this->get_user( $ID, $args ); 209 $sql = "SELECT * FROM {$this->db->users} WHERE user_login = %s";210 $sql_field = 'user_login'; 210 211 } 211 212 … … 213 214 return false; 214 215 216 $sql = "SELECT * FROM {$this->db->users} WHERE $sql_field = %s"; // ID is already (int)ed 215 217 $user = $this->db->get_row( $this->db->prepare( $sql, $user_id ) ); 218 219 if ( 1 < $this->db->num_rows ) { 220 if ( 'user_email' == $sql_field ) 221 $err = __( 'Multiple email matches. Log in with your username.' ); 222 else 223 $err = sprintf( __( 'Multiple %s matches' ), $sql_field ); 224 return new WP_Error( $sql_field, $err, $args + array( 'user_id' => $user_id, 'unique' => false ) ); 225 } 216 226 217 227 if ( $user ) {
