Commit Graph

174 Commits

Author SHA1 Message Date
Dion Hulse
bc231804a3 Mail: In PHPMailer 5.2.7 the case of the Send() method changed to send(), update our call for consistency with the library.
Props michalzuber.
Fixes #39469.


git-svn-id: https://develop.svn.wordpress.org/trunk@39691 602fd350-edb4-49c9-b593-d223f7449a82
2017-01-05 08:09:06 +00:00
Dion Hulse
247e08e84a Mail: Ensure that any phpmailerException exceptions generated by setFrom() are caught to avoid PHP Fatal errors.
This change avoids a PHP fatal error that can be encountered when the specified (or generated) source email is an invalid address, such as `wordpress@_`, it makes no effort to set a valid source, only avoid the fatal error.

See #25239 for correcting the email address.
Fixes #39360.


git-svn-id: https://develop.svn.wordpress.org/trunk@39655 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-30 06:43:07 +00:00
John Blackbourn
8512036e4e Docs: Misc corrections and additions to inline documentation.
See #39130
Props keesiemeijer


git-svn-id: https://develop.svn.wordpress.org/trunk@39639 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-27 09:27:38 +00:00
John Blackbourn
347040745d I18n: Introduce more translator comments for strings that contain placeholders but don't have an accompanying translator comment.
See #38882


git-svn-id: https://develop.svn.wordpress.org/trunk@39326 602fd350-edb4-49c9-b593-d223f7449a82
2016-11-21 02:45:53 +00:00
John Blackbourn
f6f0e6098d I18n: Begin introducing translator comments for strings which include placeholders but no accompanying translator comment.
Adds context to one string used in two different contexts for the new user and new site signup email notification.

More to come.

See #38882


git-svn-id: https://develop.svn.wordpress.org/trunk@39323 602fd350-edb4-49c9-b593-d223f7449a82
2016-11-21 01:21:01 +00:00
Helen Hou-Sandi
5af14c3e07 Mail: Set a better error code when triggering wp_mail_failed.
This error code is now... wait for it... `wp_mail_failed`. Previously, this would have been the originating PHPMailer error code, which could be `0`, which would then fail (pass?) the `empty()` check in the `WP_Error` constructor, thereby rendering the error object fairly useless. The PHPMailer error code is now located within the `WP_Error` data.

props Kau-Boy, stephenharris.
fixes #35598.


git-svn-id: https://develop.svn.wordpress.org/trunk@39086 602fd350-edb4-49c9-b593-d223f7449a82
2016-11-02 04:26:18 +00:00
Drew Jaynes
297076eda4 Docs: Fix multiple trivial typos throughout a variety of core files.
Props ottok.
Fixes #38489.


git-svn-id: https://develop.svn.wordpress.org/trunk@39051 602fd350-edb4-49c9-b593-d223f7449a82
2016-10-31 06:27:53 +00:00
Dominik Schilling (ocean90)
9e3f6d338b I18N: Introduce a locale-switching function.
With the introduction of user-specific languages in [38705] it's necessary to be able to switch translations on the fly. For example emails should be sent in the language of the recipient and not the one of the current user.

This introduces a new `WP_Locale_Switcher` class which is used for switching locales and translations. It holds the stack of locales whenever `switch_to_locale( $locale )` is called. With `restore_previous_locale()` you can restore the previous locale. `restore_current_locale()` empties the stack and sets the locale back to the initial value.

`switch_to_locale()` is added to most of core's email functions, either with the value of `get_locale()` (site language) or `get_user_locale()` (user language with fallback to site language).

Props yoavf, tfrommen, swissspidy, pbearne, ocean90.
See #29783.
Fixes #26511.

git-svn-id: https://develop.svn.wordpress.org/trunk@38961 602fd350-edb4-49c9-b593-d223f7449a82
2016-10-26 15:35:58 +00:00
Scott Taylor
cba0e2c8f7 Bootstrap: do not go gentle into that good night r38411, r38412, and parts of r38389.
See #36335.


git-svn-id: https://develop.svn.wordpress.org/trunk@38470 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-31 16:30:48 +00:00
John Blackbourn
289581e280 Security: Return a 403 instead of a 200 HTTP status when check_ajax_referer() fails.
This is, unfortunately, untestable in the current test suite, even in the AJAX tests.

Fixes #36362


git-svn-id: https://develop.svn.wordpress.org/trunk@38421 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-28 17:30:29 +00:00
John Blackbourn
a03376e798 Security: Trigger a _doing_it_wrong() when check_ajax_referer() is called without its first parameter. This brings it inline with check_admin_referer().
Fixes #36361


git-svn-id: https://develop.svn.wordpress.org/trunk@38420 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-28 17:14:52 +00:00
Scott Taylor
4225e71a6b Bootstrap: after r38409 and r38410, revert r38402 which reverted r38399.
This fixes the paths in `wp-vendor/` that were including `src`. I want to drop this in so we can find out what else will break.

