WordPress.org

Make WordPress Core

Ticket #49035: 49035.diff

File 49035.diff, 2.4 KB (added by xkon, 6 months ago)
  • src/wp-admin/css/dashboard.css

    diff --git a/src/wp-admin/css/dashboard.css b/src/wp-admin/css/dashboard.css
    index eac01008e8..98f61dacb2 100644
    a b  
    306306        content: "\f125";
    307307}
    308308
     309#dashboard_right_now .export_personal_data-count a:before,
     310#dashboard_right_now .remove_personal_data-count a:before {
     311        content: "\f530";
     312}
     313
    309314#dashboard_right_now .storage-count a:before {
    310315        content: "\f104";
    311316}
  • src/wp-admin/includes/dashboard.php

    diff --git a/src/wp-admin/includes/dashboard.php b/src/wp-admin/includes/dashboard.php
    index 569f078243..e84c2bde54 100644
    a b function wp_dashboard_right_now() { 
    306306                <?php
    307307        }
    308308
     309        /**
     310         * Privacy export & erasure requests.
     311         */
     312
     313        // Only show this to users with "manage_privacy_options"
     314        if ( current_user_can( 'manage_privacy_options' ) ) {
     315
     316                // We only want to count pending, confirmed & failed requests
     317                // no need to take under account the "request-completed" status.
     318                foreach ( array( 'export_personal_data', 'remove_personal_data' ) as $request_type ) {
     319                        $data_requests = new WP_Query(
     320                                array(
     321                                        'post_type'     => 'user_request',
     322                                        'post_name__in' => array( $request_type ),  // Request type stored in post_name column.
     323                                        'post_status'   => array(
     324                                                'request-pending',
     325                                                'request-confirmed',
     326                                                'request-failed',
     327                                        ),
     328                                        'fields'        => 'ids',
     329                                )
     330                        );
     331
     332                        if ( 'export_personal_data' === $request_type ) {
     333                                /* translators: %s: Number of posts. */
     334                                $text = _n( '%s Data Export Request', '%s Data Export Requests', $data_requests->found_posts );
     335
     336                                $text = sprintf( $text, number_format_i18n( $data_requests->found_posts ) );
     337
     338                                printf( '<li class="%1$s-count"><a href="' . esc_url( admin_url( 'export-personal-data.php' ) ) . '">%2$s</a></li>', $request_type, $text );
     339                        } else {
     340                                /* translators: %s: Number of pages. */
     341                                $text = _n( '%s Data Erasure Request', '%s Data Erasure Requests', $data_requests->found_posts );
     342
     343                                $text = sprintf( $text, number_format_i18n( $data_requests->found_posts ) );
     344
     345                                printf( '<li class="%1$s-count"><a href="' . esc_url( admin_url( 'erase-personal-data.php' ) ) . '">%2$s</a></li>', $request_type, $text );
     346                        }
     347                }
     348        }
     349
    309350        /**
    310351         * Filters the array of extra elements to list in the 'At a Glance'
    311352         * dashboard widget.