Commit Graph

40005 Commits

Author SHA1 Message Date
Sergey Biryukov
349e9f56c1 Date/Time: Use PHP DateTime class API in current_time().
Only use the legacy WP timestamp approach (a sum of timestamp and timezone offset) for `timestamp` and `U` formats without the `$gmt` flag.

Otherwise, make sure the function returns correct local time for any format.

Props Rarst, jdgrimes.
Fixes #40653.
Built from https://develop.svn.wordpress.org/trunk@45856


git-svn-id: http://core.svn.wordpress.org/trunk@45667 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-19 21:07:50 +00:00
Sergey Biryukov
26f8b67e35 Coding Standards: Use long array syntax in Tests_WP_Timezone::timezone_offset_provider().
Per https://make.wordpress.org/core/2019/07/12/php-coding-standards-changes/, arrays must be declared using long array syntax for clarity.

See #24730.
Built from https://develop.svn.wordpress.org/trunk@45855


git-svn-id: http://core.svn.wordpress.org/trunk@45666 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-19 21:06:55 +00:00
Sergey Biryukov
46ca606114 Coding Standards: Use KB_IN_BYTES in get_file_data().
See #22405, #47632.
Built from https://develop.svn.wordpress.org/trunk@45854


git-svn-id: http://core.svn.wordpress.org/trunk@45665 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-19 20:10:55 +00:00
Sergey Biryukov
4896dc64ee Date/Time: Introduce wp_timezone_string() and wp_timezone() for unified timezone retrieval.
* `wp_timezone_string()` retrieves the timezone from current settings as a string. Uses the `timezone_string` option to get a proper timezone if available, otherwise falls back to an offset.
* `wp_timezone()` retrieves the timezone from current settings as a `DateTimeZone` object. Timezone can be based on a PHP timezone string or a `±HH:MM` offset.

Props Rarst, remcotolsma, johnjamesjacoby, rmccue.
Fixes #24730.
Built from https://develop.svn.wordpress.org/trunk@45853


git-svn-id: http://core.svn.wordpress.org/trunk@45664 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-19 19:08:59 +00:00
Sergey Biryukov
82af4ad1c0 Coding Standards: Fix WPCS violations in [45851].
See #25347.
Built from https://develop.svn.wordpress.org/trunk@45852


git-svn-id: http://core.svn.wordpress.org/trunk@45663 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-19 16:35:56 +00:00
Sergey Biryukov
a58eaa9424 Date/Time: In wp_insert_post(), when checking the post date to set future or publish status, use string comparison to work around far future dates (year 2038+) on 32-bit systems.
Props Rarst, nofearinc.
Fixes #25347.
Built from https://develop.svn.wordpress.org/trunk@45851


git-svn-id: http://core.svn.wordpress.org/trunk@45662 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-19 15:50:56 +00:00
Sergey Biryukov
3541c5d74c Date/Time: In WP_Date_Query::__construct(), return early if $date_query is empty or not an array.
Props vishalkakadiya.
Fixes #47392.
Built from https://develop.svn.wordpress.org/trunk@45850


git-svn-id: http://core.svn.wordpress.org/trunk@45661 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-19 15:17:56 +00:00
Gary Pendergast
7a92316fd8 Tests: Add an xdebug group for tests that require xdebug.
These tests are now also run as their own part of the Travis build, to ensure performance of other tests isn't affected by the presence of xdebug.

Fixes #40532.


Built from https://develop.svn.wordpress.org/trunk@45827


git-svn-id: http://core.svn.wordpress.org/trunk@45638 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-19 02:18:56 +00:00
Tammie Lister
a760ef9022 Multisite: Remove truncation to allow clearers identification of longer site names
Previously the sites were truncated which meant longer names but with ending identifications were unable to be seen as different. This shows the full site name to allow easier understanding.

Props tferry, melinedo, afercia, jeremyfelt
Fixes: 47112

Built from https://develop.svn.wordpress.org/trunk@45826


git-svn-id: http://core.svn.wordpress.org/trunk@45637 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-18 12:31:00 +00:00
Sergey Biryukov
d9954ed4cb Privacy: Add descriptions for sections in a personal data export file.
Props garrett-eclipse, Venutius, karmatosed.
Fixes #45491.
Built from https://develop.svn.wordpress.org/trunk@45825


