Commit Graph

27237 Commits

Author SHA1 Message Date
Boone Gorges 17d32ebc8f Taxonomy: Ensure consistency of `hide_empty` in term queries when `taxonomy` is excluded.
When querying for terms in hierarchical categories using `hide_empty=true`,
results have historically included parent terms which are themselves
unattached to any objects (are "empty") but which have non-empty descendent
terms. Because this process involves walking the descendant tree, we avoid it
when we detect that the queried taxonomies are not hierarchical. (This
behavior was introduced in [5525].)

When the `taxonomy` parameter of `get_terms()` was made optional - see #35495,
[36614] - it affected the mechanism for avoiding unneccessary tree walks,
since there may not be any explicitly declared taxonomies to run through
`is_taxonomy_hierarchical()`. As a result, term queries excluding `taxonomy`
did not check descendants, and empty parents with non-empty children were not
included in `hide_empty` results.

We correct the behavior by crawling term descendants when the `taxonomy`
argument is absent, which means that we're querying for terms in all taxonomies.

Props smerriman.
Fixes #37728.
Built from https://develop.svn.wordpress.org/trunk@45888


git-svn-id: http://core.svn.wordpress.org/trunk@45699 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-23 16:05:56 +00:00
Sergey Biryukov 9672302e04 Date/Time: Rewrite and simplify `get_gmt_from_date()`, `get_date_from_gmt()`, and `iso8601_to_datetime()` using `wp_timezone()`.
Improve unit test coverage.

Props Rarst, goodevilgenius.
Fixes #31809.
Built from https://develop.svn.wordpress.org/trunk@45887


git-svn-id: http://core.svn.wordpress.org/trunk@45698 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-23 11:03:56 +00:00
Sergey Biryukov 1aaf11947e Date/Time: Simplify the date comparing logic in `WP_Community_Events::trim_events()`.
The Events API returns event date without timezone information, so trying to parse it into a timestamp and compare to a WP timestamp is pointless.

Props Rarst.
Fixes #47463.
Built from https://develop.svn.wordpress.org/trunk@45886


git-svn-id: http://core.svn.wordpress.org/trunk@45697 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-23 02:15:55 +00:00
Gary Pendergast 601f5f7376 Build Tools: Pass the LOCAL_DIR environment variable through to the phpunit Docker container.
This allows code running inside the container to know whether it's supposed to be running in `build` or `src`.

See #47767.


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


git-svn-id: http://core.svn.wordpress.org/trunk@45696 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-23 01:56:56 +00:00
Sergey Biryukov 6330f10b7d Date/Time: Revert unintended changes from [45882].
Props TimothyBlynJacobs.
See #25768.
Built from https://develop.svn.wordpress.org/trunk@45884


git-svn-id: http://core.svn.wordpress.org/trunk@45695 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-23 01:16:53 +00:00
Sergey Biryukov 6e555f0c77 Date/Time: Introduce `current_datetime()` for better time operations.
Returning a `DateTimeImmutable` representation of the current moment in time, this allows for a more flexible and reliable use than `current_time()` provides.

Props Rarst.
Fixes #47464.
Built from https://develop.svn.wordpress.org/trunk@45883


git-svn-id: http://core.svn.wordpress.org/trunk@45694 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-23 01:12:55 +00:00
Sergey Biryukov 6f8e50c7f0 Date/Time: Rewrite and simplify `date_i18n()` using `wp_timezone()` to address multiple issues with certain date formats and timezones, while preserving some extra handling for legacy use cases.
Improve unit test coverage.

Props Rarst, remcotolsma, raubvogel.
Fixes #25768.
Built from https://develop.svn.wordpress.org/trunk@45882


git-svn-id: http://core.svn.wordpress.org/trunk@45693 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-23 00:57:56 +00:00
desrosj e7c8b21e71 Coding Standards: Dynamic hooks should be named using interpolation not concatenation.
Props arena, desrosj.
Fixes #47052.
Built from https://develop.svn.wordpress.org/trunk@45881


git-svn-id: http://core.svn.wordpress.org/trunk@45692 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-22 19:08:55 +00:00
Sergey Biryukov d309715a95 Coding Standards: Add missing `break` for the default case in `wp_privacy_anonymize_data()`.
Props itowhid06.
Fixes #47921.
Built from https://develop.svn.wordpress.org/trunk@45877


git-svn-id: http://core.svn.wordpress.org/trunk@45688 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-22 14:50:55 +00:00
Sergey Biryukov 8d919b09d4 Date/Time: Use `wp_timezone()` in `WP_Date_Query::build_mysql_datetime()` to address timezone issues.
Improve unit test coverage.

Props Rarst, Biranit, birgire, jave.web, SergeyBiryukov.
Fixes #41782.
Built from https://develop.svn.wordpress.org/trunk@45876


git-svn-id: http://core.svn.wordpress.org/trunk@45687 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-22 03:11:55 +00:00
Gary Pendergast 1f8563d8e7 Build Tools: Don't use git for package installs.
While NPM supports installing packages from git locations, this requires `git` to be in the path, which won't necessarily be true, particularly on Windows.

