From de41bc288b0d127f16c81b2bc0d3242614859f88 Mon Sep 17 00:00:00 2001 From: ryan Date: Fri, 6 Apr 2012 19:18:45 +0000 Subject: [PATCH] Introduce WP_User::exists(). see #20372 git-svn-id: http://svn.automattic.com/wordpress/trunk@20378 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-admin/includes/ajax-actions.php | 2 +- wp-comments-post.php | 4 ++-- wp-includes/capabilities.php | 16 ++++++++++++++-- wp-includes/comment-template.php | 2 +- wp-includes/comment.php | 2 +- wp-includes/ms-deprecated.php | 2 +- wp-includes/ms-functions.php | 4 ++-- wp-includes/pluggable.php | 2 +- wp-includes/user.php | 4 ++-- 9 files changed, 25 insertions(+), 13 deletions(-) diff --git a/wp-admin/includes/ajax-actions.php b/wp-admin/includes/ajax-actions.php index 75051ed82a..ffc1e18684 100644 --- a/wp-admin/includes/ajax-actions.php +++ b/wp-admin/includes/ajax-actions.php @@ -742,7 +742,7 @@ function wp_ajax_replyto_comment( $action ) { wp_die( __('ERROR: you are replying to a comment on a draft post.') ); $user = wp_get_current_user(); - if ( $user->ID ) { + if ( $user->exists() ) { $user_ID = $user->ID; $comment_author = $wpdb->escape($user->display_name); $comment_author_email = $wpdb->escape($user->user_email); diff --git a/wp-comments-post.php b/wp-comments-post.php index 66ae3302d5..c059012cc2 100644 --- a/wp-comments-post.php +++ b/wp-comments-post.php @@ -54,7 +54,7 @@ $comment_content = ( isset($_POST['comment']) ) ? trim($_POST['comment']) : // If the user is logged in $user = wp_get_current_user(); -if ( $user->ID ) { +if ( $user->exists() ) { if ( empty( $user->display_name ) ) $user->display_name=$user->user_login; $comment_author = $wpdb->escape($user->display_name); @@ -73,7 +73,7 @@ if ( $user->ID ) { $comment_type = ''; -if ( get_option('require_name_email') && !$user->ID ) { +if ( get_option('require_name_email') && !$user->exists() ) { if ( 6 > strlen($comment_author_email) || '' == $comment_author ) wp_die( __('ERROR: please fill the required fields (name, email).') ); elseif ( !is_email($comment_author_email)) diff --git a/wp-includes/capabilities.php b/wp-includes/capabilities.php index c8d58b9303..19568e5dc2 100644 --- a/wp-includes/capabilities.php +++ b/wp-includes/capabilities.php @@ -598,6 +598,18 @@ class WP_User { $this->data->$key = $value; } + /** + * Determine whether the user exists in the database. + * + * @since 3.4.0 + * @access public + * + * @return bool True if user exists in the database, false if not. + */ + function exists() { + return ! empty( $this->ID ); + } + /** * Retrieve the value of a property or meta key. * @@ -1259,7 +1271,7 @@ function user_can( $user, $capability ) { if ( ! is_object( $user ) ) $user = new WP_User( $user ); - if ( ! $user || ! $user->ID ) + if ( ! $user || ! $user->exists() ) return false; $args = array_slice( func_get_args(), 2 ); @@ -1356,7 +1368,7 @@ function is_super_admin( $user_id = false ) { else $user = wp_get_current_user(); - if ( empty( $user->ID ) ) + if ( ! $user->exists() ) return false; if ( is_multisite() ) { diff --git a/wp-includes/comment-template.php b/wp-includes/comment-template.php index e135717f85..18f001ca20 100644 --- a/wp-includes/comment-template.php +++ b/wp-includes/comment-template.php @@ -1517,7 +1517,7 @@ function comment_form( $args = array(), $post_id = null ) { $commenter = wp_get_current_commenter(); $user = wp_get_current_user(); - $user_identity = ! empty( $user->ID ) ? $user->display_name : ''; + $user_identity = $user->exists() ? $user->display_name : ''; $req = get_option( 'require_name_email' ); $aria_req = ( $req ? " aria-required='true'" : '' ); diff --git a/wp-includes/comment.php b/wp-includes/comment.php index a27bbc37d7..d21f8f579a 100644 --- a/wp-includes/comment.php +++ b/wp-includes/comment.php @@ -579,7 +579,7 @@ function update_comment_meta($comment_id, $meta_key, $meta_value, $prev_value = * @since 3.4.0 */ function wp_set_comment_cookies($comment, $user) { - if ( $user->ID ) + if ( $user->exists() ) return; $comment_cookie_lifetime = apply_filters('comment_cookie_lifetime', 30000000); diff --git a/wp-includes/ms-deprecated.php b/wp-includes/ms-deprecated.php index 6cc6bc28b9..9b9c43f9d6 100644 --- a/wp-includes/ms-deprecated.php +++ b/wp-includes/ms-deprecated.php @@ -49,7 +49,7 @@ function is_site_admin( $user_login = '' ) { return false; } else { $user = get_user_by( 'login', $user_login ); - if ( empty( $user->ID ) ) + if ( ! $user->exists() ) return false; $user_id = $user->ID; } diff --git a/wp-includes/ms-functions.php b/wp-includes/ms-functions.php index 74c28bb9cc..959d3b235e 100644 --- a/wp-includes/ms-functions.php +++ b/wp-includes/ms-functions.php @@ -185,7 +185,7 @@ function add_user_to_blog( $blog_id, $user_id, $role ) { $user = new WP_User($user_id); - if ( empty( $user->ID ) ) { + if ( ! $user->exists() ) { restore_current_blog(); return new WP_Error('user_does_not_exist', __('That user does not exist.')); } @@ -247,7 +247,7 @@ function remove_user_from_blog($user_id, $blog_id = '', $reassign = '') { // wp_revoke_user($user_id); $user = new WP_User($user_id); - if ( empty( $user->ID ) ) { + if ( ! $user->exists() ) { restore_current_blog(); return new WP_Error('user_does_not_exist', __('That user does not exist.')); } diff --git a/wp-includes/pluggable.php b/wp-includes/pluggable.php index b9764f173a..22f1c48134 100644 --- a/wp-includes/pluggable.php +++ b/wp-includes/pluggable.php @@ -709,7 +709,7 @@ if ( !function_exists('is_user_logged_in') ) : function is_user_logged_in() { $user = wp_get_current_user(); - if ( empty( $user->ID ) ) + if ( ! $user->exists() ) return false; return true; diff --git a/wp-includes/user.php b/wp-includes/user.php index 792f9d6630..463f311765 100644 --- a/wp-includes/user.php +++ b/wp-includes/user.php @@ -259,7 +259,7 @@ function get_user_option( $option, $user = 0, $deprecated = '' ) { else $user = new WP_User( $user ); - if ( ! isset( $user->ID ) ) + if ( ! $user->exists() ) return false; if ( $user->has_prop( $wpdb->prefix . $option ) ) // Blog specific @@ -940,7 +940,7 @@ function setup_userdata($for_user_id = '') { $user_ID = (int) $user->ID; $user_level = (int) isset($user->user_level) ? $user->user_level : 0; - if ( 0 == $user->ID ) { + if ( ! $user->exists() ) { $user_login = $user_email = $user_url = $user_pass_md5 = $user_identity = ''; return; }