Make WordPress Core

Ticket #33800: 33800_final.diff

File 33800_final.diff, 1.8 KB (added by dipesh.kakadiya, 9 years ago)

Add only is_numeric check for wpmu_delete_user and wp_delete_user with unittest

  • src/wp-admin/includes/ms.php

     
    185185function wpmu_delete_user( $id ) {
    186186        global $wpdb;
    187187
     188        if ( ! is_numeric( $id ) )
     189                return false;
     190
    188191        $id = (int) $id;
    189192        $user = new WP_User( $id );
    190193
  • src/wp-admin/includes/user.php

     
    273273function wp_delete_user( $id, $reassign = null ) {
    274274        global $wpdb;
    275275
     276        if ( ! is_numeric( $id ) )
     277                return false;
     278
    276279        $id = (int) $id;
    277280        $user = new WP_User( $id );
    278281
  • tests/phpunit/tests/user.php

     
    516516        }
    517517
    518518        /**
     519         * @ticket 33800
     520         */
     521        function test_delete_user_error_check() {
     522                // Create a test user.
     523                $user_id = $this->factory->user->create( array(
     524                        'user_email' => 'ilovewordpress@example.com',
     525                ) );
     526                // set data for new user with same email id
     527                $userdata = array(
     528                        'user_login' => 'login_name',
     529                        'user_email' => 'ilovewordpress@example.com',
     530                        'user_pass'  => 'mysecretkey'  // When creating an user, `user_pass` is expected.
     531                );
     532                // create new user with email already exists.
     533                $id = wp_insert_user( $userdata );
     534                // delete that user but $id is actually WP_Error so wp_delete_user should return false.
     535                $is_deleted = wp_delete_user( $id );
     536                // check if wp_delete_user returned false
     537                $this->assertFalse( $is_deleted );
     538        }
     539
     540        /**
    519541         * @ticket 13317
    520542         */
    521543        function test_get_userdata() {