Commit Graph

242 Commits

Author SHA1 Message Date
Gary Pendergast
f1bef8668b Text Changes: Tweak the wording of email notification subjects.
This change brings more coherence between the subject lines of the various emails WordPress will send.

Props ramiy, pento.
Fixes #37940.


git-svn-id: https://develop.svn.wordpress.org/trunk@45137 602fd350-edb4-49c9-b593-d223f7449a82
2019-04-08 06:16:41 +00:00
Sergey Biryukov
b957460b7b Privacy: Ensure the privacy data erase fulfillment email is sent in the locale of the user whose data is being erased (or the site's default locale if they are not a registered user) when the administrator fulfilling the request uses a different locale.
Props desrosj, birgire, garrett-eclipse.
Fixes #44721.

git-svn-id: https://develop.svn.wordpress.org/trunk@45039 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-27 19:41:01 +00:00
Jonathan Desrosiers
bdba41f9da General: Ensure error messages end with a period for consistency.
Props garrett-eclipse, birgire.
See #44901.

git-svn-id: https://develop.svn.wordpress.org/trunk@44930 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-19 02:36:18 +00:00
Felix Arntz
82be24c885 Multisite: Do not prime site meta caches unless necessary.
Props spacedmonkey.
Fixes #46357. See #46167.


git-svn-id: https://develop.svn.wordpress.org/trunk@44926 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-18 15:55:25 +00:00
Andrea Fercia
eeb57f67c4 Accessibility: Login: Display error messages when both the username and password fields are empty.
For accessibility and usability, if an input error is detected, the item that is in error needs to be identified and the error needs to be described to the user in text (WCAG Success Criterion 3.3.1). The login form displays an error when the username field is empty or when the password field is empty. It omits to do so when both fields are empty.

This change restores the login form behavior to the one that used to work in WordPress 2.3 (!) and displays the related error messages also when both fields are empty.

Props birgire, audrasjb.
See #8938, #5405, #3708.
Fixes #42985.


git-svn-id: https://develop.svn.wordpress.org/trunk@44918 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-16 15:21:25 +00:00
Jonathan Desrosiers
b66ae2b4c1 Privacy: Allow new requests to be created after a user’s existing one has been completed.
When dealing with personal data exports and erasure requests, it is important to have a log of all the requests for a specific person. This is often required to confirm when and how many times requests were completed and fulfilled properly. 

This change allows a new request to be created after a previous data request has reached completed status (`request-completed`) instead of requiring admins to delete or re-initiate the existing request. The latter approach removes the historical log of requests for that user when creating a new request.

Full unit tests for the `wp_create_user_request()` function are also included.

Props garrett-eclipse, cc0a, birgire, desrosj.
Fixes #44707.

git-svn-id: https://develop.svn.wordpress.org/trunk@44906 602fd350-edb4-49c9-b593-d223f7449a82
2019-03-15 16:26:55 +00:00
Sergey Biryukov
4c45ff7c43 Users: Revert [44780] pending test failure investigation.
See #45845.

git-svn-id: https://develop.svn.wordpress.org/trunk@44784 602fd350-edb4-49c9-b593-d223f7449a82
2019-02-28 22:57:47 +00:00
Sergey Biryukov
a16cbba2fd Users: Replace raw SQL query in check_password_reset_key() with get_user_by().
Props davidbaumwald, iworks, spacedmonkey.
Fixes #45845.

git-svn-id: https://develop.svn.wordpress.org/trunk@44780 602fd350-edb4-49c9-b593-d223f7449a82
2019-02-28 14:38:27 +00:00
Jonathan Desrosiers
3f4cc1a113 Privacy: Use consistent variable naming when working with privacy requests.
Throughout the core privacy functions, `WP_User_Request` instances were stored in variables named both `$request`, and `$request_data`. This changes all occurrences of `$request_data` to `$request` for better consistency.

Props nateallen, bruceallen, garrett-eclipse.
Fixes #44708.

git-svn-id: https://develop.svn.wordpress.org/trunk@44606 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-15 22:34:39 +00:00
Gary Pendergast
efc09a6922 Docs: Tweak the docblock for setup_userdata().
This is a followup to [44603]. The default value should be last, not somewhere in the middle.

Props swissspidy.
Fixes #44697.



git-svn-id: https://develop.svn.wordpress.org/trunk@44605 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-15 10:28:42 +00:00
Gary Pendergast
3a6ffa1d18 Users: Correct the default value in setup_userdata().
The `$for_user_id` parameter is an `int`, not a `string`, so the default value should be `0`, rather than an empty string.

Props subrataemfluence.
Fixes #44697.



git-svn-id: https://develop.svn.wordpress.org/trunk@44603 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-15 06:32:21 +00:00
Gary Pendergast
0393473016 Users: Check that a valid user is passed to get_password_reset_key().
Props edocev.
Fixes #44601.



git-svn-id: https://develop.svn.wordpress.org/trunk@44602 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-15 06:26:23 +00:00
Gary Pendergast
da17f41cc1 Coding Standards: Move assignments out of conditions in wp-includes/user.php.
Props subrataemfluence.
See #44315.



git-svn-id: https://develop.svn.wordpress.org/trunk@44597 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-15 05:37:48 +00:00
Gary Pendergast
3d030132ae Privacy: Fix a code formatting error introduced in [44491].
See #44908.



git-svn-id: https://develop.svn.wordpress.org/trunk@44494 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-09 04:32:59 +00:00
Gary Pendergast
37b849714f Privacy: Remove some unnecessary parameters being passed to wp_update_post() by wp_generate_user_request_key().
Props garrett-eclipse.
Fixes #44908.



git-svn-id: https://develop.svn.wordpress.org/trunk@44491 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-09 03:50:33 +00:00
Gary Pendergast
0311c0d083 Users: Add the pre_count_users filter.
Props spacedmonkey.
Fixes #43693.



git-svn-id: https://develop.svn.wordpress.org/trunk@44473 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-08 09:48:09 +00:00
Gary Pendergast
801e193ae0 Coding Standards: Fix an error introduced in [44465].
See #45748.



git-svn-id: https://develop.svn.wordpress.org/trunk@44470 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-08 09:02:50 +00:00
Gary Pendergast
cfbb2e735f Users: Use email_exists() in send_confirmation_on_profile_email(), instead of a manual query.
This gives us caching, and removes the use of the `$wpdb` global.

Props spacedmonkey, pento.
Fixes #45748.



git-svn-id: https://develop.svn.wordpress.org/trunk@44465 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-08 06:06:04 +00:00
Sergey Biryukov
811eef33a3 Privacy: When clicking a confirmation link for a privacy request, return a WP_Error object if the link has expired.
Returning a string caused a success message to be displayed instead of the correct error message.

Props desrosj.
Fixes #44685.

git-svn-id: https://develop.svn.wordpress.org/trunk@43623 602fd350-edb4-49c9-b593-d223f7449a82
2018-09-03 21:43:13 +00:00
Gary Pendergast
a75d153eee Coding Standards: Upgrade WPCS to 1.0.0
WPCS 1.0.0 includes a bunch of new auto-fixers, which drops the number of coding standards issues across WordPress significantly. Prior to running the auto-fixers, there were 15,312 issues detected. With this commit, we now drop to 4,769 issues.

This change includes three notable additions:
- Multiline function calls must now put each parameter on a new line.
- Auto-formatting files is now part of the `grunt precommit` script. 
- Auto-fixable coding standards issues will now cause Travis failures.

Fixes #44600.



git-svn-id: https://develop.svn.wordpress.org/trunk@43571 602fd350-edb4-49c9-b593-d223f7449a82
2018-08-17 01:50:26 +00:00
Sergey Biryukov
c5d013bf95 Privacy: Ensure the user request email is sent in the requested user's locale (or the site's default locale if they are not a registered user) when the administrator creating the request uses a different locale.
Props desrosj, Chouby, iandunn, lbenicio, birgire, earnjam, swissspidy, garrett-eclipse.
Fixes #43985.

