Commit Graph

138 Commits

Author SHA1 Message Date
Rachel Baker
ca008e9f51 Comments: Refresh the Moderate Comment screen for a friendlier experience with email moderation actions.
Brings some love to this neglected screen:
* format `comment_content`, instead of escaping in one massive block of text
* only wrap the comment date in a link if the comment permalink exists
* include link to the Edit Comment screen at the bottom of the comment_content
* update the message styles to match other screens
* append `#wpbody-content` to the comment email message links for accessibility

Props johnbillion, rachelbaker, afercia, melchoyce, karmatosed.

Fixes #34133

git-svn-id: https://develop.svn.wordpress.org/trunk@36588 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-19 19:13:59 +00:00
Dominik Schilling (ocean90)
7bc7bd07d4 Suppress possible warnings in PHP < 5.3.3 by parse_url() in wp_validate_redirect().
PHP 5.3.3 removed the E_WARNING that was emitted when URL parsing failed.

git-svn-id: https://develop.svn.wordpress.org/trunk@36446 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-02 16:33:02 +00:00
Aaron Jorbin
5bf2ce0d66 Revert [35792]
This causes a regression and causes redirects to potentially fail.

See #5114 #34028
props ocean90


git-svn-id: https://develop.svn.wordpress.org/trunk@36445 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-02 16:23:15 +00:00
Dominik Schilling (ocean90)
ce68dd0ec5 Better validation of the URL used in HTTP redirects.
git-svn-id: https://develop.svn.wordpress.org/trunk@36444 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-02 15:10:09 +00:00
Dominik Schilling (ocean90)
57a589fef5 Docs: Fix @return type for wp_get_current_user() after [36313].
See #19615.

git-svn-id: https://develop.svn.wordpress.org/trunk@36314 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-15 11:15:51 +00:00
Pascal Birchler
40c948c1a6 Users: Always return $current_user in wp_get_current_user(), never a boolean.
Fixes unit tests affected by [36311].

See #19615.

git-svn-id: https://develop.svn.wordpress.org/trunk@36313 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-15 10:46:38 +00:00
Pascal Birchler
c7ae3fb3ee Users: Deprecate the get_currentuserinfo() pluggable function.
It encourages an ugly pattern like `global $userdata; get_currentuserinfo();` in plugins/themes. `wp_get_current_user()` should be used instead, e.g. `$current_user = wp_get_current_user();`.

Props scribu for initial patch.
Fixes #19615.

git-svn-id: https://develop.svn.wordpress.org/trunk@36311 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-15 10:15:21 +00:00
Eric Andrew Lewis
2670f66c76 Login is not a verb, change "login" to "log in".
See #35387


git-svn-id: https://develop.svn.wordpress.org/trunk@36246 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-09 21:07:44 +00:00
Eric Andrew Lewis
fb1852fe5c Users: Fix incorrect docs for user authentication and login functions.
Fixes #35387


git-svn-id: https://develop.svn.wordpress.org/trunk@36245 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-09 20:51:13 +00:00
Sergey Biryukov
5502d59fb9 Docs: Fix typo in a comment in wp_rand().
Props boluda.
Fixes #35228.

git-svn-id: https://develop.svn.wordpress.org/trunk@36102 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-26 11:06:47 +00:00
Drew Jaynes
649644ff00 Docs: Add missing parameter and return notations to the DocBlock for _wp_sanitize_utf8_in_redirect().
See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@35980 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-16 23:14:12 +00:00
John Blackbourn
860aa2dd98 Add missing @param docs to wp_safe_redirect() and wp_sanitize_redirect().
See #32246


git-svn-id: https://develop.svn.wordpress.org/trunk@35914 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-14 02:42:29 +00:00
John Blackbourn
cb068034ee Add missing @param doc to wp_hash().
See #32246


git-svn-id: https://develop.svn.wordpress.org/trunk@35913 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-14 02:38:10 +00:00
John Blackbourn
a8ee60eebc Add missing @param doc to wp_check_password() and update the check_password filter docs.
See #32246


git-svn-id: https://develop.svn.wordpress.org/trunk@35909 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-14 02:29:04 +00:00
Aaron D. Campbell
57408e271a Consider both home and site domains to be valid in wp_validate_redirect().
Props layotte.
Fixes #34028.


