Make WordPress Core

Changeset 43110


Ignore:
Timestamp:
05/02/2018 03:43:37 AM (6 years ago)
Author:
SergeyBiryukov
Message:

Privacy: improve wp_privacy_erase_personal_data(), return boolean values.

Props ericdaams.
Merges [43061] to the 4.9 branch.
See #43602.

Location:
branches/4.9
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • branches/4.9

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

    r43107 r43110  
    42564256     *
    42574257     *         @type string $callback               Callable eraser that accepts an email address and
    4258      *                                              a page and returns an array with the number of items
    4259      *                                              removed, the number of items retained and any messages
     4258     *                                              a page and returns an array with boolean values for
     4259     *                                              whether items were removed or retained and any messages
    42604260     *                                              from the eraser, as well as if additional pages are
    42614261     *                                              available.
     
    43244324        }
    43254325
    4326         if ( ! array_key_exists( 'num_items_removed', $response ) ) {
     4326        if ( ! array_key_exists( 'items_removed', $response ) ) {
    43274327            wp_send_json_error(
    43284328                sprintf(
    43294329                    /* translators: 1: eraser friendly name, 2: array index */
    4330                     __( 'Expected num_items_removed key in response array from %1$s eraser (index %2$d).' ),
     4330                    __( 'Expected items_removed key in response array from %1$s eraser (index %2$d).' ),
    43314331                    esc_html( $eraser_friendly_name ),
    43324332                    $eraser_index
     
    43354335        }
    43364336
    4337         if ( ! array_key_exists( 'num_items_retained', $response ) ) {
     4337        if ( ! array_key_exists( 'items_retained', $response ) ) {
    43384338            wp_send_json_error(
    43394339                sprintf(
    43404340                    /* translators: 1: eraser friendly name, 2: array index */
    4341                     __( 'Expected num_items_retained key in response array from %1$s eraser (index %2$d).' ),
     4341                    __( 'Expected items_retained key in response array from %1$s eraser (index %2$d).' ),
    43424342                    esc_html( $eraser_friendly_name ),
    43434343                    $eraser_index
     
    43814381        // No erasers, so we're done.
    43824382        $response = array(
    4383             'num_items_removed'  => 0,
    4384             'num_items_retained' => 0,
    4385             'messages'           => array(),
    4386             'done'               => true,
     4383            'items_removed'  => false,
     4384            'items_retained' => false,
     4385            'messages'       => array(),
     4386            'done'           => true,
    43874387        );
    43884388    }
  • branches/4.9/src/wp-admin/js/xfn.js

    r43092 r43110  
    137137        var erasersCount  = $action.data( 'erasers-count' );
    138138
    139         var removedCount  = 0;
    140         var retainedCount = 0;
     139        var hasRemoved    = false;
     140        var hasRetained   = false;
    141141        var messages      = [];
    142142
     
    148148            var summaryMessage = strings.noDataFound;
    149149            var classes = 'notice-success';
    150             if ( 0 === removedCount ) {
    151                 if ( 0 === retainedCount ) {
     150            if ( false === hasRemoved ) {
     151                if ( false === hasRetained ) {
    152152                    summaryMessage = strings.noDataFound;
    153153                } else {
     
    156156                }
    157157            } else {
    158                 if ( 0 === retainedCount ) {
     158                if ( false === hasRetained ) {
    159159                    summaryMessage = strings.foundAndRemoved;
    160160                } else {
     
    188188                }
    189189                var responseData = response.data;
    190                 if ( responseData.num_items_removed ) {
    191                     removedCount += responseData.num_items_removed;
    192                 }
    193                 if ( responseData.num_items_retained ) {
    194                     retainedCount += responseData.num_items_removed;
     190                if ( responseData.items_removed ) {
     191                    hasRemoved = hasRemoved || responseData.items_removed;
     192                }
     193                if ( responseData.items_retained ) {
     194                    hasRetained = hasRetained || responseData.items_retained;
    195195                }
    196196                if ( responseData.messages ) {
  • branches/4.9/src/wp-includes/comment.php

    r43092 r43110  
    32833283    if ( empty( $email_address ) ) {
    32843284        return array(
    3285             'num_items_removed'  => 0,
    3286             'num_items_retained' => 0,
    3287             'messages'           => array(),
    3288             'done'               => true,
     3285            'items_removed'  => false,
     3286            'items_retained' => false,
     3287            'messages'       => array(),
     3288            'done'           => true,
    32893289        );
    32903290    }
    32913291
    32923292    // Limit us to 500 comments at a time to avoid timing out.
    3293     $number            = 500;
    3294     $page              = (int) $page;
    3295     $num_items_removed = 0;
     3293    $number         = 500;
     3294    $page           = (int) $page;
     3295    $items_removed  = false;
     3296    $items_retained = false;
    32963297
    32973298    $comments = get_comments(
     
    33403341            }
    33413342
     3343            $items_retained = true;
     3344
    33423345            continue;
    33433346        }
     
    33503353
    33513354        if ( $updated ) {
    3352             $num_items_removed++;
     3355            $items_removed = true;
    33533356            clean_comment_cache( $comment_id );
     3357        } else {
     3358            $items_retained = true;
    33543359        }
    33553360    }
     
    33583363
    33593364    return array(
    3360         'num_items_removed'  => $num_items_removed,
    3361         'num_items_retained' => count( $comments ) - $num_items_removed,
    3362         'messages'           => $messages,
    3363         'done'               => $done,
     3365        'items_removed'  => $items_removed,
     3366        'items_retained' => $items_retained,
     3367        'messages'       => $messages,
     3368        'done'           => $done,
    33643369    );
    33653370}
     3371
  • branches/4.9/tests/phpunit/tests/comment.php

    r43093 r43110  
    766766        $actual   = wp_comments_personal_data_eraser( 'nocommentsfound@local.host' );
    767767        $expected = array(
    768             'num_items_removed'  => 0,
    769             'num_items_retained' => 0,
    770             'messages'           => array(),
    771             'done'               => true,
     768            'items_removed'  => false,
     769            'items_retained' => false,
     770            'messages'       => array(),
     771            'done'           => true,
    772772        );
    773773
     
    797797        $actual   = wp_comments_personal_data_eraser( $args['comment_author_email'] );
    798798        $expected = array(
    799             'num_items_removed'  => 1,
    800             'num_items_retained' => 0,
    801             'messages'           => array(),
    802             'done'               => true,
     799            'items_removed'  => true,
     800            'items_retained' => false,
     801            'messages'       => array(),
     802            'done'           => true,
    803803        );
    804804
     
    828828        $actual   = wp_comments_personal_data_eraser( $args['comment_author_email'], 2 );
    829829        $expected = array(
    830             'num_items_removed'  => 0,
    831             'num_items_retained' => 0,
    832             'messages'           => array(),
    833             'done'               => true,
     830            'items_removed'  => false,
     831            'items_retained' => false,
     832            'messages'       => array(),
     833            'done'           => true,
    834834        );
    835835
     
    864864
    865865        $expected = array(
    866             'num_items_removed'  => 0,
    867             'num_items_retained' => 1,
    868             'messages'           => array( $message ),
    869             'done'               => true,
     866            'items_removed'  => false,
     867            'items_retained' => true,
     868            'messages'       => array( $message ),
     869            'done'           => true,
    870870        );
    871871
     
    900900
    901901        $expected = array(
    902             'num_items_removed'  => 0,
    903             'num_items_retained' => 1,
    904             'messages'           => array( $message ),
    905             'done'               => true,
     902            'items_removed'  => false,
     903            'items_retained' => true,
     904            'messages'       => array( $message ),
     905            'done'           => true,
    906906        );
    907907
Note: See TracChangeset for help on using the changeset viewer.