summaryrefslogtreecommitdiffstats
path: root/wp-includes/user.php
diff options
context:
space:
mode:
authordonncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36>2008-04-24 11:45:39 +0000
committerdonncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36>2008-04-24 11:45:39 +0000
commitcf9f85dc8121a359d550ffa3b735fb48859eee88 (patch)
tree9f90be15fc46163f5656f019f2a2866414b7c9f2 /wp-includes/user.php
parentf10f9f5b05e23ce4c07479b094bd3ff4bbfd86d0 (diff)
downloadwordpress-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.php22
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 ) {