From 9f33300139862dd1f9b24145803c787878c0c7be Mon Sep 17 00:00:00 2001 From: ryan Date: Fri, 23 Apr 2010 14:25:05 +0000 Subject: [PATCH] Bring back delete on empty value for update_user_option() to preserve back compat. Switch to delete_user_option() in core. Props mdawaffe. fixes #13088 git-svn-id: http://svn.automattic.com/wordpress/trunk@14193 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-admin/includes/upgrade.php | 2 +- wp-includes/ms-functions.php | 4 ++-- wp-includes/user.php | 8 ++++++++ 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/wp-admin/includes/upgrade.php b/wp-admin/includes/upgrade.php index a45cde832..cc01b055e 100644 --- a/wp-admin/includes/upgrade.php +++ b/wp-admin/includes/upgrade.php @@ -1110,7 +1110,7 @@ function upgrade_300() { if ( $wp_current_db_version < 14139 ) { populate_roles_300(); - if ( is_multisite() && is_main_site() && ! defined( 'MULTISITE' ) && get_site_option( 'siteurl' ) === false ) + if ( is_multisite() && is_main_site() && ! defined( 'MULTISITE' ) && get1_site_option( 'siteurl' ) === false ) add_site_option( 'siteurl', '' ); } diff --git a/wp-includes/ms-functions.php b/wp-includes/ms-functions.php index 76d81f0e8..26fa64ac2 100644 --- a/wp-includes/ms-functions.php +++ b/wp-includes/ms-functions.php @@ -786,8 +786,8 @@ function wpmu_create_user( $user_name, $password, $email) { return false; // Newly created users have no roles or caps until they are added to a blog. - update_user_option($user_id, 'capabilities', ''); - update_user_option($user_id, 'user_level', ''); + delete_user_option( $user_id, 'capabilities' ); + delete_user_option( $user_id, 'user_level' ); do_action( 'wpmu_new_user', $user_id ); diff --git a/wp-includes/user.php b/wp-includes/user.php index 3227d51d8..3fa6db69f 100644 --- a/wp-includes/user.php +++ b/wp-includes/user.php @@ -258,6 +258,8 @@ function get_user_option( $option, $user = 0, $deprecated = '' ) { * global blog options. If the 'global' parameter is false, which it is by default * it will prepend the WordPress table prefix to the option name. * + * Deletes the user option if $newvalue is empty. + * * @since 2.0.0 * @uses $wpdb WordPress database object for queries * @@ -272,6 +274,12 @@ function update_user_option( $user_id, $option_name, $newvalue, $global = false if ( !$global ) $option_name = $wpdb->prefix . $option_name; + + // For backward compatibility. See differences between update_user_meta() and deprecated update_user_meta(). + // http://core.trac.wordpress.org/ticket/13088 + if ( is_null( $newvalue ) || is_scalar( $newvalue ) && empty( $newvalue ) ) + return delete_user_meta( $user_id, $option_name ); + return update_user_meta( $user_id, $option_name, $newvalue ); }