diff options
author | donncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36> | 2008-04-24 11:45:39 +0000 |
---|---|---|
committer | donncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36> | 2008-04-24 11:45:39 +0000 |
commit | cf9f85dc8121a359d550ffa3b735fb48859eee88 (patch) | |
tree | 9f90be15fc46163f5656f019f2a2866414b7c9f2 /wp-includes/user.php | |
parent | f10f9f5b05e23ce4c07479b094bd3ff4bbfd86d0 (diff) | |
download | wordpress-mu-cf9f85dc8121a359d550ffa3b735fb48859eee88.tar.gz wordpress-mu-cf9f85dc8121a359d550ffa3b735fb48859eee88.tar.xz wordpress-mu-cf9f85dc8121a359d550ffa3b735fb48859eee88.zip |
Merged with WP 2.5, revision 7806
git-svn-id: http://svn.automattic.com/wordpress-mu/trunk@1260 7be80a69-a1ef-0310-a953-fb0f7c49ff36
Diffstat (limited to 'wp-includes/user.php')
-rw-r--r-- | wp-includes/user.php | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/wp-includes/user.php b/wp-includes/user.php index a8de4f8..1daf3cd 100644 --- a/wp-includes/user.php +++ b/wp-includes/user.php @@ -19,6 +19,8 @@ function wp_signon( $credentials = '' ) { else $credentials['remember'] = false; + do_action_ref_array('wp_authenticate', array(&$credentials['user_login'], &$credentials['user_password'])); + // If no credential info provided, check cookie. if ( empty($credentials['user_login']) && empty($credentials['user_password']) ) { $user = wp_validate_auth_cookie(); @@ -42,8 +44,6 @@ function wp_signon( $credentials = '' ) { return $error; } - do_action_ref_array('wp_authenticate', array(&$credentials['user_login'], &$credentials['user_password'])); - $user = wp_authenticate($credentials['user_login'], $credentials['user_password']); if ( is_wp_error($user) ) return $user; @@ -148,9 +148,14 @@ function get_usermeta( $user_id, $meta_key = '') { if ( !empty($meta_key) ) { $meta_key = preg_replace('|[^a-z0-9_]|i', '', $meta_key); - $metas = $wpdb->get_results("SELECT meta_key, meta_value FROM $wpdb->usermeta WHERE user_id = '$user_id' AND meta_key = '$meta_key'"); + $user = wp_cache_get($user_id, 'users'); + // Check the cached user object + if ( false !== $user && isset($user->$meta_key) ) + $metas = array($user->$meta_key); + else + $metas = $wpdb->get_col( $wpdb->prepare("SELECT meta_value FROM $wpdb->usermeta WHERE user_id = %d AND meta_key = %s", $user_id, $meta_key) ); } else { - $metas = $wpdb->get_results("SELECT meta_key, meta_value FROM $wpdb->usermeta WHERE user_id = '$user_id'"); + $metas = $wpdb->get_col( $wpdb->prepare("SELECT meta_value FROM $wpdb->usermeta WHERE user_id = %d", $user_id) ); } if ( empty($metas) ) { @@ -160,13 +165,12 @@ function get_usermeta( $user_id, $meta_key = '') { return ''; } - foreach ($metas as $meta) - $values[] = maybe_unserialize($meta->meta_value); + $metas = array_map('maybe_unserialize', $metas); - if ( count($values) == 1 ) - return $values[0]; + if ( count($metas) == 1 ) + return $metas[0]; else - return $values; + return $metas; } function update_usermeta( $user_id, $meta_key, $meta_value ) { |