git-svn-id: https://develop.svn.wordpress.org/trunk@43568 602fd350-edb4-49c9-b593-d223f7449a82
2018-08-13 16:31:31 +00:00
Andrew Ozz
7a86b55763 Privacy: Add $request to $email_data to make it available to all filters.
Props desrosj.
Fixes #44379.

git-svn-id: https://develop.svn.wordpress.org/trunk@43477 602fd350-edb4-49c9-b593-d223f7449a82
2018-07-17 13:52:43 +00:00
Andrew Ozz
6612d0e452 Privacy: Add filter for the subject of the erasure complete notification emails.
Props desrosj.
Fixes #44265.

git-svn-id: https://develop.svn.wordpress.org/trunk@43475 602fd350-edb4-49c9-b593-d223f7449a82
2018-07-17 13:41:33 +00:00
Sergey Biryukov
83e8e6c003 Privacy: Change @since entry for user_request_confirmed_email_subject filter added in [43373] to 4.9.8.
See #44382.

git-svn-id: https://develop.svn.wordpress.org/trunk@43451 602fd350-edb4-49c9-b593-d223f7449a82
2018-07-16 12:11:14 +00:00
Felix Arntz
97cacadc50 Privacy: Use consistent values for the site name and URL used in notification emails.
The functions `send_confirmation_on_profile_email()`, `_wp_privacy_send_request_confirmation_notification()`, `_wp_privacy_send_erasure_fulfillment_notification()`, and `wp_send_user_request()` all include a title and URL indicating the current site. However, so far they have dealt with those values inconsistently, sometimes using the site values, other times using the network values if in a multisite. This changeset ensures that only the current site is taken into account in all cases and that special characters in the site name are consistently decoded.

