diff --git a/wp-admin/includes/ajax-actions.php b/wp-admin/includes/ajax-actions.php index a63f3910ba..4c7b84a396 100644 --- a/wp-admin/includes/ajax-actions.php +++ b/wp-admin/includes/ajax-actions.php @@ -4255,8 +4255,8 @@ function wp_ajax_wp_privacy_erase_personal_data() { * Array of personal data exporters. * * @type string $callback Callable eraser that accepts an email address and - * a page and returns an array with the number of items - * removed, the number of items retained and any messages + * a page and returns an array with boolean values for + * whether items were removed or retained and any messages * from the eraser, as well as if additional pages are * available. * @type string $exporter_friendly_name Translated user facing friendly name for the eraser. @@ -4323,22 +4323,22 @@ function wp_ajax_wp_privacy_erase_personal_data() { ); } - if ( ! array_key_exists( 'num_items_removed', $response ) ) { + if ( ! array_key_exists( 'items_removed', $response ) ) { wp_send_json_error( sprintf( /* translators: 1: eraser friendly name, 2: array index */ - __( 'Expected num_items_removed key in response array from %1$s eraser (index %2$d).' ), + __( 'Expected items_removed key in response array from %1$s eraser (index %2$d).' ), esc_html( $eraser_friendly_name ), $eraser_index ) ); } - if ( ! array_key_exists( 'num_items_retained', $response ) ) { + if ( ! array_key_exists( 'items_retained', $response ) ) { wp_send_json_error( sprintf( /* translators: 1: eraser friendly name, 2: array index */ - __( 'Expected num_items_retained key in response array from %1$s eraser (index %2$d).' ), + __( 'Expected items_retained key in response array from %1$s eraser (index %2$d).' ), esc_html( $eraser_friendly_name ), $eraser_index ) @@ -4380,10 +4380,10 @@ function wp_ajax_wp_privacy_erase_personal_data() { } else { // No erasers, so we're done. $response = array( - 'num_items_removed' => 0, - 'num_items_retained' => 0, - 'messages' => array(), - 'done' => true, + 'items_removed' => false, + 'items_retained' => false, + 'messages' => array(), + 'done' => true, ); } diff --git a/wp-admin/js/xfn.js b/wp-admin/js/xfn.js index 7858f87bfd..19f107e803 100644 --- a/wp-admin/js/xfn.js +++ b/wp-admin/js/xfn.js @@ -136,8 +136,8 @@ jQuery( document ).ready( function( $ ) { var nonce = $action.data( 'nonce' ); var erasersCount = $action.data( 'erasers-count' ); - var removedCount = 0; - var retainedCount = 0; + var hasRemoved = false; + var hasRetained = false; var messages = []; $action.blur(); @@ -147,15 +147,15 @@ jQuery( document ).ready( function( $ ) { set_action_state( $action, 'remove_personal_data_idle' ); var summaryMessage = strings.noDataFound; var classes = 'notice-success'; - if ( 0 === removedCount ) { - if ( 0 === retainedCount ) { + if ( false === hasRemoved ) { + if ( false === hasRetained ) { summaryMessage = strings.noDataFound; } else { summaryMessage = strings.noneRemoved; classes = 'notice-warning'; } } else { - if ( 0 === retainedCount ) { + if ( false === hasRetained ) { summaryMessage = strings.foundAndRemoved; } else { summaryMessage = strings.someNotRemoved; @@ -187,11 +187,11 @@ jQuery( document ).ready( function( $ ) { return; } var responseData = response.data; - if ( responseData.num_items_removed ) { - removedCount += responseData.num_items_removed; + if ( responseData.items_removed ) { + hasRemoved = hasRemoved || responseData.items_removed; } - if ( responseData.num_items_retained ) { - retainedCount += responseData.num_items_removed; + if ( responseData.items_retained ) { + hasRetained = hasRetained || responseData.items_retained; } if ( responseData.messages ) { messages = messages.concat( responseData.messages ); diff --git a/wp-admin/js/xfn.min.js b/wp-admin/js/xfn.min.js index bdb29e8fe3..6382fcedf3 100644 --- a/wp-admin/js/xfn.min.js +++ b/wp-admin/js/xfn.min.js @@ -1 +1 @@ -jQuery(document).ready(function(a){a("#link_rel").prop("readonly",!0),a("#linkxfndiv input").bind("click keyup",function(){var b=a("#me").is(":checked"),c="";a("input.valinp").each(function(){b?a(this).prop("disabled",!0).parent().addClass("disabled"):(a(this).removeAttr("disabled").parent().removeClass("disabled"),a(this).is(":checked")&&""!==a(this).val()&&(c+=a(this).val()+" "))}),a("#link_rel").val(b?"me":c.substr(0,c.length-1))})}),jQuery(document).ready(function(a){function b(a,b){a.children().hide(),a.children("."+b).show()}function c(a){a.next().hasClass("request-results")&&a.next().remove()}function d(b,d,e,f){c(b);var g="";f.length&&(a.each(f,function(a,b){g=g+"
  • "+b+"
  • "}),g=""),b.after(function(){return'

    '+e+"

    "+g+"
    "})}var e=window.privacyToolsL10n||{};a(".export_personal_data a").click(function(f){function g(a){b(k,"export_personal_data_success"),"undefined"!=typeof a?window.location=a:p||h(e.noExportFile)}function h(a){b(k,"export_personal_data_failed"),a&&d(l,"notice-error",e.exportError,[a])}function i(b,c){a.ajax({url:window.ajaxurl,data:{action:"wp-privacy-export-personal-data",exporter:b,id:m,page:c,security:n,sendAsEmail:p},method:"post"}).done(function(a){if(!a.success)return void h(a.data);var d=a.data;d.done?b"+b+""}),g=""),b.after(function(){return'

    '+e+"

    "+g+"
    "})}var e=window.privacyToolsL10n||{};a(".export_personal_data a").click(function(f){function g(a){b(k,"export_personal_data_success"),"undefined"!=typeof a?window.location=a:p||h(e.noExportFile)}function h(a){b(k,"export_personal_data_failed"),a&&d(l,"notice-error",e.exportError,[a])}function i(b,c){a.ajax({url:window.ajaxurl,data:{action:"wp-privacy-export-personal-data",exporter:b,id:m,page:c,security:n,sendAsEmail:p},method:"post"}).done(function(a){if(!a.success)return void h(a.data);var d=a.data;d.done?b 0, - 'num_items_retained' => 0, - 'messages' => array(), - 'done' => true, + 'items_removed' => false, + 'items_retained' => false, + 'messages' => array(), + 'done' => true, ); } // Limit us to 500 comments at a time to avoid timing out. - $number = 500; - $page = (int) $page; - $num_items_removed = 0; + $number = 500; + $page = (int) $page; + $items_removed = false; + $items_retained = false; $comments = get_comments( array( @@ -3339,6 +3340,8 @@ function wp_comments_personal_data_eraser( $email_address, $page = 1 ) { $messages[] = sprintf( __( 'Comment %d contains personal data but could not be anonymized.' ), $comment_id ); } + $items_retained = true; + continue; } @@ -3349,17 +3352,20 @@ function wp_comments_personal_data_eraser( $email_address, $page = 1 ) { $updated = $wpdb->update( $wpdb->comments, $anonymized_comment, $args ); if ( $updated ) { - $num_items_removed++; + $items_removed = true; clean_comment_cache( $comment_id ); + } else { + $items_retained = true; } } $done = count( $comments ) < $number; return array( - 'num_items_removed' => $num_items_removed, - 'num_items_retained' => count( $comments ) - $num_items_removed, - 'messages' => $messages, - 'done' => $done, + 'items_removed' => $items_removed, + 'items_retained' => $items_retained, + 'messages' => $messages, + 'done' => $done, ); } + diff --git a/wp-includes/version.php b/wp-includes/version.php index 4aedb52fa6..c222ffc7e2 100644 --- a/wp-includes/version.php +++ b/wp-includes/version.php @@ -4,7 +4,7 @@ * * @global string $wp_version */ -$wp_version = '4.9.6-alpha-43109'; +$wp_version = '4.9.6-alpha-43110'; /** * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.