git-svn-id: http://core.svn.wordpress.org/trunk@45636 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-18 02:07:57 +00:00
Sergey Biryukov
53f5b172ab Plugins: Adjust margin for plugin headings on "Add Plugins" screen to avoid overlapping with "Network Activate" button.
Props justinahinon, chetan200891.
Fixes #47600.
Built from https://develop.svn.wordpress.org/trunk@45824


git-svn-id: http://core.svn.wordpress.org/trunk@45635 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-17 14:33:56 +00:00
Sergey Biryukov
cde194a21e Pings/Trackbacks: In wp_xmlrpc_server::pingback_ping(), strip inline JS and CSS while trying to figure out the pingback context.
Props david.binda.
Fixes #47283.
Built from https://develop.svn.wordpress.org/trunk@45823


git-svn-id: http://core.svn.wordpress.org/trunk@45634 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-17 13:59:55 +00:00
Sergey Biryukov
aa8e2ff3ba Docs: Improve documentation for wp_set_auth_cookie() and related functions.
Props arafat, SergeyBiryukov.
Fixes #47886.
Built from https://develop.svn.wordpress.org/trunk@45822


git-svn-id: http://core.svn.wordpress.org/trunk@45633 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-17 13:23:55 +00:00
John Blackbourn
3796b7da13 Docs: Add a missing return type.
See #47110

Built from https://develop.svn.wordpress.org/trunk@45821


git-svn-id: http://core.svn.wordpress.org/trunk@45632 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-16 19:35:58 +00:00
K. Adam White
ca070acae3 Add @ticket annotations for [45812].
Props birgire.
See #43709.


Built from https://develop.svn.wordpress.org/trunk@45820


git-svn-id: http://core.svn.wordpress.org/trunk@45631 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-16 03:33:55 +00:00
Gary Pendergast
ea64ea7c96 Build Tools: Improve local-env start behaviour under Docker Toolbox.
Docker Toolbox requires port forwarding to be configured, but generates error when trying to forward a port that's already been taken.

This change removes clashing port forwarding rules before adding our own.

See #47767.


Built from https://develop.svn.wordpress.org/trunk@45819


git-svn-id: http://core.svn.wordpress.org/trunk@45630 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-16 01:40:54 +00:00
Sergey Biryukov
be6bbe4b5d Administration: Replace legacy updated message type in add_settings_error() calls with success.
See #44640.
Built from https://develop.svn.wordpress.org/trunk@45818


git-svn-id: http://core.svn.wordpress.org/trunk@45629 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-16 00:39:55 +00:00
Sergey Biryukov
3f1186166d Taxonomy: In feed_links_extra() and get_the_archive_title(), make sure the queried taxonomy term exists before accessing its properties.
Props donmhico, truchot, zaantar.
Fixes #46420.
Built from https://develop.svn.wordpress.org/trunk@45817


git-svn-id: http://core.svn.wordpress.org/trunk@45628 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-16 00:24:54 +00:00
Sergey Biryukov
06d264d032 Coding Standards: In wlwmanifest_link(), use concatenation instead of commas for echo, for consistency with rsd_link() and the rest of core.
See #47632.
Built from https://develop.svn.wordpress.org/trunk@45816


git-svn-id: http://core.svn.wordpress.org/trunk@45627 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-16 00:21:56 +00:00
K. Adam White
34bc7ab089 REST API: Add @ticket annotation to test from [45813].
Props birgire.
See #42209.

Built from https://develop.svn.wordpress.org/trunk@45815


git-svn-id: http://core.svn.wordpress.org/trunk@45626 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-15 23:09:54 +00:00
Sergey Biryukov
e5deae5e78 Administration: In add_settings_error(), add warning and info as possible values for message type.
Account for these new values in `settings_errors()`, resulting in `notice-warning` and `notice-info` CSS classes.

Map legacy `error` and `updated` CSS classes to `notice-error` and `notice-success`.

Props donmhico, toddhalfpenny, flixos90, desrosj, javorszky, SergeyBiryukov.
Fixes #44640, #44941.
Built from https://develop.svn.wordpress.org/trunk@45814