git-svn-id: https://develop.svn.wordpress.org/trunk@35792 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-06 21:16:12 +00:00
Dominik Schilling (ocean90)
d1ec5b6ac3 Passwords: Support the pre-4.3 behavior of wp_new_user_notification().
Hello, it's me again. A pluggable function named `wp_new_user_notification()`. A few months ago, after [33023], I have lost my second parameter `$plaintext_pass`. But thanks to [33620] I got a new one.
Bad idea - It hasn't had the same behavior as my previous parameter.
To solve that the second parameter got deprecated and reintroduced as the third parameter in [34116]. I was happy again, for a short time.
You remember my lost friend `$plaintext_pass`? No? Well, if its value was empty no notification was sent to the user. This behavior was still lost. And that's what this change is about: Don't notify a user if a plugin uses `wp_new_user_notification( $user_id )`.

You're asking if I'm happy now? Dunno, but maybe you have learned something about pluggable functions, have you?

Props danielbachhuber.
Fixes #34377.

git-svn-id: https://develop.svn.wordpress.org/trunk@35735 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-24 23:06:03 +00:00
Scott Taylor
2b11f8cc1c Mail: in wp_notify_postauthor() and wp_notify_moderator(), ensure that special chars aren't HTML-encoded in the email message body.
Props solarissmoke, leemon.
Fixes #12584.


git-svn-id: https://develop.svn.wordpress.org/trunk@35415 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-28 18:02:41 +00:00
Dion Hulse
3a992e266f Update to Random_Compat 1.0.9.
This update includes fixes for Windows support & libSodium support, and removes the `Throwable` Polyfill due to PHP7 incompatibilities. 

Fixes #28633


git-svn-id: https://develop.svn.wordpress.org/trunk@35365 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-23 04:21:01 +00:00
Drew Jaynes
1a7298861b Comments: Introduce two new filters, notify_moderator and notify_post_author, both of which make it possible to selectively override site notification email settings for new comments.
The `notify_moderator` filter makes it possible to override the value for the `moderation_notify` option, which controls whether to send new comment emails to "site moderators", that is to say, the owner of the admin email for the site and the post author if they have the ability to modify the comment.

The `notify_post_author` filter likewise makes it possible to override the value for the `comments_notify` option, which controls whether to send new comment emails to the post author. If the post author is the comment author, default behavior is not to send the notification. Note: enabling or disabling notifications via this hook could also affect other recipients added via the 'comment_notification_recipients' filter in `wp_notify_postauthor()`, if hooked.

Passing a falsey value to either of the new filters will prevent notifications from being sent, regardless of their corresponding option values.

Adds tests.

Props coffee2code, adamsilverstein, DrewAPicture.
Fixes #761.


git-svn-id: https://develop.svn.wordpress.org/trunk@35339 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-21 18:34:06 +00:00
Drew Jaynes
0cb7c0bd9f Docs: Add missing descriptions for the $wpdb global in DocBlocks all the places.
See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@35170 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-14 23:43:10 +00:00
Sergey Biryukov
eeea5d753a Fix typo in get_avatar() and get_avatar_data() docs.
Props johnjamesjacoby.
Fixes #34232.

git-svn-id: https://develop.svn.wordpress.org/trunk@34988 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-09 15:51:37 +00:00
Sergey Biryukov
873dacf4a4 Fix typo in wp_rand() docs.
See #28633.

git-svn-id: https://develop.svn.wordpress.org/trunk@34986 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-09 05:19:31 +00:00
Dion Hulse
5700c3e060 Use PHP7's random_int() CSPRNG functionality in wp_rand() with a fallback to the random_compat library for PHP 5.x.
`random_compat` offers a set of compatible functions for older versions of PHP, filling in the gap by using other PHP extensions when available.
We still include our existing `wp_rand()` functionality as a fallback for when no proper CSPRNG exists on the system.

Take Two, this was previously committed in [34922] but had an issue on PHP 5.2 which sarciszewski has now resolved.

Props sarciszewski
See #28633


git-svn-id: https://develop.svn.wordpress.org/trunk@34981 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-09 04:27:41 +00:00
Boone Gorges
a1389117b2 Allow a null id to do a name lookup in wp_set_current_user().
Previously, the `name` fallback was failing in the case where the current user
was 0, due to a loose comparison between 0 (the current user) and `null` (the
value that is used to trigger the `name` fallback).

Props bobbingwide.
Fixes #20845.

git-svn-id: https://develop.svn.wordpress.org/trunk@34947 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-08 17:28:34 +00:00
Dion Hulse
ebbe91ad8d Revert [34922] pending PHP 5.2 compatibility.
See #28633


