WordPress.org

Make WordPress Core

Ticket #14308: wp_insert_user.error-catch.14308.diff

File wp_insert_user.error-catch.14308.diff, 1.4 KB (added by filosofo, 8 years ago)
  • wp-includes/registration.php

     
    278278        $user_id = wp_insert_user($userdata);
    279279
    280280        // Update the cookies if the password changed.
    281         $current_user = wp_get_current_user();
    282         if ( $current_user->id == $ID ) {
     281        if ( get_current_user_id() == $ID ) {
    283282                if ( isset($plaintext_pass) ) {
    284283                        wp_clear_auth_cookie();
    285284                        wp_set_auth_cookie($ID);
    286285                }
    287286        }
    288287
    289         return $user_id;
     288        return ( is_wp_error( $user_id ) ? 0 : (int) $user_id );
    290289}
    291290
    292291/**
     
    309308        $user_pass = $password;
    310309
    311310        $userdata = compact('user_login', 'user_email', 'user_pass');
    312         return wp_insert_user($userdata);
     311        $user_id = wp_insert_user($userdata);
     312        return ( is_wp_error( $user_id ) ? 0 : (int) $user_id );
    313313}
    314314
    315315
  • wp-admin/includes/user.php

     
    183183                $user_id = wp_update_user( get_object_vars( $user ) );
    184184        } else {
    185185                $user_id = wp_insert_user( get_object_vars( $user ) );
     186                $user_id = is_wp_error( $user_id ) ? 0 : (int) $user_id;
    186187                wp_new_user_notification( $user_id, isset($_POST['send_password']) ? $pass1 : '' );
    187188        }
    188189        return $user_id;