Ticket #51849: 51849.2.diff
File 51849.2.diff, 11.7 KB (added by , 4 years ago) |
---|
-
src/wp-admin/includes/privacy-tools.php
20 20 $request = get_post( $request_id ); 21 21 22 22 if ( ! $request || 'user_request' !== $request->post_type ) { 23 return new WP_Error( 'privacy_request_error', __( 'Invalid user privacyrequest.' ) );23 return new WP_Error( 'privacy_request_error', __( 'Invalid personal data request.' ) ); 24 24 } 25 25 26 26 $result = wp_send_user_request( $request_id ); … … 28 28 if ( is_wp_error( $result ) ) { 29 29 return $result; 30 30 } elseif ( ! $result ) { 31 return new WP_Error( 'privacy_request_error', __( 'Unable to initiate user privacy confirmationrequest.' ) );31 return new WP_Error( 'privacy_request_error', __( 'Unable to initiate confirmation for personal data request.' ) ); 32 32 } 33 33 34 34 return true; … … 49 49 $request = wp_get_user_request( $request_id ); 50 50 51 51 if ( ! $request ) { 52 return new WP_Error( 'privacy_request_error', __( 'Invalid user privacyrequest.' ) );52 return new WP_Error( 'privacy_request_error', __( 'Invalid personal data request.' ) ); 53 53 } 54 54 55 55 update_post_meta( $request_id, '_wp_user_request_completed_timestamp', time() ); … … 104 104 add_settings_error( 105 105 'action_type', 106 106 'action_type', 107 __( 'Invalid user privacyaction.' ),107 __( 'Invalid personal data action.' ), 108 108 'error' 109 109 ); 110 110 } … … 116 116 add_settings_error( 117 117 'action_type', 118 118 'action_type', 119 __( 'Invalid user privacyaction.' ),119 __( 'Invalid personal data request action.' ), 120 120 'error' 121 121 ); 122 122 } … … 297 297 */ 298 298 function wp_privacy_generate_personal_data_export_file( $request_id ) { 299 299 if ( ! class_exists( 'ZipArchive' ) ) { 300 wp_send_json_error( __( 'Unable to generate user privacyexport file. ZipArchive not available.' ) );300 wp_send_json_error( __( 'Unable to generate personal data export file. ZipArchive not available.' ) ); 301 301 } 302 302 303 303 // Get the request. … … 304 304 $request = wp_get_user_request( $request_id ); 305 305 306 306 if ( ! $request || 'export_personal_data' !== $request->action_name ) { 307 wp_send_json_error( __( 'Invalid request ID when generating user privacyexport file.' ) );307 wp_send_json_error( __( 'Invalid request ID when generating personal data export file.' ) ); 308 308 } 309 309 310 310 $email_address = $request->email; 311 311 312 312 if ( ! is_email( $email_address ) ) { 313 wp_send_json_error( __( 'Invalid email address when generating user privacyexport file.' ) );313 wp_send_json_error( __( 'Invalid email address when generating personal data export file.' ) ); 314 314 } 315 315 316 316 // Create the exports folder if needed. … … 318 318 $exports_url = wp_privacy_exports_url(); 319 319 320 320 if ( ! wp_mkdir_p( $exports_dir ) ) { 321 wp_send_json_error( __( 'Unable to create user privacyexport folder.' ) );321 wp_send_json_error( __( 'Unable to create personal data export folder.' ) ); 322 322 } 323 323 324 324 // Protect export folder from browsing. … … 326 326 if ( ! file_exists( $index_pathname ) ) { 327 327 $file = fopen( $index_pathname, 'w' ); 328 328 if ( false === $file ) { 329 wp_send_json_error( __( 'Unable to protect user privacyexport folder from browsing.' ) );329 wp_send_json_error( __( 'Unable to protect personal data export folder from browsing.' ) ); 330 330 } 331 331 fwrite( $file, '<!-- Silence is golden. -->' ); 332 332 fclose( $file ); … … 395 395 $file = fopen( $json_report_pathname, 'w' ); 396 396 397 397 if ( false === $file ) { 398 wp_send_json_error( __( 'Unable to open user privacyexport file (JSON report) for writing.' ) );398 wp_send_json_error( __( 'Unable to open personal data export file (JSON report) for writing.' ) ); 399 399 } 400 400 401 401 fwrite( $file, '{' ); … … 410 410 $file = fopen( $html_report_pathname, 'w' ); 411 411 412 412 if ( false === $file ) { 413 wp_send_json_error( __( 'Unable to open user privacy export file(HTML report) for writing.' ) );413 wp_send_json_error( __( 'Unable to open personal data export (HTML report) for writing.' ) ); 414 414 } 415 415 416 416 fwrite( $file, "<!DOCTYPE html>\n" ); … … 504 504 $zip = new ZipArchive; 505 505 if ( true === $zip->open( $archive_pathname, ZipArchive::CREATE ) ) { 506 506 if ( ! $zip->addFile( $json_report_pathname, 'export.json' ) ) { 507 $error = __( 'Unable to a dd data to user privacyexport file (JSON format).' );507 $error = __( 'Unable to archive the personal data export file (JSON format).' ); 508 508 } 509 509 510 510 if ( ! $zip->addFile( $html_report_pathname, 'index.html' ) ) { 511 $error = __( 'Unable to a dd data to user privacyexport file (HTML format).' );511 $error = __( 'Unable to archive the personal data export file (HTML format).' ); 512 512 } 513 513 514 514 $zip->close(); … … 529 529 do_action( 'wp_privacy_personal_data_export_file_created', $archive_pathname, $archive_url, $html_report_pathname, $request_id, $json_report_pathname ); 530 530 } 531 531 } else { 532 $error = __( 'Unable to open user privacyexport file (archive) for writing.' );532 $error = __( 'Unable to open personal data export file (archive) for writing.' ); 533 533 } 534 534 535 535 // Remove the JSON file. … … 758 758 $request = wp_get_user_request( $request_id ); 759 759 760 760 if ( ! $request || 'export_personal_data' !== $request->action_name ) { 761 wp_send_json_error( __( 'Invalid request ID when merging user privacy exporterdata.' ) );761 wp_send_json_error( __( 'Invalid request ID when merging the exporter personal data.' ) ); 762 762 } 763 763 764 764 $export_data = array(); … … 909 909 $request = wp_get_user_request( $request_id ); 910 910 911 911 if ( ! $request || 'remove_personal_data' !== $request->action_name ) { 912 wp_send_json_error( __( 'Invalid request ID when processing user privacy eraser data.' ) );912 wp_send_json_error( __( 'Invalid request ID when processing personal data to erase.' ) ); 913 913 } 914 914 915 915 /** This filter is documented in wp-admin/includes/ajax-actions.php */ -
src/wp-includes/user.php
3123 3123 } 3124 3124 3125 3125 /** 3126 * Get all user privacyrequest types.3126 * Get all personal data request types. 3127 3127 * 3128 3128 * @since 4.9.6 3129 3129 * @access private … … 3805 3805 ); 3806 3806 3807 3807 if ( $requests_query->found_posts ) { 3808 return new WP_Error( 'duplicate_request', __( 'An incomplete user privacyrequest for this email address already exists.' ) );3808 return new WP_Error( 'duplicate_request', __( 'An incomplete personal data request for this email address already exists.' ) ); 3809 3809 } 3810 3810 3811 3811 $request_id = wp_insert_post( … … 3873 3873 $request = wp_get_user_request( $request_id ); 3874 3874 3875 3875 if ( ! $request ) { 3876 return new WP_Error( 'invalid_request', __( 'Invalid user privacyrequest.' ) );3876 return new WP_Error( 'invalid_request', __( 'Invalid personal data request.' ) ); 3877 3877 } 3878 3878 3879 3879 // Localize message content for user; fallback to site default for visitors. … … 4061 4061 $key_request_time = $request->modified_timestamp; 4062 4062 4063 4063 if ( ! $request || ! $saved_key || ! $key_request_time ) { 4064 return new WP_Error( 'invalid_request', __( 'Invalid user privacyrequest.' ) );4064 return new WP_Error( 'invalid_request', __( 'Invalid personal data request.' ) ); 4065 4065 } 4066 4066 4067 4067 if ( ! in_array( $request->status, array( 'request-pending', 'request-failed' ), true ) ) { 4068 return new WP_Error( 'expired_request', __( 'This user privacyrequest has expired.' ) );4068 return new WP_Error( 'expired_request', __( 'This personal data request has expired.' ) ); 4069 4069 } 4070 4070 4071 4071 if ( empty( $key ) ) { 4072 return new WP_Error( 'missing_key', __( 'Th is user privacy request is missing the confirmation key.' ) );4072 return new WP_Error( 'missing_key', __( 'The confirmation key is missing from this personal data request.' ) ); 4073 4073 } 4074 4074 4075 4075 if ( empty( $wp_hasher ) ) { … … 4088 4088 $expiration_time = $key_request_time + $expiration_duration; 4089 4089 4090 4090 if ( ! $wp_hasher->CheckPassword( $key, $saved_key ) ) { 4091 return new WP_Error( 'invalid_key', __( 'Th is user privacy request confirmation key is invalid.' ) );4091 return new WP_Error( 'invalid_key', __( 'The confirmation key is invalid for this personal data request.' ) ); 4092 4092 } 4093 4093 4094 4094 if ( ! $expiration_time || time() > $expiration_time ) { 4095 return new WP_Error( 'expired_key', __( 'Th is user privacy request confirmation key has expired.' ) );4095 return new WP_Error( 'expired_key', __( 'The confirmation key has expired for this personal data request.' ) ); 4096 4096 } 4097 4097 4098 4098 return true; -
tests/phpunit/tests/privacy/wpPrivacyGeneratePersonalDataExportFile.php
164 164 $request_id = wp_create_user_request( 'removal-requester@example.com', 'remove_personal_data' ); 165 165 166 166 $this->expectException( 'WPDieException' ); 167 $this->expectOutputString( '{"success":false,"data":"Invalid request ID when generating user privacyexport file."}' );167 $this->expectOutputString( '{"success":false,"data":"Invalid request ID when generating personal data export file."}' ); 168 168 wp_privacy_generate_personal_data_export_file( $request_id ); 169 169 } 170 170 … … 175 175 */ 176 176 public function test_invalid_request_id() { 177 177 $this->expectException( 'WPDieException' ); 178 $this->expectOutputString( '{"success":false,"data":"Invalid request ID when generating user privacyexport file."}' );178 $this->expectOutputString( '{"success":false,"data":"Invalid request ID when generating personal data export file."}' ); 179 179 wp_privacy_generate_personal_data_export_file( 123456789 ); 180 180 } 181 181 … … 195 195 ); 196 196 197 197 $this->expectException( 'WPDieException' ); 198 $this->expectOutputString( '{"success":false,"data":"Invalid email address when generating user privacyexport file."}' );198 $this->expectOutputString( '{"success":false,"data":"Invalid email address when generating personal data export file."}' ); 199 199 wp_privacy_generate_personal_data_export_file( $request_id ); 200 200 } 201 201 … … 209 209 touch( untrailingslashit( self::$exports_dir ) ); 210 210 211 211 $this->expectException( 'WPDieException' ); 212 $this->expectOutputString( '{"success":false,"data":"Unable to create user privacyexport folder."}' );212 $this->expectOutputString( '{"success":false,"data":"Unable to create personal data export folder."}' ); 213 213 wp_privacy_generate_personal_data_export_file( self::$export_request_id ); 214 214 } 215 215 -
tests/phpunit/tests/privacy/wpPrivacyProcessPersonalDataExportPage.php
367 367 $invalid_request_id = 0; 368 368 369 369 // Process data, given the last exporter, on the last page and send as email. 370 $this->_setup_expected_failure( '{"success":false,"data":"Invalid request ID when merging user privacy exporterdata."}' );370 $this->_setup_expected_failure( '{"success":false,"data":"Invalid request ID when merging the exporter personal data."}' ); 371 371 372 372 wp_privacy_process_personal_data_export_page( 373 373 $response, … … 399 399 $request_id = wp_create_user_request( self::$requester_email, 'remove_personal_data' ); 400 400 401 401 // Process data, given the last exporter, on the last page and send as email. 402 $this->_setup_expected_failure( '{"success":false,"data":"Invalid request ID when merging user privacy exporterdata."}' );402 $this->_setup_expected_failure( '{"success":false,"data":"Invalid request ID when merging the exporter personal data."}' ); 403 403 404 404 wp_privacy_process_personal_data_export_page( 405 405 $response,