WordPress.org

Make WordPress Core

Ticket #43602: 43602.6.diff

File 43602.6.diff, 5.5 KB (added by ericdaams, 16 months ago)

Simplify return values for data erasers

  • src/wp-admin/includes/ajax-actions.php

    diff --git src/wp-admin/includes/ajax-actions.php src/wp-admin/includes/ajax-actions.php
    index d3416c6126..adfc5bf513 100644
    function wp_ajax_wp_privacy_erase_personal_data() { 
    44864486         *     An array of callable erasers of personal data. Default empty array.
    44874487         *     [
    44884488         *         callback             string Callable eraser that accepts an email address and
    4489          *                                     a page and returns an array with the number of items
    4490          *                                     removed, the number of items retained and any messages
     4489         *                                     a page and returns an array with boolean values for
     4490         *                                     whether items were removed or retained and any messages
    44914491         *                                     from the eraser, as well as if additional pages are
    44924492         *                                     available.
    44934493         *         eraser_friendly_name string Translated user facing friendly name for the eraser.
    function wp_ajax_wp_privacy_erase_personal_data() { 
    45624562                                )
    45634563                        );
    45644564                }
    4565                 if ( ! array_key_exists( 'num_items_removed', $response ) ) {
     4565                if ( ! array_key_exists( 'items_removed', $response ) ) {
    45664566                        wp_send_json_error(
    45674567                                sprintf(
    4568                                         __( 'Error: Expected num_items_removed key in response array from %s eraser (index %d).' ),
     4568                                        __( 'Error: Expected items_removed key in response array from %s eraser (index %d).' ),
    45694569                                        $eraser_friendly_name,
    45704570                                        $eraser_index
    45714571                                )
    45724572                        );
    45734573                }
    4574                 if ( ! array_key_exists( 'num_items_retained', $response ) ) {
     4574                if ( ! array_key_exists( 'items_retained', $response ) ) {
    45754575                        wp_send_json_error(
    45764576                                sprintf(
    4577                                         __( 'Error: Expected num_items_retained key in response array from %s eraser (index %d).' ),
     4577                                        __( 'Error: Expected items_retained key in response array from %s eraser (index %d).' ),
    45784578                                        $eraser_friendly_name,
    45794579                                        $eraser_index
    45804580                                )
    function wp_ajax_wp_privacy_erase_personal_data() { 
    46104610        } else {
    46114611                // No erasers, so we're done
    46124612                $response = array(
    4613                         'num_items_removed' => 0,
    4614                         'num_items_retained' => 0,
    4615                         'messages' => array(),
    4616                         'done' => true,
     4613                        'items_removed'  => false,
     4614                        'items_retained' => false,
     4615                        'messages'       => array(),
     4616                        'done'           => true,
    46174617                );
    46184618        }
    46194619
  • src/wp-admin/js/xfn.js

    diff --git src/wp-admin/js/xfn.js src/wp-admin/js/xfn.js
    index 7881c76159..9274c573c4 100644
    jQuery( document ).ready( function( $ ) { 
    6161                var nonce         = $action.data( 'nonce' );
    6262                var erasersCount  = $action.data( 'erasers-count' );
    6363
    64                 var removedCount  = 0;
    65                 var retainedCount = 0;
     64                var hasRemoved    = false;
     65                var hasRetained   = false;
    6666                var messages      = [];
    6767
    6868                $action.blur();
    jQuery( document ).ready( function( $ ) { 
    7272                        set_action_state( $action, 'remove_personal_data_idle' );
    7373                        var summaryMessage = strings.noDataFound;
    7474                        var classes = 'notice-success';
    75                         if ( 0 === removedCount ) {
    76                                 if ( 0 === retainedCount ) {
     75                        if ( false === hasRemoved ) {
     76                                if ( false === hasRetained ) {
    7777                                        summaryMessage = strings.noDataFound;
    7878                                } else {
    7979                                        summaryMessage = strings.noneRemoved;
    8080                                        classes = 'notice-warning';
    8181                                }
    8282                        } else {
    83                                 if ( 0 === retainedCount ) {
     83                                if ( false === hasRetained ) {
    8484                                        summaryMessage = strings.foundAndRemoved;
    8585                                } else {
    8686                                        summaryMessage = strings.someNotRemoved;
    jQuery( document ).ready( function( $ ) { 
    112112                                        return;
    113113                                }
    114114                                var responseData = response.data;
    115                                 if ( responseData.num_items_removed ) {
    116                                         removedCount += responseData.num_items_removed;
     115                                if ( responseData.items_removed ) {
     116                                        hasRemoved = hasRemoved || responseData.items_removed;
    117117                                }
    118                                 if ( responseData.num_items_retained ) {
    119                                         retainedCount += responseData.num_items_removed;
     118                                if ( responseData.items_retained ) {
     119                                        hasRetained = hasRetained || responseData.items_retained;
    120120                                }
    121121                                if ( responseData.messages ) {
    122122                                        messages = messages.concat( responseData.messages );
  • src/wp-includes/comment.php

    diff --git src/wp-includes/comment.php src/wp-includes/comment.php
    index 6b6e7b45af..79fc31fefa 100644
    function wp_comments_personal_data_eraser( $email_address, $page = 1 ) { 
    34103410
    34113411        if ( empty( $email_address ) ) {
    34123412                return array(
    3413                         'num_items_removed'  => 0,
    3414                         'num_items_retained' => 0,
    3415                         'messages'           => array(),
    3416                         'done'               => true,
     3413                        'items_removed'  => false,
     3414                        'items_retained' => false,
     3415                        'messages'       => array(),
     3416                        'done'           => true,
    34173417                );
    34183418        }
    34193419
    function wp_comments_personal_data_eraser( $email_address, $page = 1 ) { 
    34773477                $updated = $wpdb->update( $wpdb->comments, $anonymized_comment, $args );
    34783478
    34793479                if ( $updated ) {
    3480                         $num_items_removed++;
     3480                        $num_items_removed += 1;
    34813481                        clean_comment_cache( $comment_id );
    34823482                }
    34833483        }
    function wp_comments_personal_data_eraser( $email_address, $page = 1 ) { 
    34853485        $done = count( $comments ) < $number;
    34863486
    34873487        return array(
    3488                 'num_items_removed'  => $num_items_removed,
    3489                 'num_items_retained' => count( $comments ) - $num_items_removed,
    3490                 'messages'           => $messages,
    3491                 'done'               => $done,
     3488                'items_removed'  => 0 < $num_items_removed,
     3489                'items_retained' => count( $comments ) > $num_items_removed,
     3490                'messages'       => $messages,
     3491                'done'           => $done,
    34923492        );
    34933493}