We can download the release versions for these packages, instead.

Fixes #47916.


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


git-svn-id: http://core.svn.wordpress.org/trunk@45686 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-22 02:29:54 +00:00
Sergey Biryukov ad7b2949ba Users: Adjust [45708] to make sure `wp_update_user()` does not issue a `WP_Error` if a single site was previously set up as Multisite and there's still a `spam` field in the user table.
Add a unit test.

Props azaozz, SergeyBiryukov.
Fixes #45747.
Built from https://develop.svn.wordpress.org/trunk@45874


git-svn-id: http://core.svn.wordpress.org/trunk@45685 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-22 01:53:55 +00:00
Sergey Biryukov f6fc8025c4 Administration: Adjust [45814] to address a backward compatibility issue for plugins passing multiple CSS classes to `add_settings_error()`.
Only add the `notice-` prefix for `error`, `success`, `warning`, `info` CSS classes, keep other classes as is.

Add unit tests for `settings_errors()`.

Props afercia, SergeyBiryukov.
Fixes #44941.
Built from https://develop.svn.wordpress.org/trunk@45873


git-svn-id: http://core.svn.wordpress.org/trunk@45684 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-22 00:22:56 +00:00
Sergey Biryukov 36b4debdb4 Docs: Correct type for the `$deprecated` argument of `get_terms()`.
Props itowhid06.
Fixes #47915.
Built from https://develop.svn.wordpress.org/trunk@45872


git-svn-id: http://core.svn.wordpress.org/trunk@45683 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-21 16:27:55 +00:00
Sergey Biryukov 3d12c4b6d8 Docs: Fix typo in `_wp_make_subsizes()` DocBlock.
Props itowhid06.
Fixes #47913. See #40439.
Built from https://develop.svn.wordpress.org/trunk@45871


git-svn-id: http://core.svn.wordpress.org/trunk@45682 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-21 16:23:56 +00:00
Sergey Biryukov f8fb93cd0d Customizer: Trim whitespace from custom link URLs.
This complements a similar fix for the Menus screen in [45655].

Props donmhico, audrasjb.
Fixes #47888. See #47723.
Built from https://develop.svn.wordpress.org/trunk@45869


git-svn-id: http://core.svn.wordpress.org/trunk@45680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-21 00:27:57 +00:00
Sergey Biryukov 6b9ab1c5c5 Docs: Update `@since` tag for new JS functions and variables introduced in [45572].
Props garrett-eclipse.
See #47145.
Built from https://develop.svn.wordpress.org/trunk@45867


git-svn-id: http://core.svn.wordpress.org/trunk@45678 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-20 22:54:55 +00:00
Sergey Biryukov 40d4037fa6 Twenty Seventeen: Fix tabs vs. spaces in [45764].
See #47414.
Built from https://develop.svn.wordpress.org/trunk@45863


git-svn-id: http://core.svn.wordpress.org/trunk@45674 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-20 19:12:50 +00:00
Sergey Biryukov 18d991bfc0 Twenty Eleven: Fix tabs vs. spaces in [45763].
See #47414.
Built from https://develop.svn.wordpress.org/trunk@45862


git-svn-id: http://core.svn.wordpress.org/trunk@45673 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-20 19:11:55 +00:00
Sergey Biryukov 561e17c1a4 Twenty Seventeen: Adjust [45764] to conform to CSS Coding Standards.
See #47414.
Built from https://develop.svn.wordpress.org/trunk@45861


git-svn-id: http://core.svn.wordpress.org/trunk@45672 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-20 19:07:49 +00:00
Sergey Biryukov 4a8c0b1498 Twenty Eleven: Adjust [45763] to conform to CSS Coding Standards.
See #47414.
Built from https://develop.svn.wordpress.org/trunk@45860


git-svn-id: http://core.svn.wordpress.org/trunk@45671 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-20 19:06:54 +00:00
Sergey Biryukov 9793494a2c Tests: Remove `$wpdb` global reference from `test_wp_insert_user_with_empty_data()`.
See #47902.
Built from https://develop.svn.wordpress.org/trunk@45859


git-svn-id: http://core.svn.wordpress.org/trunk@45670 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-20 17:28:56 +00:00
Sergey Biryukov 022de7321e Users: In `wp_insert_user()`, account for the `wp_pre_insert_user_data` filter returning empty data.
Props juliobox, SergeyBiryukov.
Fixes #47902.
Built from https://develop.svn.wordpress.org/trunk@45858


git-svn-id: http://core.svn.wordpress.org/trunk@45669 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-20 17:26:55 +00:00
Sergey Biryukov bdb1811935 Date/Time: Fix race conditions in `current_time()` tests.
* Restore default timezone before performing assertions to avoid affecting other tests in case of failure.
* Use delta comparison for timestamps to avoid race conditions.

Props SergeyBiryukov, desrosj.
Fixes #45821.
Built from https://develop.svn.wordpress.org/trunk@45857


git-svn-id: http://core.svn.wordpress.org/trunk@45668 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-08-20 01:35:56 +00:00
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