Props subrataemfluence, desrosj.
Fixes #44396.


git-svn-id: https://develop.svn.wordpress.org/trunk@43388 602fd350-edb4-49c9-b593-d223f7449a82
2018-07-03 16:59:36 +00:00
Andrew Ozz
6b366c6620 Privacy: use wp_login_url() for the link in the user confirmation email.
Props desrosj, usmankhalid.
Fixes #44353.

git-svn-id: https://develop.svn.wordpress.org/trunk@43379 602fd350-edb4-49c9-b593-d223f7449a82
2018-06-25 15:01:29 +00:00
Andrew Ozz
2972f7c220 Privacy: add user request type to the admin notification email subject.
Props birgire, desrosj.
Fixes #44099.

git-svn-id: https://develop.svn.wordpress.org/trunk@43375 602fd350-edb4-49c9-b593-d223f7449a82
2018-06-19 08:17:44 +00:00
Andrew Ozz
5168c31084 Privacy: filter the email subject in _wp_privacy_send_request_confirmation_notification().
Props garrett-eclipse, birgire, desrosj.
Fixes #44382.

git-svn-id: https://develop.svn.wordpress.org/trunk@43373 602fd350-edb4-49c9-b593-d223f7449a82
2018-06-18 16:23:37 +00:00
John Blackbourn
102422679d Security: Harden the random aspect of the hash used for user profile and admin email address changes.
Props BjornW

Fixes #43771


git-svn-id: https://develop.svn.wordpress.org/trunk@43367 602fd350-edb4-49c9-b593-d223f7449a82
2018-06-16 14:09:58 +00:00
Sergey Biryukov
51b94c3262 Privacy: Remove unnecessary This email has been sent to ###EMAIL### from privacy emails.
The line was copied from the emails that get sent when an email address changes, without considering if it made sense in the new context.

Props iandunn, ianbelanger, desrosj.
Fixes #44030.

