Making WordPress.org


Ignore:
Timestamp:
04/30/2021 08:11:45 AM (4 years ago)
Author:
dd32
Message:

Login: When blocking users from the Admin UI, reference them by ID rather than by email to simplify some logic.

This also allows switching prior to including bbPress, avoiding issues related to code that sets all users as bbp_participant & [10939].

Follow up to [10928].

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-login/admin/class-user-registrations-list-table.php

    r10928 r10940  
    244244
    245245        } else {
    246             $url = add_query_arg(
    247                 'email',
    248                 urlencode( $item->user_email ),
     246            // Account created, find the user.
     247            $user = get_user_by( 'login', $item->user_login );
     248
     249            $url = add_query_arg(
     250                'user_id',
     251                urlencode( $user->ID ),
    249252                admin_url( 'admin-post.php?action=login_block_account' )
    250253            );
    251             $url = wp_nonce_url( $url, 'block_account_' . $item->user_email );
    252 
    253             if (
    254                 ! ( $user = get_user_by( 'login', $item->user_login ) ) ||
    255                 'BLOCKED' !== substr( $user->user_pass, 0, 7 )
    256             ) {
     254            $url = wp_nonce_url( $url, 'block_account_' . $user->ID );
     255
     256            if ( $user && 'BLOCKED' !== substr( $user->user_pass, 0, 7 ) ) {
    257257                $row_actions['block-account'] = '<a href="' . esc_url( $url ) . '">Block Account</a>';
    258258            }
Note: See TracChangeset for help on using the changeset viewer.