Changeset 47279
- Timestamp:
- 02/11/2020 09:41:26 PM (5 years ago)
- Location:
- trunk
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-admin/includes/privacy-tools.php
r47278 r47279 659 659 $content = str_replace( '###SITEURL###', esc_url_raw( $site_url ), $content ); 660 660 661 $mail_success = wp_mail( $request_email, $subject, $content ); 661 $headers = ''; 662 663 /** 664 * Filters the headers of the email sent with a personal data export file. 665 * 666 * @since 5.4.0 667 * 668 * @param string|array $headers The email headers. 669 * @param string $subject The email subject. 670 * @param string $content The email content. 671 * @param int $request_id The request ID. 672 * @param array $email_data { 673 * Data relating to the account action email. 674 * 675 * @type WP_User_Request $request User request object. 676 * @type int $expiration The time in seconds until the export file expires. 677 * @type string $expiration_date The localized date and time when the export file expires. 678 * @type string $message_recipient The address that the email will be sent to. Defaults 679 * to the value of `$request->email`, but can be changed 680 * by the `wp_privacy_personal_data_email_to` filter. 681 * @type string $export_file_url The export file URL. 682 * @type string $sitename The site name sending the mail. 683 * @type string $siteurl The site URL sending the mail. 684 * } 685 */ 686 $headers = apply_filters( 'wp_privacy_personal_data_email_headers', $headers, $subject, $content, $request_id, $email_data ); 687 688 $mail_success = wp_mail( $request_email, $subject, $content, $headers ); 662 689 663 690 if ( $switched_locale ) { -
trunk/src/wp-includes/user.php
r47277 r47279 3295 3295 $subject = apply_filters( 'user_request_confirmed_email_subject', $subject, $email_data['sitename'], $email_data ); 3296 3296 3297 $email_sent = wp_mail( $email_data['admin_email'], $subject, $content ); 3297 $headers = ''; 3298 3299 /** 3300 * Filters the headers of the user request confirmation email. 3301 * 3302 * @since 5.4.0 3303 * 3304 * @param string|array $headers The email headers. 3305 * @param string $subject The email subject. 3306 * @param string $content The email content. 3307 * @param int $request_id The request ID. 3308 * @param array $email_data { 3309 * Data relating to the account action email. 3310 * 3311 * @type WP_User_Request $request User request object. 3312 * @type string $user_email The email address confirming a request 3313 * @type string $description Description of the action being performed so the user knows what the email is for. 3314 * @type string $manage_url The link to click manage privacy requests of this type. 3315 * @type string $sitename The site name sending the mail. 3316 * @type string $siteurl The site URL sending the mail. 3317 * @type string $admin_email The administrator email receiving the mail. 3318 * } 3319 */ 3320 $headers = apply_filters( 'user_request_confirmed_email_headers', $headers, $subject, $content, $request_id, $email_data ); 3321 3322 $email_sent = wp_mail( $email_data['admin_email'], $subject, $content, $headers ); 3298 3323 3299 3324 if ( $email_sent ) { … … 3441 3466 $content = str_replace( '###SITEURL###', esc_url_raw( $email_data['siteurl'] ), $content ); 3442 3467 3443 $email_sent = wp_mail( $user_email, $subject, $content ); 3468 $headers = ''; 3469 3470 /** 3471 * Filters the headers of the data erasure fulfillment notification. 3472 * 3473 * @since 5.4.0 3474 * 3475 * @param string|array $headers The email headers. 3476 * @param string $subject The email subject. 3477 * @param string $content The email content. 3478 * @param int $request_id The request ID. 3479 * @param array $email_data { 3480 * Data relating to the account action email. 3481 * 3482 * @type WP_User_Request $request User request object. 3483 * @type string $message_recipient The address that the email will be sent to. Defaults 3484 * to the value of `$request->email`, but can be changed 3485 * by the `user_erasure_fulfillment_email_to` filter. 3486 * @type string $privacy_policy_url Privacy policy URL. 3487 * @type string $sitename The site name sending the mail. 3488 * @type string $siteurl The site URL sending the mail. 3489 * } 3490 */ 3491 $headers = apply_filters( 'user_erasure_complete_email_headers', $headers, $subject, $content, $request_id, $email_data ); 3492 3493 $email_sent = wp_mail( $user_email, $subject, $content, $headers ); 3444 3494 3445 3495 if ( $switched_locale ) { … … 3703 3753 $subject = apply_filters( 'user_request_action_email_subject', $subject, $email_data['sitename'], $email_data ); 3704 3754 3705 $email_sent = wp_mail( $email_data['email'], $subject, $content ); 3755 $headers = ''; 3756 3757 /** 3758 * Filters the headers of the email sent when an account action is attempted. 3759 * 3760 * @since 5.4.0 3761 * 3762 * @param string|array $headers The email headers. 3763 * @param string $subject The email subject. 3764 * @param string $content The email content. 3765 * @param int $request_id The request ID. 3766 * @param array $email_data { 3767 * Data relating to the account action email. 3768 * 3769 * @type WP_User_Request $request User request object. 3770 * @type string $email The email address this is being sent to. 3771 * @type string $description Description of the action being performed so the user knows what the email is for. 3772 * @type string $confirm_url The link to click on to confirm the account action. 3773 * @type string $sitename The site name sending the mail. 3774 * @type string $siteurl The site URL sending the mail. 3775 * } 3776 */ 3777 $headers = apply_filters( 'user_request_action_email_headers', $headers, $subject, $content, $request_id, $email_data ); 3778 3779 $email_sent = wp_mail( $email_data['email'], $subject, $content, $headers ); 3706 3780 3707 3781 if ( $switched_locale ) { -
trunk/tests/phpunit/tests/privacy/wpPrivacySendErasureFulfillmentNotification.php
r46586 r47279 258 258 259 259 /** 260 * The email headers of the fulfillment notification should be filterable. 261 * 262 * @since 5.4.0 263 * 264 * @ticket 44501 265 */ 266 public function test_email_headers_should_be_filterable() { 267 add_filter( 'user_erasure_complete_email_headers', array( $this, 'modify_email_headers' ) ); 268 _wp_privacy_send_erasure_fulfillment_notification( self::$request_id ); 269 270 $mailer = tests_retrieve_phpmailer_instance(); 271 272 $this->assertContains( 'From: Tester <tester@example.com>', $mailer->get_sent()->header ); 273 } 274 275 /** 276 * Filter callback that modifies the email headers of the data erasure fulfillment notification. 277 * 278 * @since 5.4.0 279 * 280 * @param string|array $headers The email headers. 281 * @return array $headers The new email headers. 282 */ 283 public function modify_email_headers( $headers ) { 284 $headers = array( 285 'From: Tester <tester@example.com>', 286 ); 287 288 return $headers; 289 } 290 291 /** 260 292 * The function should not send an email when the request ID does not exist. 261 293 * -
trunk/tests/phpunit/tests/privacy/wpPrivacySendPersonalDataExportEmail.php
r47144 r47279 254 254 255 255 /** 256 * The email headers should be filterable. 257 * 258 * @since 5.4.0 259 * 260 * @ticket 44501 261 */ 262 public function test_email_headers_should_be_filterable() { 263 add_filter( 'wp_privacy_personal_data_email_headers', array( $this, 'modify_email_headers' ) ); 264 wp_privacy_send_personal_data_export_email( self::$request_id ); 265 266 $mailer = tests_retrieve_phpmailer_instance(); 267 268 $this->assertContains( 'From: Tester <tester@example.com>', $mailer->get_sent()->header ); 269 } 270 271 /** 272 * Filter callback to modify the headers of the email sent with a personal data export file. 273 * 274 * @since 5.4.0 275 * 276 * @param string|array $headers The email headers. 277 * @return array $headers The new email headers. 278 */ 279 public function modify_email_headers( $headers ) { 280 $headers = array( 281 'From: Tester <tester@example.com>', 282 ); 283 284 return $headers; 285 } 286 287 /** 256 288 * The email content should be filterable using the $email_data 257 289 * -
trunk/tests/phpunit/tests/privacy/wpPrivacySendRequestConfirmationNotification.php
r47246 r47279 208 208 } 209 209 210 /** 211 * The email headers should be filterable. 212 * 213 * @since 5.4.0 214 * 215 * @ticket 44501 216 */ 217 public function test_email_headers_should_be_filterable() { 218 $email = 'export.request.from.unregistered.user@example.com'; 219 $request_id = wp_create_user_request( $email, 'export_personal_data' ); 220 221 _wp_privacy_account_request_confirmed( $request_id ); 222 223 add_filter( 'user_request_confirmed_email_headers', array( $this, 'modify_email_headers' ) ); 224 _wp_privacy_send_request_confirmation_notification( $request_id ); 225 remove_filter( 'user_request_confirmed_email_headers', array( $this, 'modify_email_headers' ) ); 226 227 $mailer = tests_retrieve_phpmailer_instance(); 228 229 $this->assertContains( 'From: Tester <tester@example.com>', $mailer->get_sent()->header ); 230 } 231 232 /** 233 * Filter callback that modifies the headers of the user request confirmation email. 234 * 235 * @since 5.4.0 236 * 237 * @param string|array $headers The email headers. 238 * @return array $headers The new email headers. 239 */ 240 public function modify_email_headers( $headers ) { 241 $headers = array( 242 'From: Tester <tester@example.com>', 243 ); 244 245 return $headers; 246 } 247 210 248 } -
trunk/tests/phpunit/tests/user.php
r47270 r47279 1799 1799 * Testing the `wp_privacy_additional_user_profile_data` filter works. 1800 1800 * 1801 * @since 5.4.0 1802 * 1801 1803 * @ticket 47509 1802 1804 */ … … 1882 1884 * Filter callback to add additional profile data to the User Group on Export Requests. 1883 1885 * 1886 * @since 5.4.0 1887 * 1884 1888 * @ticket 47509 1885 1889 * … … 1902 1906 * 1903 1907 * This callback should generate a `_doing_it_wrong()`. 1908 * 1909 * @since 5.4.0 1904 1910 * 1905 1911 * @ticket 47509 -
trunk/tests/phpunit/tests/user/wpSendUserRequest.php
r46586 r47279 230 230 231 231 /** 232 * The email headers should be filterable. 233 * 234 * @since 5.4.0 235 * 236 * @ticket 44501 237 */ 238 public function test_email_headers_should_be_filterable() { 239 $request_id = wp_create_user_request( self::$test_user->user_email, 'remove_personal_data' ); 240 241 add_filter( 'user_request_action_email_headers', array( $this, 'modify_email_headers' ) ); 242 $result = wp_send_user_request( $request_id ); 243 244 $mailer = tests_retrieve_phpmailer_instance(); 245 246 $this->assertContains( 'From: Tester <tester@example.com>', $mailer->get_sent()->header ); 247 } 248 249 /** 250 * Filter callback to modify the headers of the email sent when an account action is attempted. 251 * 252 * @since 5.4.0 253 * 254 * @param string|array $headers The email headers. 255 * @return array $headers The new email headers. 256 */ 257 public function modify_email_headers( $headers ) { 258 $headers = array( 259 'From: Tester <tester@example.com>', 260 ); 261 262 return $headers; 263 } 264 265 /** 232 266 * The function should error when the email was not sent. 233 267 *
Note: See TracChangeset
for help on using the changeset viewer.