@@ -4409,24 +4409,24 @@ function wp_ajax_wp_privacy_export_personal_data() {
44094409 wp_send_json_error ( __ ( 'Exporter index out of range. ' ) );
44104410 }
44114411
4412- $ index = $ exporter_index - 1 ;
4413-
44144412 if ( $ page < 1 ) {
44154413 wp_send_json_error ( __ ( 'Page index cannot be less than one. ' ) );
44164414 }
44174415
4418- $ exporter = $ exporters [ $ index ];
4416+ $ exporter_keys = array_keys ( $ exporters );
4417+ $ exporter_key = $ exporter_keys [ $ exporter_index - 1 ];
4418+ $ exporter = $ exporters [ $ exporter_key ];
44194419
44204420 if ( ! is_array ( $ exporter ) ) {
44214421 wp_send_json_error (
4422- /* translators: %d : array index */
4423- sprintf ( __ ( 'Expected an array describing the exporter at index %d . ' ), $ exporter_index )
4422+ /* translators: %s : array index */
4423+ sprintf ( __ ( 'Expected an array describing the exporter at index %s . ' ), $ exporter_key )
44244424 );
44254425 }
44264426 if ( ! array_key_exists ( 'exporter_friendly_name ' , $ exporter ) ) {
44274427 wp_send_json_error (
4428- /* translators: %d : array index */
4429- sprintf ( __ ( 'Exporter array at index %d does not include a friendly name. ' ), $ exporter_index )
4428+ /* translators: %s : array index */
4429+ sprintf ( __ ( 'Exporter array at index %s does not include a friendly name. ' ), $ exporter_key )
44304430 );
44314431 }
44324432 if ( ! array_key_exists ( 'callback ' , $ exporter ) ) {
@@ -4442,8 +4442,8 @@ function wp_ajax_wp_privacy_export_personal_data() {
44424442 );
44434443 }
44444444
4445- $ callback = $ exporters [ $ index ] ['callback ' ];
4446- $ exporter_friendly_name = $ exporters [ $ index ] ['exporter_friendly_name ' ];
4445+ $ callback = $ exporter ['callback ' ];
4446+ $ exporter_friendly_name = $ exporter ['exporter_friendly_name ' ];
44474447
44484448 $ response = call_user_func ( $ callback , $ email_address , $ page );
44494449 if ( is_wp_error ( $ response ) ) {
@@ -4495,8 +4495,9 @@ function wp_ajax_wp_privacy_export_personal_data() {
44954495 * @param int $page The page for this response.
44964496 * @param int $request_id The privacy request post ID associated with this request.
44974497 * @param bool $send_as_email Whether the final results of the export should be emailed to the user.
4498+ * @param int $exporter_key The key (slug) of the exporter that provided this data.
44984499 */
4499- $ response = apply_filters ( 'wp_privacy_personal_data_export_page ' , $ response , $ exporter_index , $ email_address , $ page , $ request_id , $ send_as_email );
4500+ $ response = apply_filters ( 'wp_privacy_personal_data_export_page ' , $ response , $ exporter_index , $ email_address , $ page , $ request_id , $ send_as_email, $ exporter_key );
45004501
45014502 if ( is_wp_error ( $ response ) ) {
45024503 wp_send_json_error ( $ response );
@@ -4591,8 +4592,9 @@ function wp_ajax_wp_privacy_erase_personal_data() {
45914592 wp_send_json_error ( __ ( 'Page index cannot be less than one. ' ) );
45924593 }
45934594
4594- $ index = $ eraser_index - 1 ; // Convert to zero based for eraser index.
4595- $ eraser = $ erasers [ $ index ];
4595+ $ eraser_keys = array_keys ( $ erasers );
4596+ $ eraser_key = $ eraser_keys [ $ eraser_index - 1 ];
4597+ $ eraser = $ erasers [ $ eraser_key ];
45964598
45974599 if ( ! is_array ( $ eraser ) ) {
45984600 /* translators: %d: array index */
@@ -4614,8 +4616,8 @@ function wp_ajax_wp_privacy_erase_personal_data() {
46144616 wp_send_json_error ( sprintf ( __ ( 'Eraser array at index %d does not include a friendly name. ' ), $ eraser_index ) );
46154617 }
46164618
4617- $ callback = $ erasers [ $ index ] ['callback ' ];
4618- $ eraser_friendly_name = $ erasers [ $ index ] ['eraser_friendly_name ' ];
4619+ $ callback = $ eraser ['callback ' ];
4620+ $ eraser_friendly_name = $ eraser ['eraser_friendly_name ' ];
46194621
46204622 $ response = call_user_func ( $ callback , $ email_address , $ page );
46214623
@@ -4706,12 +4708,13 @@ function wp_ajax_wp_privacy_erase_personal_data() {
47064708 * @since 4.9.6
47074709 *
47084710 * @param array $response The personal data for the given exporter and page.
4709- * @param int $exporter_index The index of the exporter that provided this data.
4711+ * @param int $eraser_index The index of the eraser that provided this data.
47104712 * @param string $email_address The email address associated with this personal data.
47114713 * @param int $page The page for this response.
47124714 * @param int $request_id The privacy request post ID associated with this request.
4715+ * @param int $eraser_key The key (slug) of the eraser that provided this data.
47134716 */
4714- $ response = apply_filters ( 'wp_privacy_personal_data_erasure_page ' , $ response , $ eraser_index , $ email_address , $ page , $ request_id );
4717+ $ response = apply_filters ( 'wp_privacy_personal_data_erasure_page ' , $ response , $ eraser_index , $ email_address , $ page , $ request_id, $ eraser_key );
47154718
47164719 if ( is_wp_error ( $ response ) ) {
47174720 wp_send_json_error ( $ response );
0 commit comments