Make WordPress Core

Changeset 43110 for branches/4.9


Ignore:
Timestamp:
05/02/2018 03:43:37 AM (8 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.