Make WordPress Core

Changeset 43061


Ignore:
Timestamp:
05/01/2018 07:26:53 PM (6 years ago)
Author:
azaozz
Message:

Privacy: improve wp_privacy_erase_personal_data(), return boolean values.

Props ericdaams.
See #43602.

Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-admin/includes/ajax-actions.php

    r43060 r43061  
    45654565     *
    45664566     *         @type string $callback               Callable eraser that accepts an email address and
    4567      *                                              a page and returns an array with the number of items
    4568      *                                              removed, the number of items retained and any messages
     4567     *                                              a page and returns an array with boolean values for
     4568     *                                              whether items were removed or retained and any messages
    45694569     *                                              from the eraser, as well as if additional pages are
    45704570     *                                              available.
     
    46334633        }
    46344634
    4635         if ( ! array_key_exists( 'num_items_removed', $response ) ) {
     4635        if ( ! array_key_exists( 'items_removed', $response ) ) {
    46364636            wp_send_json_error(
    46374637                sprintf(
    46384638                    /* translators: %1$s: eraser friendly name, %2$d: array index */
    4639                     __( 'Expected num_items_removed key in response array from %1$s eraser (index %2$d).' ),
     4639                    __( 'Expected items_removed key in response array from %1$s eraser (index %2$d).' ),
    46404640                    esc_html( $eraser_friendly_name ),
    46414641                    $eraser_index
     
    46444644        }
    46454645
    4646         if ( ! array_key_exists( 'num_items_retained', $response ) ) {
     4646        if ( ! array_key_exists( 'items_retained', $response ) ) {
    46474647            wp_send_json_error(
    46484648                sprintf(
    46494649                    /* translators: %1$s: eraser friendly name, %2$d: array index */
    4650                     __( 'Expected num_items_retained key in response array from %1$s eraser (index %2$d).' ),
     4650                    __( 'Expected items_retained key in response array from %1$s eraser (index %2$d).' ),
    46514651                    esc_html( $eraser_friendly_name ),
    46524652                    $eraser_index
     
    46904690        // No erasers, so we're done.
    46914691        $response = array(
    4692             'num_items_removed'  => 0,
    4693             'num_items_retained' => 0,
    4694             'messages'           => array(),
    4695             'done'               => true,
     4692            'items_removed'  => false,
     4693            'items_retained' => false,
     4694            'messages'       => array(),
     4695            'done'           => true,
    46964696        );
    46974697    }
  • trunk/src/wp-admin/js/xfn.js

    r43012 r43061  
    142142        var erasersCount  = $action.data( 'erasers-count' );
    143143
    144         var removedCount  = 0;
    145         var retainedCount = 0;
     144        var hasRemoved    = false;
     145        var hasRetained   = false;
    146146        var messages      = [];
    147147
     
    153153            var summaryMessage = strings.noDataFound;
    154154            var classes = 'notice-success';
    155             if ( 0 === removedCount ) {
    156                 if ( 0 === retainedCount ) {
     155            if ( false === hasRemoved ) {
     156                if ( false === hasRetained ) {
    157157                    summaryMessage = strings.noDataFound;
    158158                } else {
     
    161161                }
    162162            } else {
    163                 if ( 0 === retainedCount ) {
     163                if ( false === hasRetained ) {
    164164                    summaryMessage = strings.foundAndRemoved;
    165165                } else {
     
    193193                }
    194194                var responseData = response.data;
    195                 if ( responseData.num_items_removed ) {
    196                     removedCount += responseData.num_items_removed;
    197                 }
    198                 if ( responseData.num_items_retained ) {
    199                     retainedCount += responseData.num_items_removed;
     195                if ( responseData.items_removed ) {
     196                    hasRemoved = hasRemoved || responseData.items_removed;
     197                }
     198                if ( responseData.items_retained ) {
     199                    hasRetained = hasRetained || responseData.items_retained;
    200200                }
    201201                if ( responseData.messages ) {
  • trunk/src/wp-includes/comment.php

    r43058 r43061  
    34133413    if ( empty( $email_address ) ) {
    34143414        return array(
    3415             'num_items_removed'  => 0,
    3416             'num_items_retained' => 0,
    3417             'messages'           => array(),
    3418             'done'               => true,
     3415            'items_removed'  => false,
     3416            'items_retained' => false,
     3417            'messages'       => array(),
     3418            'done'           => true,
    34193419        );
    34203420    }
    34213421
    34223422    // Limit us to 500 comments at a time to avoid timing out.
    3423     $number            = 500;
    3424     $page              = (int) $page;
    3425     $num_items_removed = 0;
     3423    $number         = 500;
     3424    $page           = (int) $page;
     3425    $items_removed  = false;
     3426    $items_retained = false;
    34263427
    34273428    $comments = get_comments(
     
    34703471            }
    34713472
     3473            $items_retained = true;
     3474
    34723475            continue;
    34733476        }
     
    34803483
    34813484        if ( $updated ) {
    3482             $num_items_removed++;
     3485            $items_removed = true;
    34833486            clean_comment_cache( $comment_id );
     3487        } else {
     3488            $items_retained = true;
    34843489        }
    34853490    }
     
    34883493
    34893494    return array(
    3490         'num_items_removed'  => $num_items_removed,
    3491         'num_items_retained' => count( $comments ) - $num_items_removed,
    3492         'messages'           => $messages,
    3493         'done'               => $done,
     3495        'items_removed'  => $items_removed,
     3496        'items_retained' => $items_retained,
     3497        'messages'       => $messages,
     3498        'done'           => $done,
    34943499    );
    34953500}
     3501
  • trunk/tests/phpunit/tests/comment.php

    r43015 r43061  
    878878        $actual   = wp_comments_personal_data_eraser( 'nocommentsfound@local.host' );
    879879        $expected = array(
    880             'num_items_removed'  => 0,
    881             'num_items_retained' => 0,
    882             'messages'           => array(),
    883             'done'               => true,
     880            'items_removed'  => false,
     881            'items_retained' => false,
     882            'messages'       => array(),
     883            'done'           => true,
    884884        );
    885885
     
    909909        $actual   = wp_comments_personal_data_eraser( $args['comment_author_email'] );
    910910        $expected = array(
    911             'num_items_removed'  => 1,
    912             'num_items_retained' => 0,
    913             'messages'           => array(),
    914             'done'               => true,
     911            'items_removed'  => true,
     912            'items_retained' => false,
     913            'messages'       => array(),
     914            'done'           => true,
    915915        );
    916916
     
    940940        $actual   = wp_comments_personal_data_eraser( $args['comment_author_email'], 2 );
    941941        $expected = array(
    942             'num_items_removed'  => 0,
    943             'num_items_retained' => 0,
    944             'messages'           => array(),
    945             'done'               => true,
     942            'items_removed'  => false,
     943            'items_retained' => false,
     944            'messages'       => array(),
     945            'done'           => true,
    946946        );
    947947
     
    976976
    977977        $expected = array(
    978             'num_items_removed'  => 0,
    979             'num_items_retained' => 1,
    980             'messages'           => array( $message ),
    981             'done'               => true,
     978            'items_removed'  => false,
     979            'items_retained' => true,
     980            'messages'       => array( $message ),
     981            'done'           => true,
    982982        );
    983983
     
    10121012
    10131013        $expected = array(
    1014             'num_items_removed'  => 0,
    1015             'num_items_retained' => 1,
    1016             'messages'           => array( $message ),
    1017             'done'               => true,
     1014            'items_removed'  => false,
     1015            'items_retained' => true,
     1016            'messages'       => array( $message ),
     1017            'done'           => true,
    10181018        );
    10191019
Note: See TracChangeset for help on using the changeset viewer.