git-svn-id: http://core.svn.wordpress.org/trunk@45625 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-15 23:01:55 +00:00
K. Adam White
7eed5eff61 REST API: Always return post types list in taxonomies endpoint response as an array.
Prevents a non-sequential post type array such as [ 0 => 'post', 2 => 'page' ] from being improperly converted to an object in the taxonomy endpoint's response JSON.

Props TimothyBlynJacobs, birgire, spectacula.
Fixes #42209.

Built from https://develop.svn.wordpress.org/trunk@45813


git-svn-id: http://core.svn.wordpress.org/trunk@45624 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-15 22:12:55 +00:00
K. Adam White
00cb4c7dbd REST API: Prevent deletion of post revisions.
Allowing the client to delete revisions breaks the "audit trail" functionality. This is not allowed in WordPress and shouldn't be allowed through the API.
While not recommended, a plugin may opt-in to the previous behavior by setting a custom 'delete_post' capability for the revisions post type.

Props dlh, danielbachhuber, TimothyBlynJacobs, azaozz, kadamwhite.
Fixes #43709.


Built from https://develop.svn.wordpress.org/trunk@45812


git-svn-id: http://core.svn.wordpress.org/trunk@45623 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-15 22:01:55 +00:00
K. Adam White
5dbb64d0dd REST API: Cache results of get_item_schema on controller instances for performance.
Caches the output of get_item_schema() to avoid redundant recomputation of translatable strings and other computed values. This method is called many times per item in each REST request, and the results of the method should not vary between calls.
Additional schema fields are not cached.

Props kadamwhite, joehoyle, TimothyBlynJacobs.
Fixes #47871.

Built from https://develop.svn.wordpress.org/trunk@45811


git-svn-id: http://core.svn.wordpress.org/trunk@45622 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-15 21:09:55 +00:00
K. Adam White
dbfa0c7ed4 REST API: Clarify arguments passed to rest route get & update callbacks.
Update doc block argument definitions to clarify that the REST API always passes an array to the `get_callback` and always passes an entity object to the `update_callback`.

Props TimothyBlynJacobs, salzano.
Fixes #44432.


Built from https://develop.svn.wordpress.org/trunk@45810


git-svn-id: http://core.svn.wordpress.org/trunk@45621 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-15 20:04:55 +00:00
K. Adam White
8dcc10693f REST API: Do not send response body if status is 204 or body is null.
Status code 204 should indicate no response body is sent. Previously, a "null" string was sent, which MacOS Safari would try to parse as JSON and thereby fail to complete the request.

Props TimothyBlynJacobs, andizer, matthias.thiel.
Fixes #43691.


Built from https://develop.svn.wordpress.org/trunk@45809


git-svn-id: http://core.svn.wordpress.org/trunk@45620 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-15 19:56:55 +00:00
K. Adam White
b75420443c REST API: Add test class file incorrectly omitted from [45807].
Props @TimothyBlynJacobs.
See #43392.

Built from https://develop.svn.wordpress.org/trunk@45808


git-svn-id: http://core.svn.wordpress.org/trunk@45619 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-15 17:21:55 +00:00
K. Adam White
5b318f1dda REST API: Support 'object' and 'array' types in register_meta() schemas.
Extends meta registration to support complex schema values, mirroring the functionality in the settings controller.
Error when trying to modify a meta key containing schema-nonconformant data.

Props @TimothyBlynJacobs, @birgire, @mnelson4, @flixos90.
Fixes #43392.


Built from https://develop.svn.wordpress.org/trunk@45807


git-svn-id: http://core.svn.wordpress.org/trunk@45618 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-15 17:17:55 +00:00
Sergey Biryukov
ab0b860db9 Users: When deleting users, exclude the current user from the content existence check.
The current user cannot be deleted, so the check is redundant in that context and should only be done for other users.

Props mt8.biz, SergeyBiryukov.
Fixes #47851.
Built from https://develop.svn.wordpress.org/trunk@45806


git-svn-id: http://core.svn.wordpress.org/trunk@45617 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-15 13:06:55 +00:00
Gary Pendergast
7169586254 Schema: Add an index to wp_options.autoload.
Most sites will be unaffected by this change, but those with a large number of rows in `wp_options`, only a small number of which have `autoload` set, will see a significant performance improvement.

Sites with a large number of rows in `wp_options`, with many of them having `autoload` set will unfortunately see a performance penalty on top of the already very slow queries they're running, but this should be the minority of cases.