git-svn-id: https://develop.svn.wordpress.org/trunk@34924 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-08 00:16:07 +00:00
Dion Hulse
ffb7ae1389 Use PHP7's random_int() CSPRNG functionality in wp_rand() with a fallback to the random_compat library for PHP 5.x.
`random_compat` offers a set of compatible functions for older versions of PHP, filling in the gap by using other PHP extensions when available.
We still include our existing `wp_rand()` functionality as a fallback for when no proper CSPRNG exists on the system.

Props sarciszewski
See #28633


git-svn-id: https://develop.svn.wordpress.org/trunk@34922 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-08 00:01:26 +00:00
Jeremy Felt
599fb50e09 Revert [34778], continue using _site_option() for the current network.
The `_network_option()` parameter order will be changing to accept `$network_id` first. The `_site_option()` functions will remain in use throughout core as our way of retrieving a network option for the current network.

See #28290.


git-svn-id: https://develop.svn.wordpress.org/trunk@34912 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-07 17:11:01 +00:00
Jeremy Felt
3c177b8c6f MS: Use *_network_option() functions throughout core.
Replaces all uses of `*_site_option()` with the corresponding "network" function.

This excludes one usage in `wp-admin/admin-footer.php` that needs more investigation.

Props spacedmonkey.
See #28290.


git-svn-id: https://develop.svn.wordpress.org/trunk@34778 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-02 19:07:23 +00:00
Scott Taylor
ed7d34cb13 Pass false as the 2nd argument to class_exists() to disable autoloading and to not cause problems for those who define __autoload().
Fixes #20523.


git-svn-id: https://develop.svn.wordpress.org/trunk@34348 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-20 03:51:55 +00:00
Scott Taylor
2d11d6cd90 After [34160], also upgrade objects passed to get_avatar().
See #32619.



git-svn-id: https://develop.svn.wordpress.org/trunk@34244 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-16 17:33:34 +00:00
Sergey Biryukov
9ab1dfd03e Docs: Fix some syntactical issues with the DocBlock for wp_mail_failed action, introduced in [34221].
Fixes #18926.

git-svn-id: https://develop.svn.wordpress.org/trunk@34239 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-16 15:12:42 +00:00
Aaron Jorbin
bf5f316668 Fire Action when mail exception is thrown.
new action is wp_mail_failed which contains a WP_Error object with the phpmailerException code, message and an array with the mail information. Plugins can hook in and log when mails fail to send due to a phpmailer issue.

Props soulseekah
Fixes #18926



git-svn-id: https://develop.svn.wordpress.org/trunk@34221 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-15 23:50:30 +00:00
Scott Taylor
166ee8674b More comment functions can accept a full object instead of comment_ID to reduce cache/db lookups.
See ##33638.



git-svn-id: https://develop.svn.wordpress.org/trunk@34129 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-14 21:39:46 +00:00
Boone Gorges
974517d2bc Accept 'ID' as a valid $field in get_user_by().
We already accept 'id'. `ID` more closely matches the database and
`WP_User` schemas.

Props Shelob9.
Fixes #33869.

git-svn-id: https://develop.svn.wordpress.org/trunk@34125 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-14 18:57:15 +00:00
Dominik Schilling (ocean90)
08098026ce Passwords: Deprecate second parameter of wp_new_user_notification().
The second parameter `$plaintext_pass` was removed in [33023] and restored as `$notify` in [33620] with a different behavior. If you have a plugin overriding `wp_new_user_notification()` which hasn't been updated you would get a notification with your username and the password "both".
To prevent this the second parameter is now deprecated and reintroduced as the third parameter.

Adds unit tests.

Props kraftbj, adamsilverstein, welcher, ocean90.
Fixes #33654.