git-svn-id: https://develop.svn.wordpress.org/trunk@43353 602fd350-edb4-49c9-b593-d223f7449a82
2018-06-16 10:24:30 +00:00
Sergey Biryukov
f4580c122b Users: In wp_validate_user_request_key(), properly return the WP_Error object in case the confirmation email has expired.
Props itowhid06.
Fixes #44298.

git-svn-id: https://develop.svn.wordpress.org/trunk@43331 602fd350-edb4-49c9-b593-d223f7449a82
2018-06-04 13:45:13 +00:00
Andrew Ozz
b69237ecda Privacy: improve inline documentation.
Props desrosj.
Fixes #44075.

git-svn-id: https://develop.svn.wordpress.org/trunk@43256 602fd350-edb4-49c9-b593-d223f7449a82
2018-05-14 14:52:49 +00:00
Ian Dunn
70fd932c25 Privacy: Expose erasure notification recipient to filter callbacks.
The previous `user_email` value was redundant, because it always matched `$request_data->email`. That value might be different from where the message is sent, though, if the `user_erasure_fulfillment_email_to` filter is used. If they are different, then callbacks for the `user_confirmed_action_email_content` filter may want to distinguish between the email address of the user making the request, and the email address that the confirmation notification is being sent to.

Props desrosj, iandunn.
See #43973.


git-svn-id: https://develop.svn.wordpress.org/trunk@43236 602fd350-edb4-49c9-b593-d223f7449a82
2018-05-10 21:19:27 +00:00
Sergey Biryukov
0a56b67b52 Privacy: Update request confirmation notice text for clarity.
Props desrosj, melchoyce, garrett-eclipse.
Fixes #43970.

git-svn-id: https://develop.svn.wordpress.org/trunk@43232 602fd350-edb4-49c9-b593-d223f7449a82
2018-05-10 20:52:54 +00:00
Sergey Biryukov
bc5ecec3fc Privacy: Send an email notification to the user once their personal data erasure request is fulfilled.
Props desrosj, allendav, garrett-eclipse.
Fixes #43973.

git-svn-id: https://develop.svn.wordpress.org/trunk@43230 602fd350-edb4-49c9-b593-d223f7449a82
2018-05-10 20:42:15 +00:00
Andrew Ozz
56079a45fd Privacy: cleanup of the "Export Personal Data" and "Erase Personal Data" screens.
Props desrosj, xkon.
See #43929.

git-svn-id: https://develop.svn.wordpress.org/trunk@43212 602fd350-edb4-49c9-b593-d223f7449a82
2018-05-10 10:00:19 +00:00
Ian Dunn
dd4322535b Privacy: Notify admin via email when a request is confirmed.
Previously the admin didn't have any way to know if a pending request was ready to be processed, aside from manually checking the Export/Erase pages. Sending them an email is a much more convenient option.

Props garrett-eclipse, desrosj, iandunn.
See #43967.


git-svn-id: https://develop.svn.wordpress.org/trunk@43211 602fd350-edb4-49c9-b593-d223f7449a82
2018-05-10 04:59:48 +00:00
Andrew Ozz
998fcc3f65 Privacy: remove leftover comment after [43197].
See #43968.

git-svn-id: https://develop.svn.wordpress.org/trunk@43199 602fd350-edb4-49c9-b593-d223f7449a82
2018-05-09 17:56:37 +00:00
Andrew Ozz
a0e67e1331 Privacy: add request type and filter to the subject of request confirmation emails for GDPR.
Props desrosj, azaozz.
See #43968.

git-svn-id: https://develop.svn.wordpress.org/trunk@43197 602fd350-edb4-49c9-b593-d223f7449a82
2018-05-09 17:50:56 +00:00
Sergey Biryukov
665c214dbb Docs: Remove unused ###USERNAME### placeholder reference from user_request_action_email_content filter documentation.
Props desrosj.
Fixes #44016.