Props DanBUK.
Fixes #24044.

Built from https://develop.svn.wordpress.org/trunk@45805


git-svn-id: http://core.svn.wordpress.org/trunk@45616 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-15 07:13:55 +00:00
Sergey Biryukov
98ffc642a9 Networks and Sites: Trim site domain when creating a new site on Add New Site screen before further validation.
Props dharmin16, jeremyfelt, aubreypwd.
Fixes #44808.
Built from https://develop.svn.wordpress.org/trunk@45804


git-svn-id: http://core.svn.wordpress.org/trunk@45615 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-15 01:21:55 +00:00
Sergey Biryukov
d85ba82d8e Docs: Add missing @since tag for WP_Site_Health::has_late_cron().
See #47223.
Built from https://develop.svn.wordpress.org/trunk@45803


git-svn-id: http://core.svn.wordpress.org/trunk@45614 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-15 00:42:55 +00:00
Peter Wilson
1d7ae02376 Site Health Check: New tests file missed in [45801].
Built from https://develop.svn.wordpress.org/trunk@45802


git-svn-id: http://core.svn.wordpress.org/trunk@45613 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-15 00:37:56 +00:00
Peter Wilson
a56256d158 Site Health Check: Increase time allowance for cron checks.
Introduces `WP_Site_Health::has_late_cron()` for late wp-cron jobs and extends the time allowance before a job is considered missed.

In a standard configuration using loopback requests, a job is considered late once past due and missed over five minutes past due.

Late and missed time frames are extended if `DISABLE_WP_CRON` is defined as `true` to allow for crontab tasks running less frequently. A job is considered late once it's 15 minutes past due and missed over one hour past due.

A file for site health unit tests has been introduced with tests for cron in critical, late and missed states.

Props rockfire, afragen, peterwilsoncc.
Fixes #47223.

Built from https://develop.svn.wordpress.org/trunk@45801


git-svn-id: http://core.svn.wordpress.org/trunk@45612 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-15 00:35:55 +00:00
Gary Pendergast
b8c5530131 Build Tools: Change the PHPUnit Docker image's working directory to match the other images.
Also, pass the `WP_MULTISITE` environment variable along to the container.

See #47767.


Built from https://develop.svn.wordpress.org/trunk@45800


git-svn-id: http://core.svn.wordpress.org/trunk@45611 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-15 00:34:57 +00:00
Gary Pendergast
b473b2241e Build Tools: Run composer commands in a Docker container on Travis.
This tidies up the `.travis.yml` file a little more.

See #47767.


Built from https://develop.svn.wordpress.org/trunk@45799


git-svn-id: http://core.svn.wordpress.org/trunk@45610 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-14 23:12:55 +00:00
Sergey Biryukov
cc8e05df39 Widgets: Allow for short-circuiting widget output in the_widget() using the widget_display_callback filter, for consistency with output via a registered sidebar.
Props MarcGuay, donmhico.
Fixes #34226.
Built from https://develop.svn.wordpress.org/trunk@45798


git-svn-id: http://core.svn.wordpress.org/trunk@45609 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-14 23:03:55 +00:00
Sergey Biryukov
0e1343ee2b Docs: Correct type for query_var argument of register_taxonomy().
Props juiiee8487, audrasjb.
Fixes #47877.
Built from https://develop.svn.wordpress.org/trunk@45797


git-svn-id: http://core.svn.wordpress.org/trunk@45608 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-14 17:47:55 +00:00
Sergey Biryukov
c03a0bea8d Posts, Post Types: In wp_trim_words() make sure the $num_words parameter is always an integer, as documented, to avoid a PHP warning.
Props donmhico, pikamander2.
Fixes #47867.
Built from https://develop.svn.wordpress.org/trunk@45796


git-svn-id: http://core.svn.wordpress.org/trunk@45607 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-14 17:18:55 +00:00
Sergey Biryukov
ae4087bca6 Users: Make wp_list_authors() unit tests more readable.
See #23498.
Built from https://develop.svn.wordpress.org/trunk@45795


git-svn-id: http://core.svn.wordpress.org/trunk@45606 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-14 15:36:57 +00:00
Sergey Biryukov
d6faa62338 Networks and Sites: Improve documentation and variable naming in switch_to_blog() and restore_current_blog().
In `switch_to_blog()`:

* Rename `$blog_id` to `$prev_blog_id` for clarity.
* Rename `$new_blog` to `$new_blog_id` for consistency.
* Pass `$prev_blog_id` as a second parameter to `switch_blog` action, instead of the duplicated `$new_blog_id`. This only clarifies documentation and does not affect functionality, since the values are equal in the context where the DocBlock is located.

In `restore_current_blog()`:

* Rename `$blog` to `$new_blog_id` for clarity.
* Rename `$blog_id` to `$prev_blog_id` for clarity.

Props ChriCo, jeremyfelt, SergeyBiryukov.
Fixes #45594.
Built from https://develop.svn.wordpress.org/trunk@45794


git-svn-id: http://core.svn.wordpress.org/trunk@45605 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-14 14:29:56 +00:00
Sergey Biryukov
428a738f1d Plugins: Adjust the pause before running plugin search AJAX request on "Add Plugins" screen to allow more time for using browser's autocomplete.
Props donmhico, apermo.
Fixes #46021.
Built from https://develop.svn.wordpress.org/trunk@45793


git-svn-id: http://core.svn.wordpress.org/trunk@45604 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-14 02:02:56 +00:00
Sergey Biryukov
3ce3927dc1 Coding Standards: Fix JSHint error in [45790].
See #41545.
Built from https://develop.svn.wordpress.org/trunk@45792


git-svn-id: http://core.svn.wordpress.org/trunk@45603 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-14 00:02:55 +00:00
Sergey Biryukov
4cf729f5a9 Site Health: Simplify the language in Status Health Info page introduction, add a link to Status page.
Props birgire, mukesh27, subrataemfluence, leogermani.
Fixes #46946.
Built from https://develop.svn.wordpress.org/trunk@45791


git-svn-id: http://core.svn.wordpress.org/trunk@45602 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-13 23:35:56 +00:00
Adam Silverstein
3e605d3852 Comments: enable typing cmd/ctrl-enter to submit comment forms.
Add a key handler on the comment form that detects the cmd/ctrl-enter key press and submits the comment form. 

Props xyfi, Lindstromer, helen, splitti.
Fixes #41545.


Built from https://develop.svn.wordpress.org/trunk@45790


git-svn-id: http://core.svn.wordpress.org/trunk@45601 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-13 21:26:56 +00:00
Andrew Ozz
400ed5add0 Remove trailing white space in upgrade.php.
See #46349.
Built from https://develop.svn.wordpress.org/trunk@45789


git-svn-id: http://core.svn.wordpress.org/trunk@45600 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-13 19:53:55 +00:00
Andrew Ozz
197b4a829b Admin email verification:
- Add the `admin_email_lifespan` option when installing. Fixes a bug where the verification screen is shown right after installation.
- Reset the same option when upgrading and the user doing the DB upgrade is not an admin. This will ensure the email verification is shown next time an admin logs in.
- Use `site_url()` instead of `network_site_url()` for the form action. The latter seems needed only for password reset.

See #46349.
Built from https://develop.svn.wordpress.org/trunk@45788


git-svn-id: http://core.svn.wordpress.org/trunk@45599 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-13 17:40:55 +00:00
Peter Wilson
dc2e7e716f Comments: Include post permalink in comment reply link.
Include the post's permalink when generating reply links in `get_comment_reply_link()` to account for comments displayed on index and archive pages.

This reapplies [32786] which was inadvertently reverted in [42360].

Props justinahinon, donmhico.
See #33383.
Fixes #47174.

Built from https://develop.svn.wordpress.org/trunk@45787


git-svn-id: http://core.svn.wordpress.org/trunk@45598 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-13 05:09:56 +00:00
K. Adam White
aa90dc4e8c Docs: Clarify custom-fields support requirement for viewing custom post meta in REST API.
Fixes #47866.

Built from https://develop.svn.wordpress.org/trunk@45786


git-svn-id: http://core.svn.wordpress.org/trunk@45597 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-13 01:51:56 +00:00
Gary Pendergast
28ad3662fc Build Tools: Remove the old docker-compose.yml file, now no longer used.
See #47767.


Built from https://develop.svn.wordpress.org/trunk@45785


git-svn-id: http://core.svn.wordpress.org/trunk@45596 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-12 09:22:55 +00:00