(Don't ask for new pluggables kthxbye)

git-svn-id: https://develop.svn.wordpress.org/trunk@34116 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-14 12:42:34 +00:00
Boone Gorges
6064924c18 Send password-change email notifications via hook.
`wp_password_change_notification()` is now called at the 'after_password_reset'
action, rather than being invoked directly from the `reset_password()` function.

In order to make it possible to call `wp_password_change_notification()` as a
`do_action()` callback, the function signature has to be changed so that the
`$user` parameter is expected to be a value rather than a reference. Since
PHP 5.0, objects are passed by reference, so `&$user` was unnecessary anyway.

Props dshanske, thomaswm.
See #33587.

git-svn-id: https://develop.svn.wordpress.org/trunk@34107 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-14 02:44:41 +00:00
Dominik Schilling (ocean90)
1fc0462bac Users: Import the global var $wp_hasher in wp_new_user_notification().
Adds `@global` entries to the DocBlock.

Fixes #33826.

git-svn-id: https://develop.svn.wordpress.org/trunk@34052 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-11 19:09:12 +00:00
Scott Taylor
5cce4a3262 After [33961], pass $comment to get_comment_link() where possible to avoid extra cache/db lookups.
See #33638.


git-svn-id: https://develop.svn.wordpress.org/trunk@34042 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-11 06:20:56 +00:00
Scott Taylor
4cd30ede79 After [34015], handle orphaned comments in the Dashboard comments widget. Pass full $comment versus just passing the comment ID when possible.
See #33710.


git-svn-id: https://develop.svn.wordpress.org/trunk@34038 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-11 05:55:27 +00:00
Scott Taylor
60ba8b05e4 Introduce WP_Comment class to model/strongly-type rows from the comments database table. Inclusion of this class is a pre-req for some more general comment cleanup and sanity.
* Takes inspiration from `WP_Post` and adds sanity to comment caching. 
* Clarifies when the current global value for `$comment` is returned. The current implementation in `get_comment()` introduces side effects and an occasion stale global value for `$comment` when comment caches are cleaned.
* Strongly-types `@param` docs
* This class is marked `final` for now

Props wonderboymusic, nacin.

See #32619.


git-svn-id: https://develop.svn.wordpress.org/trunk@33891 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-03 18:16:35 +00:00
Drew Jaynes
f995a3cb96 Docs: Clarify the DocBlock summary for wp_create_nonce() to mention that nonce-creation is also now dependent on user tokens, as of [29221].
Also adds a changelog entry for when user tokens were introduced into the nonce-creation process.

Props ericlewis
Fixes #33636.


git-svn-id: https://develop.svn.wordpress.org/trunk@33827 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-31 20:49:49 +00:00
Helen Hou-Sandi
0c19c94561 Drop the hyphen from e-mail and standardize on email.
The AP Stylebook changed this in 2011, and we're woefully inconsistent, so let's go with the standard.

props morganestes, voldemortensen, niallkennedy (for patching on the previous AP style).
fixes #26156.


git-svn-id: https://develop.svn.wordpress.org/trunk@33774 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-28 03:16:02 +00:00
Sergey Biryukov
b935049f24 Add 'wp_verify_nonce_failed' action that fires when nonce verification fails.
props johnbillion, garza, Shelob9.
fixes #24030.

git-svn-id: https://develop.svn.wordpress.org/trunk@33744 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-26 00:05:11 +00:00
Sergey Biryukov
4bc9b3db6d Fire the check_ajax_referer action on failure as well as success.
See [33017] for `check_admin_referer`.

props egill.
fixes #33342.

git-svn-id: https://develop.svn.wordpress.org/trunk@33743 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-25 23:24:39 +00:00
Scott Taylor
3b8c5529cb foreach is a statement, not a function.
See #33491.


git-svn-id: https://develop.svn.wordpress.org/trunk@33734 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-25 20:27:56 +00:00
Scott Taylor
36a9be2af5 In wp_sanitize_redirect(), don't eat @ characters. According to RFC 3986, "@" is a perfectly valid character in a URL path or query string.
Adds unit test.

Props markjaquith.
Fixes #18818.


git-svn-id: https://develop.svn.wordpress.org/trunk@33707 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-22 17:04:17 +00:00
Drew Jaynes
ad2afcd0d9 Docs: Mark the $notify parameter in the DocBlock for wp_new_user_notification() as optional, and provide additional context on the difference between the accepted values.
See [33620] and [33023] for background.

See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@33664 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-20 18:26:00 +00:00
Konstantin Obenland
e7a203cdf2 Passwords: Restore second parameter for wp_new_user_notification().
After [33023] users would always be notified, this restores previous behavior.

Props markjaquith, ocean90.
Fixes #33358.



git-svn-id: https://develop.svn.wordpress.org/trunk@33620 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-17 14:24:43 +00:00
Konstantin Obenland
05c4803450 Passwords: New UI for install screen.
Also synchronises the use of `pw_weak` as an input name and removes trailing
periods from checkbox labels.

Props MikeHansenMe, adamsilverstein, obenland.
See #32589.



git-svn-id: https://develop.svn.wordpress.org/trunk@33246 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-13 22:21:39 +00:00
Drew Jaynes
12a932b177 Fix the parameter description syntax in the hook docs for the wp_safe_redirect_fallback filter, added in 4.3.
See #32891.


git-svn-id: https://develop.svn.wordpress.org/trunk@33233 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-13 21:45:26 +00:00