See #36335.


git-svn-id: https://develop.svn.wordpress.org/trunk@38411 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-27 22:31:11 +00:00
Dion Hulse
e353179ce5 Bootstrap: Revert [38399] as it's broken /build/ and subsequently core.svn.wordpress.org.
The generated classmaps reference `/src/` files and operates in the assumption that the base directory is one level above `wp-settings.php`, which it isn't after our build processes are run.

See #36335


git-svn-id: https://develop.svn.wordpress.org/trunk@38402 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-27 14:36:42 +00:00
Scott Taylor
388690382c Bootstrap: Autoload classes using a Composer-generated PHP 5.2-compatible Autoloader.
* `wp-admin` and `wp-includes` are scanned for classes to autoload
* Several 3rd-party and Ryan McCue-shaped libraries are excluded when the classmap is generated, see `composer.json`: `autoload.exclude-from-classmap`
* `wp-vendor/autoload_52.php` is included at the top of `wp-settings.php` - no changes need to be made to unit tests to include the autoloader
* An avalanche of `require()` and `require_once()` calls that loaded class files have been removed from the codebase.

The following files have been added to `svn:ignore` - they are not 5.2-compatible and fail during pre-commit:
* src/wp-vendor/autoload.php
* src/wp-vendor/composer/autoload_real.php
* src/wp-vendor/composer/autoload_static.php
* src/wp-vendor/composer/ClassLoader.php

We favor these files instead:
* src/wp-vendor/autoload_52.php
* src/wp-vendor/composer/autoload_real_52.php
* src/wp-vendor/composer/ClassLoader52.php

When new PHP classes are added to the codebase, simply run `composer install` or `composer update` from the project root to update the autoloader.

The future is now.

See #36335.


git-svn-id: https://develop.svn.wordpress.org/trunk@38399 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-27 09:15:01 +00:00
Scott Taylor
3a4811afb4 Load: load class-phpass.php (PasswordHash class) early in wp-settings.php, instead of require_once()'ing it in several places.
See #36335.


git-svn-id: https://develop.svn.wordpress.org/trunk@38371 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-26 17:39:37 +00:00
Drew Jaynes
66ac1f40ed Docs: Add a missing parenthesis in an example in the DocBlock for wp_redirect().
Props shayanys.
See #37770.


git-svn-id: https://develop.svn.wordpress.org/trunk@38350 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-25 07:35:15 +00:00
Scott Taylor
3aee745492 AJAX: add a new function, wp_doing_ajax(), which can replace... (wait for it...) DOING_AJAX checks via the constant.
Props Mte90, sebastian.pisula, swissspidy.
Fixes #25669.


git-svn-id: https://develop.svn.wordpress.org/trunk@38334 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-23 14:32:18 +00:00
Boone Gorges
54b51f1a26 Mail: Don't set Sender field when setting From.
[38058] changed `wp_mail()` so that it used PHPMailer's `setFrom()`
method rather than setting the From and FromName headers directly. See
behavior of setting the `Sender` field. This causes `mail` to be
called with the `-f` flag, which causes outgoing email to fail on some
server environments.

Props Clorith, iandunn, DrewAPicture.
Fixes #37736.

git-svn-id: https://develop.svn.wordpress.org/trunk@38286 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-20 02:16:54 +00:00
Boone Gorges
af068cdbe0 Mail: Improve handling of UTF-8 address headers.
Previously, `wp_mail()` implemented Reply-To as a generic header, using
PHPMailer's `addCustomHeader()`. As such, the email address portion of
the header was being incorrectly encoded when the name portion
contained UTF-8 characters. Switching to PHPMailer's more specific
`addReplyTo()` method fixes the issue.

For greater readability, the handling of all address-related headers
(To, CC, BCC, Reply-To) has been standardized.

Props szepe.viktor, iandunn, bpetty, stephenharris.
Fixes #21659.

git-svn-id: https://develop.svn.wordpress.org/trunk@38058 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-13 18:03:52 +00:00
Drew Jaynes
5cf0ef170a Docs: Standardize capitalization of Ajax throughout core documentation per the core spelling guide.
Ajax, while considered an acronym for Asynchronous JavaScript and XML, is most commonly capitalized only in the first character.

Part props ocean90.
See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@38028 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-10 00:50:21 +00:00
Sergey Biryukov
920f29616a Docs: Use 3-digit, x.x.x-style semantic versioning for _doing_it_wrong(), _deprecated_function(), _deprecated_argument(), and _deprecated_file() throughout core.
Props metodiew.
Fixes #36495.

git-svn-id: https://develop.svn.wordpress.org/trunk@37985 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-06 12:39:01 +00:00
Drew Jaynes
8a7a62bb11 Docs: Add two simple usage examples to the DocBlock for wp_redirect().
See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@37863 602fd350-edb4-49c9-b593-d223f7449a82
2016-06-26 07:45:31 +00:00
Sergey Biryukov
62733745df Text Changes: Simplify two strings in wp_password_change_notification().
Add translator comments.

