WordPress.org

Make WordPress Core

Ticket #43923: 43923.diff

File 43923.diff, 2.4 KB (added by allendav, 17 months ago)

Add username and Delete User action to personal data erase request rows

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

     
    10151015                }
    10161016
    10171017                $query = "
    1018                         SELECT post_status, COUNT( * ) AS num_posts 
    1019                         FROM {$wpdb->posts} 
     1018                        SELECT post_status, COUNT( * ) AS num_posts
     1019                        FROM {$wpdb->posts}
    10201020                        WHERE post_type = %s
    10211021                        AND post_name = %s
    10221022                        GROUP BY post_status";
     
    14551455                        $request_id    = $item->ID;
    14561456                        $nonce         = wp_create_nonce( 'wp-privacy-erase-personal-data-' . $request_id );
    14571457
    1458                         $remove_data_markup = '<div class="remove_personal_data force_remove_personal_data" ' .
     1458                        $remove_data_markup = '<div style="display:inline-block" class="remove_personal_data force_remove_personal_data" ' .
    14591459                                'data-erasers-count="' . esc_attr( $erasers_count ) . '" ' .
    14601460                                'data-request-id="' . esc_attr( $request_id ) . '" ' .
    14611461                                'data-nonce="' . esc_attr( $nonce ) .
     
    14671467
    14681468                        $remove_data_markup .= '</div>';
    14691469
    1470                         $row_actions = array(
    1471                                 'remove_data' => $remove_data_markup,
     1470                        $row_actions['remove_data'] = $remove_data_markup;
     1471                }
     1472
     1473                // Give the administrator access to the delete user flow for registered users
     1474                $user = get_user_by( 'email', $item->email );
     1475                if ( $user instanceof WP_User ) {
     1476                        $delete_user_url = wp_nonce_url(
     1477                                        add_query_arg(
     1478                                                array(
     1479                                                        'action' => 'delete',
     1480                                                        'user'   => $user->ID,
     1481                                                ),
     1482                                        admin_url( 'users.php' )
     1483                                ),
     1484                                'bulk-users'
    14721485                        );
     1486
     1487                        $delete_user_markup = '<span class="delete"><a href="' . $delete_user_url . '">' . __( 'Delete User' ) . '</a></span>';
     1488
     1489                        $row_actions['delete_user'] = $delete_user_markup;
    14731490                }
    14741491
    1475                 return sprintf( '<a href="%1$s">%2$s</a> %3$s', esc_url( 'mailto:' . $item->email ), $item->email, $this->row_actions( $row_actions ) );
     1492                // Lastly, return the lot with either the email or the email and username as the column content
     1493                if ( $user instanceof WP_User ) {
     1494                        return sprintf(
     1495                                '<a href="%1$s">%2$s (%3$s)</a> %4$s',
     1496                                esc_url( 'mailto:' . $item->email ),
     1497                                $item->email,
     1498                                $user->user_login,
     1499                                $this->row_actions( $row_actions )
     1500                        );
     1501                }
     1502
     1503                return sprintf(
     1504                        '<a href="%1$s">%2$s</a> %3$s',
     1505                        esc_url( 'mailto:' . $item->email ),
     1506                        $item->email,
     1507                        $this->row_actions( $row_actions )
     1508                );
    14761509        }
    14771510
    14781511        /**