git-svn-id: https://develop.svn.wordpress.org/trunk@43189 602fd350-edb4-49c9-b593-d223f7449a82
2018-05-09 14:37:44 +00:00
Sergey Biryukov
9ca9b27110 Privacy: Use the terms "erase"/"erasure" instead of "remove"/"removal" for personal data.
Props allendav.
Fixes #43920.

git-svn-id: https://develop.svn.wordpress.org/trunk@43175 602fd350-edb4-49c9-b593-d223f7449a82
2018-05-07 16:44:15 +00:00
Ian Dunn
4bb19e4aca Privacy: Store plugin callbacks in associative array for flexibility.
The personal data export and erasure tools allow plugins to register their own callbacks, in order to add additional data to the export and erasure processes. Previously, these were registered without specifying a constant identifier in the array of callbacks. Using mutable integers makes it difficult for plugins to modify the callbacks of other plugins, though.

Using associative array keys instead provides a covenient and reliable way to identify and interact with another plugin's callbacks.

Props desrosj, allendav, ocean90.
Fixes #43931.


git-svn-id: https://develop.svn.wordpress.org/trunk@43154 602fd350-edb4-49c9-b593-d223f7449a82
2018-05-03 19:27:14 +00:00
Andrew Ozz
e678d4ea6d Privacy: fix inconsistencies in new strings.
Props audrasjb.
Fixes #43925.

git-svn-id: https://develop.svn.wordpress.org/trunk@43118 602fd350-edb4-49c9-b593-d223f7449a82
2018-05-02 18:41:10 +00:00
Andrew Ozz
16bd4bede2 Privacy: add user information to the personal data export file.
Props TZ-Media, desrosj.
See #43547.


git-svn-id: https://develop.svn.wordpress.org/trunk@43055 602fd350-edb4-49c9-b593-d223f7449a82
2018-05-01 13:58:02 +00:00
Andrew Ozz
bf1ddda65f Fix docs and white space.
Props desrosj.
See #43443.

git-svn-id: https://develop.svn.wordpress.org/trunk@43014 602fd350-edb4-49c9-b593-d223f7449a82
2018-04-28 12:03:09 +00:00
Andrew Ozz
da5dc711a5 Privacy: add means to export personal data by username or email address. Generate a zipped export file containing all data. First run.
Props allendav.
See #43546.

git-svn-id: https://develop.svn.wordpress.org/trunk@43012 602fd350-edb4-49c9-b593-d223f7449a82
2018-04-27 19:53:37 +00:00
Andrew Ozz
a0c3fab75b Privacy: update and enhance the method to confirm user requests by email. Introduce WP_User_Request to hold all request vars similarly to WP_Post.
Props mikejolley.
See #43443.


git-svn-id: https://develop.svn.wordpress.org/trunk@43011 602fd350-edb4-49c9-b593-d223f7449a82
2018-04-27 17:30:28 +00:00
Andrew Ozz
11d594e3a8 Privacy: update the method to confirm user requests by email. Use a single CPT to store the requests and to allow logging/audit trail.
Props mikejolley.
See #43443.


git-svn-id: https://develop.svn.wordpress.org/trunk@43008 602fd350-edb4-49c9-b593-d223f7449a82
2018-04-27 10:12:01 +00:00
Andrew Ozz
33979450ac Privacy: add new wp-admin screens for exporting and removing of personal data.
Props @melchoyce, @mikejolley, @allendav, @xkon.
See #43481.

git-svn-id: https://develop.svn.wordpress.org/trunk@42967 602fd350-edb4-49c9-b593-d223f7449a82
2018-04-10 18:01:20 +00:00
Andrew Ozz
531abcbdd4 Privacy: fixes and updates for the method to confirm user requests by email.
- Improve function and variable names.
- Allow extra data to be passed with the request.
- Make the option/user meta names more consistent.
- Adds an inline comment explaining use of hash.

Props mikejolley.
See #43443.

git-svn-id: https://develop.svn.wordpress.org/trunk@42964 602fd350-edb4-49c9-b593-d223f7449a82
2018-04-06 19:09:53 +00:00