Props ramiy.
See #35736.

git-svn-id: https://develop.svn.wordpress.org/trunk@37704 602fd350-edb4-49c9-b593-d223f7449a82
2016-06-14 22:08:02 +00:00
Jeremy Felt
727a94b710 Admin: Allow for the consistent filtering of auth_redirect_scheme
Fixes #37047.


git-svn-id: https://develop.svn.wordpress.org/trunk@37651 602fd350-edb4-49c9-b593-d223f7449a82
2016-06-07 20:48:24 +00:00
Drew Jaynes
9531107084 Docs: Apply inline @see tags to hooks referenced in DocBlocks in a variety of wp-includes/* files.
Applying these specially-crafted `@see` tags allows the Code Reference parser to recognize and link these elements as actions and filters.

Fixes #36921.


git-svn-id: https://develop.svn.wordpress.org/trunk@37544 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-23 19:01:40 +00:00
Drew Jaynes
e66f4fc503 Docs: Standardize filter docs in wp-includes/pluggable.php to use third-person singular verbs per the inline documentation standards for PHP.
See #36913.


git-svn-id: https://develop.svn.wordpress.org/trunk@37508 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-22 18:34:03 +00:00
Eric Andrew Lewis
ff8553ea6b Users: Correct inline docs for cookie expiration.
Props kjbenk.
Fixes #35568.


git-svn-id: https://develop.svn.wordpress.org/trunk@37315 602fd350-edb4-49c9-b593-d223f7449a82
2016-04-27 02:51:31 +00:00
Sergey Biryukov
cbe4f5d9c7 Users: In wp_new_user_notification(), sdd 'user' option for the $notify parameter, which allows for sending notification only to the user created.
Props akibjorklund.
Fixes #36009.

git-svn-id: https://develop.svn.wordpress.org/trunk@37276 602fd350-edb4-49c9-b593-d223f7449a82
2016-04-21 10:19:42 +00:00
Drew Jaynes
121bbc3b96 Docs: Improve 4.5 changelog entries introduced in [36992] for wp_authenticate(), and the authenticate and wp_login_failed hooks.
See #9568. See #35986.


git-svn-id: https://develop.svn.wordpress.org/trunk@37030 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-17 08:05:51 +00:00
John Blackbourn
6c972cbaff Users: Add @since entries to wp_authenticate() and its filters now that the $username parameter can also be an email address.
See #9568, #35986


git-svn-id: https://develop.svn.wordpress.org/trunk@36992 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-14 22:30:31 +00:00
Sergey Biryukov
711b9d9227 Docs: Correct filter reference in pre_get_avatar filter description.
Props henry.wright.
Fixes #36031.

git-svn-id: https://develop.svn.wordpress.org/trunk@36800 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-02 03:40:42 +00:00
Dominik Schilling (ocean90)
9a7488aaf8 Spelling: Standardize on "front end"/"back end" (noun) and "front-end"/"back-end" (adjective).
Props obrienlabs, thewanderingbrit.
Fixes #34887.

git-svn-id: https://develop.svn.wordpress.org/trunk@36709 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-25 12:52:33 +00:00
Drew Jaynes
f90a37805d Docs: Make a few syntactical improvements to the DocBlock for _wp_get_current_user(), introduced in [36651].
Includes a cross reference from the DocBlock for `wp_get_current_user()`, which itself is pluggable, but the new internal function is not.

See #19615. See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@36705 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-25 05:06:39 +00:00
Sergey Biryukov
516756e370 Mail: Correct compact() usage in wp_mail().
Props Ankit K Gupta, maweder.
Fixes #35781 for trunk.

git-svn-id: https://develop.svn.wordpress.org/trunk@36688 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-24 17:37:36 +00:00
Pascal Birchler
7fdb345958 Users: Introduce _wp_get_current_user() for improved backward compatibility.
This new helper function is used by the pluggable functions `wp_get_current_user()` and `get_currentuserinfo()`, which was previously being called by the former before [36311]. Without it, infinite loops could be caused when plugins implement these functions, as they are now called the other way around.

Fixes #19615.

git-svn-id: https://develop.svn.wordpress.org/trunk@36651 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-23 22:25:32 +00:00
Dominik Schilling (ocean90)
12cf07c669 Authentication: Allow users to log in using their email address.
Introduces `wp_authenticate_email_password()` which is hooked into `authenticate` after `wp_authenticate_username_password()`.

Props Denis-de-Bernardy, ericlewis, vhomenko, MikeHansenMe, swissspidy, ocean90.
Fixes #9568.

git-svn-id: https://develop.svn.wordpress.org/trunk@36617 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-22 23:14:27 +00:00
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