Commit Graph

3562 Commits

Author SHA1 Message Date
Sergey Biryukov ddf2d5ad06 Tests: In `Tests_dbDelta::setUp()`, only force MyISAM database engine on MySQL versions older than 5.7.
Since MySQL 5.7, InnoDB engine supports `FULLTEXT` indexes, so forcing MyISAM is unnecessary.

Props xkon, joonasvanhatapio, SergeyBiryukov.
Fixes #49367.

git-svn-id: https://develop.svn.wordpress.org/trunk@47193 602fd350-edb4-49c9-b593-d223f7449a82
2020-02-05 18:19:11 +00:00
Sergey Biryukov e4d8eac50f Taxonomy: In `register_taxonomy()`, return the registered taxonomy object on success, for consistency with `register_post_type()`.
Props krynes, SergeyBiryukov.
Fixes #48558.

git-svn-id: https://develop.svn.wordpress.org/trunk@47186 602fd350-edb4-49c9-b593-d223f7449a82
2020-02-05 06:24:16 +00:00
Sergey Biryukov 6c00abab9e Coding Standards: Fix WPCS issue in [47184].
See #49344.

git-svn-id: https://develop.svn.wordpress.org/trunk@47185 602fd350-edb4-49c9-b593-d223f7449a82
2020-02-05 05:01:55 +00:00
Sergey Biryukov 629b9a778a Tests: Allow `dbDelta()` tests to (mostly) run on MySQL 8.0.11+.
* MySQL 8.0.11 changed the `GeometryCollection` data type name to `GeomCollection`, with the latter being the preferred name.
* MySQL 8.0.17 removed support for the display width attribute for integer data types. Previously, default display width of 20 digits was used: `BIGINT(20)`.

The affected tests now check the MySQL server version and use the appropriate data types.

This leaves one unresolved failure on MySQL 8.0.17+ to be addressed in the future, caused by the same `BIGINT` display width discrepancy coming from `wp_get_db_schema()`.

Props kaggdesign, ottok, jeremyfelt, SergeyBiryukov.
Fixes #44384, #49344. See #49364.

git-svn-id: https://develop.svn.wordpress.org/trunk@47184 602fd350-edb4-49c9-b593-d223f7449a82
2020-02-05 04:28:13 +00:00
Sergey Biryukov b34f289bfd Tests: Allow `wpdb::set_sql_mode()` tests to run on MySQL 8.0.11+.
MySQL 8.0.11 removed support for the `NO_AUTO_CREATE_USER` SQL mode, which was used in as an example of a mode compatible with WordPress.

`NO_AUTO_VALUE_ON_ZERO` is now used in the affected tests instead, which is supported on both MySQL 5.7.x and 8.0.x.

Props kaggdesign, jeremyfelt, afragen.
Fixes #44586. See #49344.

git-svn-id: https://develop.svn.wordpress.org/trunk@47183 602fd350-edb4-49c9-b593-d223f7449a82
2020-02-05 03:28:33 +00:00
Sergey Biryukov 5e8563eb6b Posts, Post Types: Fail gracefully when checking whether a single post with an unregistered post status should be displayed in `WP_Query::get_posts()`.
If the post status is not registered, assume it's not public, but still allow access to users with edit permissions (same as for a protected post status, e.g. `draft`), so that they could recover orphaned content.

Add unit tests.

Follow-up to [47178].

Props roytanck, SergeyBiryukov.
Fixes #48653.

git-svn-id: https://develop.svn.wordpress.org/trunk@47181 602fd350-edb4-49c9-b593-d223f7449a82
2020-02-05 01:31:38 +00:00
Sergey Biryukov 6f15251aa4 Posts, Post Types: Fail gracefully when checking mapped cap against unregistered post status.
With `map_meta_cap` enabled for a post type, the `read_post` capability for posts with a public status is supposed to be mapped to the post type's `read` capability.

When a post is left in the database after the post status is no longer present, and WP does a `read_post` check against it, a PHP notice was thrown, and the cap check always failed.

As a more graceful fallback, the cap is now mapped onto `edit_others_posts`, which allows highly privileged users to be able to access orphaned content.

A `_doing_it_wrong()` notice is also added, so that developers and site administrators are aware that the cap mapping is failing in the absence of the registered post status.

Follow-up to [34091], which introduced a similar approach to checking mapped caps against an unregistered post type.

Props roytanck, SergeyBiryukov.
Fixes #48653.

git-svn-id: https://develop.svn.wordpress.org/trunk@47178 602fd350-edb4-49c9-b593-d223f7449a82
2020-02-04 22:13:15 +00:00
Jorge Costa 4bcf9be615 Block Editor: Include navigation block server logic.
Core did not include the navigation block PHP files.
This commit fixes the issue referred, and now the navigation block is executed on the frontend. The block still does not work as expected and throws an error during frontend execution. That problem is going to be fixed on the next WordPress package update.
This commit adds the file as it is on the npm package used.

Props gziolo.
Fixes #49348.

git-svn-id: https://develop.svn.wordpress.org/trunk@47176 602fd350-edb4-49c9-b593-d223f7449a82
2020-02-04 20:14:50 +00:00
Sergey Biryukov dd48b7f757 Canonical: When removing trailing punctuation from query string arguments, match the whole query var name.
Props daveslaughter.
Fixes #49347.

git-svn-id: https://develop.svn.wordpress.org/trunk@47169 602fd350-edb4-49c9-b593-d223f7449a82
2020-02-03 00:12:22 +00:00
Sergey Biryukov 63a53c730f Tests: Adjust XML-RPC unit tests for [47160].
Follow-up to [47162].

See #40096.

git-svn-id: https://develop.svn.wordpress.org/trunk@47163 602fd350-edb4-49c9-b593-d223f7449a82
2020-02-02 04:07:50 +00:00
Sergey Biryukov d5572e9f11 Tests: Adjust XML-RPC unit tests for [47160].
See #40096.

git-svn-id: https://develop.svn.wordpress.org/trunk@47162 602fd350-edb4-49c9-b593-d223f7449a82
2020-02-02 03:30:37 +00:00
Sergey Biryukov fd3083e3f5 Post Thumbnails: Make sure `get_post_thumbnail_id()` returns an integer, to match the documented return value.
This makes the function more consistent with `get_the_ID()` or `wp_get_post_parent_id()`, both returning an integer.

Props 0v3rth3d4wn.
Fixes #40096.

git-svn-id: https://develop.svn.wordpress.org/trunk@47160 602fd350-edb4-49c9-b593-d223f7449a82
2020-02-02 03:06:31 +00:00
Sergey Biryukov 54c6311c96 Accessibility: Text Changes: Use sentence case for the word `Error` in various error messages, instead of all caps.
Using all caps should be avoided for better readability and because screen readers may pronounce all-caps words as abbreviations.

Props afercia, ryokuhi, sabernhardt, garrett-eclipse.
See #47656, #43037, #42945.

git-svn-id: https://develop.svn.wordpress.org/trunk@47156 602fd350-edb4-49c9-b593-d223f7449a82
2020-02-01 21:36:44 +00:00
Sergey Biryukov 097f272455 Tests: Update the expected message in `test_with_draft_post()`.
Follow-up to [47154].

See #42945.

git-svn-id: https://develop.svn.wordpress.org/trunk@47155 602fd350-edb4-49c9-b593-d223f7449a82
2020-02-01 21:11:08 +00:00
Sergey Biryukov b894d8665a Privacy: Introduce a JSON file into the personal data export.
The produced ZIP archive will now include an `export.json` file along with the current `index.html`.

Props xkon.
Fixes #49029. See #46424.

git-svn-id: https://develop.svn.wordpress.org/trunk@47146 602fd350-edb4-49c9-b593-d223f7449a82
2020-01-31 01:34:17 +00:00
Sergey Biryukov 7192a8f562 Privacy: Remove user's email address from personal data export filename.
Use `wp_unique_filename()` to avoid potential collisions instead.

Props xkon, garrett-eclipse, donmhico, Ov3rfly, Clorith, allendav.
Fixes #44197.

git-svn-id: https://develop.svn.wordpress.org/trunk@47144 602fd350-edb4-49c9-b593-d223f7449a82
2020-01-31 00:56:29 +00:00
Sergey Biryukov ac6409a479 HTTP API: Add some basic tests for `wp_remote_fopen()`.
Props pbearne, donmhico.
Fixes #48845.

git-svn-id: https://develop.svn.wordpress.org/trunk@47142 602fd350-edb4-49c9-b593-d223f7449a82
2020-01-31 00:20:47 +00:00
Sergey Biryukov 8ba94ecf5d Tests: Rename `wpValidateBoolean.php` for consistency with other files.
See #30238.

git-svn-id: https://develop.svn.wordpress.org/trunk@47141 602fd350-edb4-49c9-b593-d223f7449a82
2020-01-31 00:14:07 +00:00
K. Adam White 547a08ee03 REST API: Reuse previously-generated embedded objects when building collection response.
Store each generated embedded object in a temporary cache when querying for linked resources so that repeated links to the same resource do not trigger repeated queries or processing.

Props TimothyBlynJacobs.
Fixes #48838.



git-svn-id: https://develop.svn.wordpress.org/trunk@47138 602fd350-edb4-49c9-b593-d223f7449a82
2020-01-30 20:20:30 +00:00
Sergey Biryukov cfc3b57488 Docs: Improve inline comments per the documentation standards.
Includes minor code layout fixes for better readability.

See #48303.

git-svn-id: https://develop.svn.wordpress.org/trunk@47122 602fd350-edb4-49c9-b593-d223f7449a82
2020-01-29 00:43:23 +00:00
Sergey Biryukov bd2cd572aa Docs: Improve DocBlocks in `phpunit/includes/object-cache.php` per the documentation standards.
See #48303.

git-svn-id: https://develop.svn.wordpress.org/trunk@47121 602fd350-edb4-49c9-b593-d223f7449a82
2020-01-29 00:36:17 +00:00
Sergey Biryukov 48110faf25 Coding Standards: Disable WPCS warnings for `date_default_timezone_set()` and `current_time( 'timestamp' )` calls in Date/Time tests.
These calls are intentional and required for the tests.

See #49222.

git-svn-id: https://develop.svn.wordpress.org/trunk@47118 602fd350-edb4-49c9-b593-d223f7449a82
2020-01-28 00:51:42 +00:00
Sergey Biryukov d5e20d8ab5 Comments: Add `In reply to: %s` parent comment link to new comment email notifications.
This information was previously available on the Moderate Comment screen in the admin, but was missing from moderation emails.

Props imath, danieltj, andraganescu, galbaras, SergeyBiryukov.
Fixes #43805. See #43429.

git-svn-id: https://develop.svn.wordpress.org/trunk@47114 602fd350-edb4-49c9-b593-d223f7449a82
2020-01-27 04:31:48 +00:00
Sergey Biryukov af39b30e28 Date/Time: In `wp_maybe_decline_date()`, add support for a range of days, e.g. `February 21–23`.
A potential use case is displaying multi-day events in the WordPress Events and News dashboard widget.

See #47798, #48934.

git-svn-id: https://develop.svn.wordpress.org/trunk@47098 602fd350-edb4-49c9-b593-d223f7449a82
2020-01-21 23:46:36 +00:00
Sergey Biryukov 8660569e82 Date/Time: Add some basic tests for `current_time()`.
Props pbearne, talldanwp, SergeyBiryukov.
Fixes #34378.

git-svn-id: https://develop.svn.wordpress.org/trunk@47081 602fd350-edb4-49c9-b593-d223f7449a82
2020-01-17 02:50:39 +00:00
Sergey Biryukov 0ead760ec6 Tests: Replace `date()` with `gmdate()` in `WP_Test_REST_Posts_Controller` tests.
Follow-up to [45424], [46252].

See #46438, #44491, #39953.

git-svn-id: https://develop.svn.wordpress.org/trunk@47080 602fd350-edb4-49c9-b593-d223f7449a82
2020-01-17 02:02:41 +00:00
Sergey Biryukov a2978bac70 Tests: Update the `wp_maybe_decline_date()` tests for [47078].
See #48934.

git-svn-id: https://develop.svn.wordpress.org/trunk@47079 602fd350-edb4-49c9-b593-d223f7449a82
2020-01-17 01:14:24 +00:00
Sergey Biryukov 5bef137806 Date/Time: Pass the date format to `wp_maybe_decline_date()`.
This ensures that the function has enough context to determine the necessity of replacing the month name with the correct form in locales that require it.

Props SergeyBiryukov, Rarst.
Fixes #48934.

git-svn-id: https://develop.svn.wordpress.org/trunk@47078 602fd350-edb4-49c9-b593-d223f7449a82
2020-01-17 01:10:57 +00:00
Sergey Biryukov 93b2d5ecc0 Tests: Revert [47076], this should have been committed with the related changes to the function.
git-svn-id: https://develop.svn.wordpress.org/trunk@47077 602fd350-edb4-49c9-b593-d223f7449a82
2020-01-17 01:08:28 +00:00
SergeyBiryukov abfca60342 Tests: Move `wp_maybe_decline_date()` tests to the `date` directory.
See #48934.

git-svn-id: https://develop.svn.wordpress.org/trunk@47076 602fd350-edb4-49c9-b593-d223f7449a82
2020-01-17 00:54:02 +00:00
Sergey Biryukov 2daa4b6c82 Tests: In `Tests_Site_Health`, create a `WP_Site_Health` instance before clearing the cron array, as the constructor schedules its own task now.
See #47606.

git-svn-id: https://develop.svn.wordpress.org/trunk@47064 602fd350-edb4-49c9-b593-d223f7449a82
2020-01-12 14:16:57 +00:00
Sergey Biryukov cd5b7df8b8 Docs: Improve documentation for `tests/phpunit/includes/testcase-ajax.php`.
Props andizer, SergeyBiryukov.
Fixes #47568.

git-svn-id: https://develop.svn.wordpress.org/trunk@47041 602fd350-edb4-49c9-b593-d223f7449a82
2020-01-05 15:31:10 +00:00
K. Adam White 746502eaa9 REST API: Issue doing_it_wrong if a taxonomy's specified rest_base is already in use by a different resource.
Props fgiannar, TimothyBlynJacobs, kingkool68, SergeyBiryukov.
Fixes #48401.



git-svn-id: https://develop.svn.wordpress.org/trunk@47037 602fd350-edb4-49c9-b593-d223f7449a82
2020-01-03 19:22:32 +00:00
K. Adam White 172e0b01c6 REST API: Short-circuit comment controller permissions check if commented-upon post type does not exist.
Props imani3011, dragosh635, subrataemfluence, timothyblynjacobs.
Fixes #42238.



git-svn-id: https://develop.svn.wordpress.org/trunk@47036 602fd350-edb4-49c9-b593-d223f7449a82
2020-01-03 18:42:09 +00:00
Grzegorz (Greg) Ziółkowski a35e46a937 Build Tools: Integrate DependencyExtractionWebpackPlugin in the JS build.
This patch integrates DependencyExtractionWebpackPlugin which was battle-tested in Gutenberg. 

This will greatly simplify the process of upgrading npm packages which change after every Gutenberg release. It might even useful during the WordPress release cycle as we might need to publish more often as we discover critical bugs and regressions.

Props jonsurrell, adamsilverstein, youknowriad, ocean90, netweb.

Fixes #48154. 



git-svn-id: https://develop.svn.wordpress.org/trunk@47035 602fd350-edb4-49c9-b593-d223f7449a82
2020-01-03 13:15:33 +00:00
Sergey Biryukov ef6973b7f0 Bootstrap/Load: Make handling the `/favicon.ico` requests more flexible.
Previously, `wp_favicon_request()` was introduced in [13205] to avoid a performance hit of serving a full 404 page on every favicon request.

While working as intended, that implementation did not provide a way for theme or plugin authors to manage the behavior of favicon requests.

This changeset implements the following logic (only applied if WordPress is installed in the root directory):

* If there is a Site Icon set in Customizer, redirect `/favicon.ico` requests to that icon.
* Otherwise, use the WordPress logo as a default icon.
* If a physical `/favicon.ico` file exists, do nothing, let the server handle the request.

Handling `/favicon.ico` is now more consistent with handling `/robots.txt` requests.

New functions and hooks:

* Introduce `is_favicon()` conditional tag to complement `is_robots()`.
* Introduce `do_favicon` action to complement `do_robots` and use it in template loader.
* Introduce `do_favicon()` function, hooked to the above action by default, to complement `do_robots()`.
* Introduce `do_faviconico` action to complement `do_robotstxt`, for plugins to override the default behavior.
* Mark `wp_favicon_request()` as deprecated in favor of `do_favicon()`.

Props jonoaldersonwp, birgire, joostdevalk, mukesh27, SergeyBiryukov.
Fixes #47398.

git-svn-id: https://develop.svn.wordpress.org/trunk@47018 602fd350-edb4-49c9-b593-d223f7449a82
2019-12-28 21:18:03 +00:00
Sergey Biryukov 85c7a64791 Docs: Improve `@return` description for `wp_update_comment()` and `WP_UnitTest_Factory_For_Comment::update_object()`.
See #48303.

git-svn-id: https://develop.svn.wordpress.org/trunk@47017 602fd350-edb4-49c9-b593-d223f7449a82
2019-12-27 00:28:39 +00:00
Sergey Biryukov 079580a6b7 Tests: Set `network_id` instead of `site_id` in `WP_UnitTest_Factory_For_Blog` defaults.
Follow-up to [47011], [47013].

See #47195.

git-svn-id: https://develop.svn.wordpress.org/trunk@47014 602fd350-edb4-49c9-b593-d223f7449a82
2019-12-26 00:25:20 +00:00
Sergey Biryukov 93eeb8f1d7 Tests: Update legacy arguments passed to `WP_UnitTest_Factory_For_Blog::create_object()`.
This converts the arguments originally meant for `wpmu_create_blog()` to the ones used by `wp_insert_site()`.

Follow-up to [47011].

Fixes #47195.

git-svn-id: https://develop.svn.wordpress.org/trunk@47013 602fd350-edb4-49c9-b593-d223f7449a82
2019-12-25 21:39:46 +00:00
Sergey Biryukov f8051662b1 Tests: Replace most instances of `wpmu_delete_blog()` not specifically testing that function with `wp_delete_site()`.
Follow-up to [47011].

See #47195.

git-svn-id: https://develop.svn.wordpress.org/trunk@47012 602fd350-edb4-49c9-b593-d223f7449a82
2019-12-25 18:15:13 +00:00
Sergey Biryukov ebe75fb903 Tests: Switch `WP_UnitTest_Factory_For_Blog::create_object()` to use `wp_insert_site()`.
Map some arguments for backward compatibility with `wpmu_create_blog()` previously used there.

Props davidbaumwald, danielbachhuber, jeremyfelt, SergeyBiryukov.
See #47195.

git-svn-id: https://develop.svn.wordpress.org/trunk@47011 602fd350-edb4-49c9-b593-d223f7449a82
2019-12-25 18:10:19 +00:00
Sergey Biryukov dbf6a0ba7c Media: Make sure `attachment_url_to_postid()` performs a case-sensitive search for the uploaded file name.
Previously, the first available match was returned, regardless of the case, which was not always the expected result.

Props archon810, ben.greeley, tristangemus, vsamoletov, SergeyBiryukov.
Fixes #39768.

git-svn-id: https://develop.svn.wordpress.org/trunk@47010 602fd350-edb4-49c9-b593-d223f7449a82
2019-12-25 02:24:38 +00:00
Sergey Biryukov 7abc076e13 Shortcodes: Make sure `wp.shortcode.string()` accepts the `attrs` array keys in any order.
Props yale01, georgestephanis, adamsilverstein, zsusag, mircoraffinetti, SergeyBiryukov.
Fixes #36263.

git-svn-id: https://develop.svn.wordpress.org/trunk@47003 602fd350-edb4-49c9-b593-d223f7449a82
2019-12-21 18:32:45 +00:00
Sergey Biryukov 2c15e0c286 Tests: Don't fail the test in `WP_UnitTestCase_Base::skipOnAutomatedBranches()` if Travis environment variables are unavailable, it prevents from running the test locally.
Follow-up to [47000].

See #49050.

git-svn-id: https://develop.svn.wordpress.org/trunk@47001 602fd350-edb4-49c9-b593-d223f7449a82
2019-12-20 12:13:10 +00:00
Sergey Biryukov d697471bb1 Tests: Correct the check for pull requests in `WP_UnitTestCase_Base::skipOnAutomatedBranches()`.
Mark the test as failed if the environment variables are unavailable.

Fixes #49050.

git-svn-id: https://develop.svn.wordpress.org/trunk@47000 602fd350-edb4-49c9-b593-d223f7449a82
2019-12-20 01:10:23 +00:00
Sergey Biryukov 26cc3cfd19 Tests: Skip external HTTP test for recommended PHP and MySQL versions on 503 errors.
Fixes #49049.

git-svn-id: https://develop.svn.wordpress.org/trunk@46998 602fd350-edb4-49c9-b593-d223f7449a82
2019-12-19 20:27:16 +00:00
Jake Spurlock 2fad299387 Editor: Add unit tests for v5.3.1 block serialization functions
r46896 was intended to have included unit tests for the block serialization functions added as part of the changeset.

Props: @aduth.
Fixes: #49048 



git-svn-id: https://develop.svn.wordpress.org/trunk@46997 602fd350-edb4-49c9-b593-d223f7449a82
2019-12-19 18:48:49 +00:00
Sergey Biryukov 9fe4689f2d Tests: In `test_readme()`, if the HTTP request to `secure.php.net` or `dev.mysql.com` failed, include response code in the error message.
See #40533, #44613.

git-svn-id: https://develop.svn.wordpress.org/trunk@46996 602fd350-edb4-49c9-b593-d223f7449a82
2019-12-19 15:43:33 +00:00
Sergey Biryukov 7cdb642610 Tests: Remove unused cache keys from `data_get_site_caches()`.
Follow-up to [46990].

See #40363.

git-svn-id: https://develop.svn.wordpress.org/trunk@46991 602fd350-edb4-49c9-b593-d223f7449a82
2019-12-18 03:20:59 +00:00
Sergey Biryukov c8ac42b3dd Docs: Improve comments in `tests/formatting/redirect.php` per the documentation standards.
See #48303.

git-svn-id: https://develop.svn.wordpress.org/trunk@46987 602fd350-edb4-49c9-b593-d223f7449a82
2019-12-18 00:26:23 +00:00
Sergey Biryukov 0d81dcbfb1 Docs: Add `@method` notation for `WP_UnitTest_Factory_For_Term::create_and_get()` for consistency with other factories.
See #48303.

git-svn-id: https://develop.svn.wordpress.org/trunk@46986 602fd350-edb4-49c9-b593-d223f7449a82
2019-12-18 00:24:03 +00:00
Sergey Biryukov a3e674d4f9 Docs: Various documentation fixes for unit test factories.
See #48303.

git-svn-id: https://develop.svn.wordpress.org/trunk@46985 602fd350-edb4-49c9-b593-d223f7449a82
2019-12-18 00:17:54 +00:00
Sergey Biryukov 99ddfa0195 Tests: Use delta comparison in `test_should_fall_back_to_last_post_modified()` to avoid race conditions.
See #48957.

git-svn-id: https://develop.svn.wordpress.org/trunk@46981 602fd350-edb4-49c9-b593-d223f7449a82
2019-12-17 21:31:08 +00:00
Sergey Biryukov a4b65bfca8 Date/Time: Ensure that `get_feed_build_date()` correctly handles a modified post object with invalid date.
* Clarify in the documentation that the function returns `false` on failure.
* Consistently pass the return value through the `get_feed_build_date` filter.

Props Rarst, dd32, azaozz, tellyworth.
Fixes #48957.

git-svn-id: https://develop.svn.wordpress.org/trunk@46974 602fd350-edb4-49c9-b593-d223f7449a82
2019-12-17 20:41:09 +00:00
Sergey Biryukov 69ddf953bd Date/Time: Add a unit test for [46968].
See #48145.

git-svn-id: https://develop.svn.wordpress.org/trunk@46969 602fd350-edb4-49c9-b593-d223f7449a82
2019-12-17 14:35:25 +00:00
Andrew Ozz 99ef48a585 Upload: Fix the final file name collision test in `wp_unique_filename()` when uploading a file with upper case extension. Add a unit test to catch that in the future.
Fixes #48975 for trunk.


git-svn-id: https://develop.svn.wordpress.org/trunk@46966 602fd350-edb4-49c9-b593-d223f7449a82
2019-12-16 23:42:34 +00:00
Andrew Ozz 735b3543db Upload:
- Fix PHP warnings in `wp_unique_filename()` when the destination directory is unreadable.
- Run the final name collision test only for files that are saved to the uploads directory.
- Update the unit tests to match.

Props eden159, audrasjb, azaozz.
Fixes #48960 for trunk.

git-svn-id: https://develop.svn.wordpress.org/trunk@46965 602fd350-edb4-49c9-b593-d223f7449a82
2019-12-16 23:22:00 +00:00
Jake Spurlock 7c38cf178a Prevent stored XSS in the block editor.
Prevent escaped unicode characters become unescaped in unsafe HTML during JSON decoding.

Props: aduth, epiqueras, 


git-svn-id: https://develop.svn.wordpress.org/trunk@46896 602fd350-edb4-49c9-b593-d223f7449a82
2019-12-12 18:00:45 +00:00
Jake Spurlock 39a8eacb5f Update `wp_kses_bad_protocol()` to recognize `:` on uri attributes,
`wp_kses_bad_protocol()` makes sure to validate that uri attributes don’t contain invalid/or not allowed protocols. While this works fine in most cases, there’s a risk that by using the colon html5 named entity, one is able to bypass this function.

Props: xknown, nickdaugherty, peterwilsoncc.


git-svn-id: https://develop.svn.wordpress.org/trunk@46895 602fd350-edb4-49c9-b593-d223f7449a82
2019-12-12 17:52:18 +00:00
Jake Spurlock dcab984b1b Prevent stored XSS through wp_targeted_link_rel().
Props: vortfu, whyisjake, peterwilsoncc, xknown,  SergeyBiryukov, flaviozavan.



git-svn-id: https://develop.svn.wordpress.org/trunk@46894 602fd350-edb4-49c9-b593-d223f7449a82
2019-12-12 17:51:35 +00:00
Sergey Biryukov b73180da85 Tests: Docs: Correct `@param` formatting in `SpeedTrapListener` after [35226] and [45607].
See #48303.

git-svn-id: https://develop.svn.wordpress.org/trunk@46882 602fd350-edb4-49c9-b593-d223f7449a82
2019-12-11 15:46:51 +00:00
Sergey Biryukov c1ab0cc974 Menus: Avoid a PHP warning in `add_submenu_page()` when the same value is passed for both `$parent_slug` and `$menu_slug` parameters.
Props welcher, ispreview, ayeshrajans, NextScripts, adamsilverstein, garrett-eclipse, 123host.
Fixes #48599.

git-svn-id: https://develop.svn.wordpress.org/trunk@46868 602fd350-edb4-49c9-b593-d223f7449a82
2019-12-09 21:01:13 +00:00
Sergey Biryukov bdca31b322 Date/Time: XML-RPC: Сalculate the proper offset for GMT in `wp.newPost`, `wp.editComment`, `mw.newPost`, `mw.editPost` when `post_date` or `comment_date` is set.
Previously, `post_date` or `comment_date` was assumed to be GMT, which is only true if the timezone string for the site matches GMT.

Add unit tests.

Props Rarst, smerriman, justdaiv, wonderboymusic, noyle.
Fixes #30429.

git-svn-id: https://develop.svn.wordpress.org/trunk@46864 602fd350-edb4-49c9-b593-d223f7449a82
2019-12-09 19:54:16 +00:00
Sergey Biryukov 50f01f47e3 Date/Time: When determining whether to decline the month name in `wp_maybe_decline_date()`, take word boundaries into account.
Add more unit tests.

Props Rarst, Clorith, timon33, Xendo, SergeyBiryukov.
Fixes #48606.

git-svn-id: https://develop.svn.wordpress.org/trunk@46862 602fd350-edb4-49c9-b593-d223f7449a82
2019-12-09 18:48:50 +00:00
Sergey Biryukov e76722f70f Tests: Change `group` annotation for `test_unique_filename_with_dimension_like_filename()` to `ticket.
See #42437.

git-svn-id: https://develop.svn.wordpress.org/trunk@46835 602fd350-edb4-49c9-b593-d223f7449a82
2019-12-09 12:16:43 +00:00
Sergey Biryukov de38dfdd47 Tests: Make sure network factory returns an integer ID for created objects, for consistency with other factories and the documented value.
See #48145.

git-svn-id: https://develop.svn.wordpress.org/trunk@46831 602fd350-edb4-49c9-b593-d223f7449a82
2019-12-09 11:29:14 +00:00
Sergey Biryukov 102cb95559 Tests: Pad incrementors used in factories with leading zeros to make sure MySQL sorting works as expected.
Previously, tests could create sequential objects with names like `Term 99`, `Term 100`, which by default would be returned in reverse order when sorted by name alphabetically, causing seemingly random test failures that are extremely hard to debug.

See #48145.

git-svn-id: https://develop.svn.wordpress.org/trunk@46830 602fd350-edb4-49c9-b593-d223f7449a82
2019-12-09 10:39:39 +00:00
Sergey Biryukov 0660804327 Tests: Speed up comment submission unit tests by creating less fixtures and reusing them where possible.
See #30017, #48145.

git-svn-id: https://develop.svn.wordpress.org/trunk@46829 602fd350-edb4-49c9-b593-d223f7449a82
2019-12-08 18:00:23 +00:00
Andrew Ozz 5464dcb2c5 Upload: fix `wp_unique_filename()` to prevent name collisions with existing or future image sub-size file names, and add unit tests.
Props Viper007Bond, pbiron, azaozz.
Fixes #42437.

git-svn-id: https://develop.svn.wordpress.org/trunk@46822 602fd350-edb4-49c9-b593-d223f7449a82
2019-12-06 22:26:19 +00:00
John Blackbourn bcfccc7344 Docs: Correct various docblocks documentation.
See #48303

git-svn-id: https://develop.svn.wordpress.org/trunk@46821 602fd350-edb4-49c9-b593-d223f7449a82
2019-12-06 22:21:07 +00:00
Sergey Biryukov 0c673c2308 Tests: Remove duplicate `test_get_page_by_path_priority()` test.
The test was moved into its own file in [37478], but never removed from its previous location.

See #36711.

git-svn-id: https://develop.svn.wordpress.org/trunk@46819 602fd350-edb4-49c9-b593-d223f7449a82
2019-12-06 17:25:32 +00:00
Sergey Biryukov 4bd7b37ef9 Tests: Merge [24251] from `_wp_filter_build_unique_id()` to `_test_filter_build_unique_id()`, for consistency.
See #47407.

git-svn-id: https://develop.svn.wordpress.org/trunk@46806 602fd350-edb4-49c9-b593-d223f7449a82
2019-11-29 22:15:31 +00:00
Sergey Biryukov 890bd870e8 Docs: Correct `@param` type for the function parameter in `tests_add_filter()` and `_test_filter_build_unique_id()`.
Synchronize documentation for `add_filter()`, `tests_add_filter()`, `_wp_filter_build_unique_id()`, `_test_filter_build_unique_id()`.

Add a note that `$tag` and `$priority` are no longer used in `_wp_filter_build_unique_id()` since [46220], and the function always returns a string now.

Props donmhico, remcotolsma, SergeyBiryukov.
Fixes #47407. See #48303.

git-svn-id: https://develop.svn.wordpress.org/trunk@46801 602fd350-edb4-49c9-b593-d223f7449a82
2019-11-29 21:40:58 +00:00
Sergey Biryukov e720a9ddc7 Date/Time: Make `get_permalink()` more resilient against PHP timezone changes.
Overriding default PHP timezone with `date_default_timezone_set()`, while not recommended, should not inadvertently result in changing existing permalinks.

Add a unit test.

Props Rarst, steevithak, archon810, maciejmackowiak, Ov3rfly, Cybr, hometowntrailers, scvleon, miette49.
Fixes #48623.

git-svn-id: https://develop.svn.wordpress.org/trunk@46795 602fd350-edb4-49c9-b593-d223f7449a82
2019-11-28 13:40:19 +00:00
Sergey Biryukov 9737e5fdc3 KSES: Add support for gradient backgrounds.
Props jorgefilipecosta.
Fixes #48376.

git-svn-id: https://develop.svn.wordpress.org/trunk@46793 602fd350-edb4-49c9-b593-d223f7449a82
2019-11-28 00:27:21 +00:00
Sergey Biryukov 4159a41cef Tests: Add `feed` group for `get_feed_build_date()` test added in [46756].
See #48675.

git-svn-id: https://develop.svn.wordpress.org/trunk@46785 602fd350-edb4-49c9-b593-d223f7449a82
2019-11-26 16:17:02 +00:00
Sergey Biryukov 6ce8175456 Date/Time: Remove `mysql2date()` usage in `get_feed_build_date()` to ensure the output includes correct timezone offset.
With the changes in [45908], `mysql2date()` works correctly for all local time inputs, but should not be used for UTC time inputs.

Add a unit test.

Props Rarst, lisota.
Fixes #48675.

git-svn-id: https://develop.svn.wordpress.org/trunk@46756 602fd350-edb4-49c9-b593-d223f7449a82
2019-11-21 13:16:50 +00:00
Sergey Biryukov 3b54ab37ed Customize: If the return URL for Close button is a page added to the Appearance menu by a deactivated theme, fall back to the Themes screen.
Props JarretC, Jean-David, SergeyBiryukov.
Fixes #46686.

git-svn-id: https://develop.svn.wordpress.org/trunk@46754 602fd350-edb4-49c9-b593-d223f7449a82
2019-11-20 18:47:08 +00:00
Sergey Biryukov 6c776ea07b Bundled Themes: Update copyright year in `readme.txt`.
Add a unit test to ensure the year stays up to date.

Props dkarfa, SergeyBiryukov.
Fixes #48566.

git-svn-id: https://develop.svn.wordpress.org/trunk@46719 602fd350-edb4-49c9-b593-d223f7449a82
2019-11-12 17:34:05 +00:00
Jake Spurlock 91312ab695 Tests: Fix a typo in an inline comment.
Fix a regression from [46568].

Props david.binda.
See #48312.


git-svn-id: https://develop.svn.wordpress.org/trunk@46707 602fd350-edb4-49c9-b593-d223f7449a82
2019-11-11 18:48:06 +00:00
Sergey Biryukov 1ee0c8e54f Customize: Remove the deprecated `-precomposed` suffix from `apple-touch-icon` link in `wp_site_icon()`.
Props mukto90, khag7.
Fixes #48555.

git-svn-id: https://develop.svn.wordpress.org/trunk@46698 602fd350-edb4-49c9-b593-d223f7449a82
2019-11-11 09:58:17 +00:00
Sergey Biryukov cde71eed52 Docs: In various `@return` tags, list the expected type first, instead of `WP_Error`.
See #48303.

git-svn-id: https://develop.svn.wordpress.org/trunk@46696 602fd350-edb4-49c9-b593-d223f7449a82
2019-11-11 02:41:15 +00:00
Sergey Biryukov 1b82ea8284 Tests: Don't skip the tests intended for Multisite when running on single site, add them to the `ms-required` group instead.
See #43438.

git-svn-id: https://develop.svn.wordpress.org/trunk@46693 602fd350-edb4-49c9-b593-d223f7449a82
2019-11-10 01:53:17 +00:00
Sergey Biryukov 00aff3a706 Docs: Use 3-digit, x.x.x style semantic versioning for `$version` argument in `do_action_deprecated()` and `apply_filters_deprecated()` calls.
Props jrf.
Fixes #48255.

git-svn-id: https://develop.svn.wordpress.org/trunk@46689 602fd350-edb4-49c9-b593-d223f7449a82
2019-11-09 13:55:43 +00:00
Sergey Biryukov 243d1a2e38 Test: Don't skip the tests intended for single site when running on Multisite, add them to the `ms-excluded` group instead.
See #39776, #45747.

git-svn-id: https://develop.svn.wordpress.org/trunk@46683 602fd350-edb4-49c9-b593-d223f7449a82
2019-11-09 03:44:51 +00:00
Sergey Biryukov fcf86b80b6 Tests: Skip `test_readme()` if the HTTP request to `secure.php.net` or `dev.mysql.com` failed on timeout.
Move `skipTestOnTimeout()` to `WP_UnitTestCase_Base` to avoid duplication.

See #44613.

git-svn-id: https://develop.svn.wordpress.org/trunk@46682 602fd350-edb4-49c9-b593-d223f7449a82
2019-11-09 03:36:19 +00:00
John Blackbourn a216b6d838 Toolbar: Un-deprecate the `WP_Admin_Bar::add_menu()` method.
This is only a wrapper for the `add_node()` method, but it's in widespread use both in core until [46642] and in thousands of plugins and themes. Deprecating it would have made sense when #19647 was originally opened but that's no longer the case.

Props whyisjake

Fixes #19647 


git-svn-id: https://develop.svn.wordpress.org/trunk@46678 602fd350-edb4-49c9-b593-d223f7449a82
2019-11-08 13:17:35 +00:00
Sergey Biryukov 75f82d8bc2 Tests: Properly mark `test_submenu_helpers_priority()` as skipped for multisite, so it's not categorized as "risky".
See #39776.

git-svn-id: https://develop.svn.wordpress.org/trunk@46674 602fd350-edb4-49c9-b593-d223f7449a82
2019-11-06 01:15:11 +00:00
Sergey Biryukov 9c3319de66 Coding Standards: Fix WPCS issues in [46670].
See #48145.

git-svn-id: https://develop.svn.wordpress.org/trunk@46671 602fd350-edb4-49c9-b593-d223f7449a82
2019-11-05 23:17:01 +00:00
John Blackbourn bd2130f367 REST API: Use explicit dates in a post ordering test to avoid indeterminate ordering.
See #48145


git-svn-id: https://develop.svn.wordpress.org/trunk@46670 602fd350-edb4-49c9-b593-d223f7449a82
2019-11-05 22:39:37 +00:00
Sergey Biryukov 4a729f0498 REST API: Speed up pagination unit tests by creating less fixtures and reusing them where possible.
Includes minor documentation and code layout fixes for better readability.

See #30017, #48145.

git-svn-id: https://develop.svn.wordpress.org/trunk@46657 602fd350-edb4-49c9-b593-d223f7449a82
2019-11-05 20:41:12 +00:00
Sergey Biryukov 20165c2ffb Login and Registration: Simplify the test for `wp_signon()` added in [46640].
Make sure it actually tests the change in behavior, previously it passed both before and after the patch.

Add `wp_unslash()` to the last remaining instance of `$_POST['user_login']` that didn't have it.

See #38744.

git-svn-id: https://develop.svn.wordpress.org/trunk@46650 602fd350-edb4-49c9-b593-d223f7449a82
2019-11-04 15:04:41 +00:00
Sergey Biryukov c231bb4869 Build/Test Tools: Adjust the test for `wp_redirect()` status codes added in [46641] per the documentation and coding standards.
Move the test to a more appropriate place for consistency with `wp_sanitize_redirect()` and `wp_validate_redirect()` tests.

See #44317.

git-svn-id: https://develop.svn.wordpress.org/trunk@46649 602fd350-edb4-49c9-b593-d223f7449a82
2019-11-04 12:57:17 +00:00
Sergey Biryukov c04078ac9d REST API: Set `orderby` parameter in tax relation unit tests added in [46646].
The default value of `date` caused a race condition resulting in random test failures.

See #44326.

git-svn-id: https://develop.svn.wordpress.org/trunk@46648 602fd350-edb4-49c9-b593-d223f7449a82
2019-11-04 12:34:35 +00:00
Timothy Jacobs a104c82526 REST API: Add tax relation parameter to posts collection.
The REST API supports filtering by terms across multiple taxonomies using an AND relation. This adds support for an OR relation by adding "tax_relation=OR" as a query parameter.

Props earnjam.
Fixes #44326.


git-svn-id: https://develop.svn.wordpress.org/trunk@46646 602fd350-edb4-49c9-b593-d223f7449a82
2019-11-03 23:12:44 +00:00
Aaron Jorbin 20d984f4c9 Remove Failing Tests added in r46641
The tests for good redirects send headers that we can't handle in the test suite, so let's just remove them.

Unprops Jorbin.
Fixes #44317.



git-svn-id: https://develop.svn.wordpress.org/trunk@46645 602fd350-edb4-49c9-b593-d223f7449a82
2019-11-03 22:47:52 +00:00
John Blackbourn 27b67d5624 Docs: Fix some incorrect return tags in docblocks.
See #48303


git-svn-id: https://develop.svn.wordpress.org/trunk@46644 602fd350-edb4-49c9-b593-d223f7449a82
2019-11-03 22:21:20 +00:00
Jake Spurlock 83366144b3 Coding Standards: Clean up the tests around `test_that_you_can_login_with_an_email_that_has_apostrophe`.
Let's use the proper coding standards for the comments.

Fixes #38744.
Props cafenoirdesign.


git-svn-id: https://develop.svn.wordpress.org/trunk@46643 602fd350-edb4-49c9-b593-d223f7449a82
2019-11-03 22:16:27 +00:00
Jake Spurlock 922721c360 Toolbar: Use `add_node()` instead of `add_menu()` in core.
This patch replaces all references to the add_menu() method with the add_node() one. (Also some code structure modifications for wp_admin_bar_appearance_menu().)

Fixes: #19647
Props: linuxologos, paulschreiber, morganestes, akibjorklund, nacin, whyisjake.


git-svn-id: https://develop.svn.wordpress.org/trunk@46642 602fd350-edb4-49c9-b593-d223f7449a82
2019-11-03 22:12:32 +00:00
Aaron Jorbin 40946e984a General: wp_safe_redirect() and wp_redirect() shouldn't allow non-3xx status codes
Redirects should use redirect status codes and if you attempt to call wp_safe_redirect or wp_redirect with a non redirect status it can lead to undesired behavior and head scratching.

Fixes #44317.
Props spenserhale, johnbillion, mjnewman for initial patch.



git-svn-id: https://develop.svn.wordpress.org/trunk@46641 602fd350-edb4-49c9-b593-d223f7449a82
2019-11-03 22:08:56 +00:00
Jake Spurlock 84c794ba41 Login and Registration: Allow email logins to be more flexible.
Allows a login to have an apostorphe. Which would normally be created as a mistake, but this allows the login to happen.

Fixes #38744
Props wpkuf, desrosj, socalchristina, bibliofille, santilinwp, nsubugak, sncoker, cafenoirdesign, whyisjake.



git-svn-id: https://develop.svn.wordpress.org/trunk@46640 602fd350-edb4-49c9-b593-d223f7449a82
2019-11-03 20:10:23 +00:00
Sergey Biryukov 89621877f8 Code Modernization: Pass an appropriate error level to `trigger_error()` in `_doing_it_wrong()` and related functions:
* `_deprecated_function()`
* `_deprecated_argument()`
* `_deprecated_constructor()`
* `_deprecated_file()`

The error level passed is `E_USER_DEPRECATED` for the deprecated function group and `E_USER_NOTICE` for `_doing_it_wrong()`.

Props jrf.
Fixes #36561.

git-svn-id: https://develop.svn.wordpress.org/trunk@46625 602fd350-edb4-49c9-b593-d223f7449a82
2019-11-01 00:39:04 +00:00
Sergey Biryukov b0419afba6 Build/Test Tools: Ignore EOL differences in tests using multiline string assertions.
Unix vs. Windows EOL style mismatches can cause misleading failures in tests using the heredoc syntax (`<<<`) or multiline strings as the expected result.

Fixes #31432. See #42594, #47411.

git-svn-id: https://develop.svn.wordpress.org/trunk@46612 602fd350-edb4-49c9-b593-d223f7449a82
2019-10-29 14:26:41 +00:00
Jonathan Desrosiers 10c787f0ca Ensure `svn:eol-style` is consistently set for all files (part 2).
Continuation of [46586]

See #42594.

git-svn-id: https://develop.svn.wordpress.org/trunk@46587 602fd350-edb4-49c9-b593-d223f7449a82
2019-10-25 19:27:49 +00:00
Jonathan Desrosiers d376fedd89 Ensure `svn:eol-style` is consistently set for all files.
See #42594.

git-svn-id: https://develop.svn.wordpress.org/trunk@46586 602fd350-edb4-49c9-b593-d223f7449a82
2019-10-25 16:36:41 +00:00
Jonathan Desrosiers 3646ed75c1 Remove the `svn:executable` property from files that don't need it.
See #42594.

git-svn-id: https://develop.svn.wordpress.org/trunk@46585 602fd350-edb4-49c9-b593-d223f7449a82
2019-10-25 15:34:43 +00:00
Sergey Biryukov ee5227550d Date/Time: Remove incomplete and redundant test for `get_post_time()` added in [46580].
There is no functional difference between `gmt_offset` and `timezone_string` timezone modes for the issue.

See #48384.

git-svn-id: https://develop.svn.wordpress.org/trunk@46583 602fd350-edb4-49c9-b593-d223f7449a82
2019-10-25 15:09:30 +00:00
Sergey Biryukov c67b47c66e Date/Time: Make sure `get_post_time()` keeps UTC time on timezone change.
Add `$source` parameter to `get_post_datetime()` to instantiate from local or UTC time in database.

Props Rarst, david.binda.
Reviewed by azaozz, SergeyBiryukov.
Fixes #48384.

git-svn-id: https://develop.svn.wordpress.org/trunk@46580 602fd350-edb4-49c9-b593-d223f7449a82
2019-10-25 13:06:29 +00:00
Sergey Biryukov 38b4ecf2ed Date/Time: Make sure `date_i18n()` correctly handles zero timestamp after [45901].
Props soulseekah, gravityview, Rarst.
Reviewed by azaozz, SergeyBiryukov.
Fixes #28636.

git-svn-id: https://develop.svn.wordpress.org/trunk@46577 602fd350-edb4-49c9-b593-d223f7449a82
2019-10-25 11:03:13 +00:00
SergeyBiryukov 747f8e2186 Date/Time: Make sure `wp_date()` does not unnecessarily escape localized numbers, but keeps localized slashes.
Props Rarst, tmatsuur, remcotolsma, peterwilsoncc.
Reviewed by peterwilsoncc.
Fixes #48319.

git-svn-id: https://develop.svn.wordpress.org/trunk@46569 602fd350-edb4-49c9-b593-d223f7449a82
2019-10-22 17:29:02 +00:00
Sergey Biryukov 99d5986b0c Plugins: Restore backward compatibility for PHP4-style passing of `array( &$this )` as action argument to `do_action()`.
This is a follow-up to [46149] to avoid unnecessary breakage in case of using the old notation.

Props david.binda, jrf.
Reviewed by azaozz.
Fixes #48312.

git-svn-id: https://develop.svn.wordpress.org/trunk@46568 602fd350-edb4-49c9-b593-d223f7449a82
2019-10-22 00:09:39 +00:00
Sergey Biryukov 1f7f0a1357 Comments: Add `rel="nofollow ugc"` attribute when converting plain URLs to `<a>` tags in comments via `make_clickable()`.
Introduce `make_clickable_rel` filter for the `rel` value that is added to URL matches converted to links.

This is a follow-up to [46349], which added the `rel="nofollow ugc"` attribute to existing `<a>` tags in comments via `wp_rel_ugc()`.

UGC stands for User Generated Content, and the `ugc` attribute value is recommended for links within user generated content, such as comments and forum posts.

See https://webmasters.googleblog.com/2019/09/evolving-nofollow-new-ways-to-identify.html.

Props blogginglife, SergeyBiryukov.
Reviewed by desrosj, audrasjb.
Fixes #48022.

git-svn-id: https://develop.svn.wordpress.org/trunk@46564 602fd350-edb4-49c9-b593-d223f7449a82
2019-10-21 20:39:16 +00:00
K. Adam White 56aa018065 REST API: Cast empty meta values to correct scalar types in REST response.
Introducing complex meta value handling in [45807] unintentionally removed value casting for empty scalar meta values.

Props TimothyBlynJacobs, chrisvanpatten, rmccue, kadamwhite.
Fixes #48363.



git-svn-id: https://develop.svn.wordpress.org/trunk@46563 602fd350-edb4-49c9-b593-d223f7449a82
2019-10-21 19:08:34 +00:00
Sergey Biryukov 943fa44db0 Shortcodes: Revert [46369] for now to allow more time to investigate and prepare for backward compatibility changes.
Also reverts follow-up changes in [46370] and [46465].

See #47863.

git-svn-id: https://develop.svn.wordpress.org/trunk@46554 602fd350-edb4-49c9-b593-d223f7449a82
2019-10-15 19:34:31 +00:00
Sergey Biryukov 3fb04abf15 Customize: Ensure that `WP_Customize_Manager::import_theme_starter_content()` properly handles starter content with (nested) arrays as values.
Previously, searching for symbol references to replace with post or attachment IDs in array values resulted in a PHP warning.

Props timph, JarretC, SergeyBiryukov.
Fixes #45484.

git-svn-id: https://develop.svn.wordpress.org/trunk@46548 602fd350-edb4-49c9-b593-d223f7449a82
2019-10-15 16:41:51 +00:00
Grzegorz (Greg) Ziółkowski 78d3ff391c Block Editor: Remove experimental Social Links blocks
We decided to mark Social Links block as an experimental feature in Gutenberg. In effect, we are moving all related code from WordPress 5.3 release.

Props youknowriad.

Fixes #48263.



git-svn-id: https://develop.svn.wordpress.org/trunk@46543 602fd350-edb4-49c9-b593-d223f7449a82
2019-10-15 15:35:03 +00:00
Jake Spurlock 778bf0c721 Administration: Ensure that admin referer nonce is valid.
Fix for a testing regression.

Props desrosj.


git-svn-id: https://develop.svn.wordpress.org/trunk@46485 602fd350-edb4-49c9-b593-d223f7449a82
2019-10-14 17:13:35 +00:00
Jake Spurlock f53a78fda7 Administration: Ensure that admin referer nonce is valid.
Coding standards, ensure that nonce is valid with identical, rather then equal operator.

Props vortfu, xknown, whyisjake.


git-svn-id: https://develop.svn.wordpress.org/trunk@46477 602fd350-edb4-49c9-b593-d223f7449a82
2019-10-14 15:38:14 +00:00
Jake Spurlock ad6c214307 Query: Remove the static query property.
Prevent unauthenticated views of publicly queryables content types.

Props aaroncampbell, whyisjake, nickdaugherty, xknown.


git-svn-id: https://develop.svn.wordpress.org/trunk@46474 602fd350-edb4-49c9-b593-d223f7449a82
2019-10-14 15:18:49 +00:00
Sergey Biryukov 0c75758333 Formatting: In `wp_validate_redirect()`, normalize the path when validating the location for relative URLs, to account for Windows paths.
Props peterwilsoncc, rconde, jmmathc, mat-lipe, Sixes, justinahinon, cmagrin, daxelrod, SergeyBiryukov.
Fixes #47980.

git-svn-id: https://develop.svn.wordpress.org/trunk@46472 602fd350-edb4-49c9-b593-d223f7449a82
2019-10-14 10:50:41 +00:00
Sergey Biryukov a8259b8c5e Users: Make sure `wp_logout()` clears current user, so that a subsequent call to `is_user_logged_in()` works as expected.
Props sebastian.pisula, donmhico, roytanck, juliobox.
Fixes #35488.

git-svn-id: https://develop.svn.wordpress.org/trunk@46467 602fd350-edb4-49c9-b593-d223f7449a82
2019-10-12 03:08:56 +00:00
Sergey Biryukov 572934992f Tests: Rename tests methods in `tests/pluggable.php` per the handbook's naming convention.
See #47632.

git-svn-id: https://develop.svn.wordpress.org/trunk@46466 602fd350-edb4-49c9-b593-d223f7449a82
2019-10-12 03:00:32 +00:00
Sergey Biryukov 5e6d8f584d Docs: Adjust `@since` note in `shortcode_parse_atts()` for consistency with similar notes.
See #47863.

git-svn-id: https://develop.svn.wordpress.org/trunk@46465 602fd350-edb4-49c9-b593-d223f7449a82
2019-10-12 02:48:26 +00:00
Sergey Biryukov 9a6bce9f5c Formatting: Make sure `wp_sanitize_redirect()` encodes spaces in URLs instead of stripping them out.
Props donmhico, hlashbrooke, dd32, azaozz.
Fixes #36998.

git-svn-id: https://develop.svn.wordpress.org/trunk@46462 602fd350-edb4-49c9-b593-d223f7449a82
2019-10-11 23:52:11 +00:00
Mike Schroder 68729adb57 Media: Update fallback previews to support `_wp_make_subsizes()`
Allows fallback previews (PDF by default, in core) to save image meta
after each size is generated to allow for resuming, and make sizes
immediately available.

Props azaozz, antpb, progremzion, mikeschroder.
See #48111.

git-svn-id: https://develop.svn.wordpress.org/trunk@46459 602fd350-edb4-49c9-b593-d223f7449a82
2019-10-11 07:52:12 +00:00
K. Adam White 70b408c8fe REST API: Fix error in _fields filtering logic where only one of several requested sibling properties would be included.
Props kadamwhite, TimothyBlynJacobs.
Fixes #48266.


git-svn-id: https://develop.svn.wordpress.org/trunk@46456 602fd350-edb4-49c9-b593-d223f7449a82
2019-10-10 17:16:44 +00:00
K. Adam White 22d50c492d REST API: Do not addslash when receiving meta arrays of non-string values.
Slashing non-string data caused PUT requests containing unmodified meta arrays of integers to fail the check against the existing stored meta value, causing a 500 when posting an unmodified response body back to the server.

Props TimothyBlynJacobs, augustuswm.
Fixes #48264.


git-svn-id: https://develop.svn.wordpress.org/trunk@46454 602fd350-edb4-49c9-b593-d223f7449a82
2019-10-09 17:34:20 +00:00
Sergey Biryukov 8ec0a21161 Docs: Add a `@since` note about new parameters with the spread operator added to function signatures.
Props jrf.
See #47678.

git-svn-id: https://develop.svn.wordpress.org/trunk@46451 602fd350-edb4-49c9-b593-d223f7449a82
2019-10-09 04:26:22 +00:00
K. Adam White e2cf94fa04 REST API: Ensure rest_controller instantiates the post type's declared REST controller class.
Ensures that the ::get_rest_controller() method will always return an instanceof the expected controller class, or null.
Removes unused private static property $post_type_controllers.

Props dlh, TimothyBlynJacobs.
Fixes #45677.



git-svn-id: https://develop.svn.wordpress.org/trunk@46435 602fd350-edb4-49c9-b593-d223f7449a82
2019-10-08 13:41:29 +00:00
K. Adam White 040304def7 REST API: Permit embedding of the 'self' link relation in the /search endpoint.
Removes a special-case prohibition against embedding 'self' which prevented ?_embed from being used with the /wp/v2/search endpoint.

Props TimothyBlynJacobs, chrisvanpatten, kadamwhite.
Fixes #47684.



git-svn-id: https://develop.svn.wordpress.org/trunk@46434 602fd350-edb4-49c9-b593-d223f7449a82
2019-10-08 04:43:10 +00:00
K. Adam White e17e5aab68 REST API: Ensure users with "moderate_comments" capability may edit comments.
Props meloniq.
Fixes #47024.



git-svn-id: https://develop.svn.wordpress.org/trunk@46433 602fd350-edb4-49c9-b593-d223f7449a82
2019-10-08 04:00:25 +00:00
John Blackbourn f257bdfbb2 Pings/Trackbacks: Remove a failing test that won't pass as long as `WP_IMPORTING` gets set during tests.
The `_publish_post_hook()` function checks for `WP_IMPORTING` before setting meta fields fir enclosures and pings, which means this test is doomed to fail.

The test can be re-implemented if the `WP_IMPORTING` constant gets moved to a function similar to how `wp_installing()` works for the `WP_INSTALLING` constant.

See #48014


git-svn-id: https://develop.svn.wordpress.org/trunk@46428 602fd350-edb4-49c9-b593-d223f7449a82
2019-10-07 22:17:22 +00:00
John Blackbourn 16b45f08a9 Pings/Trackbacks: Avoid adding multiple `_pingme` and `_encloseme` meta entries to a post when it gets updated prior to pings being done.
Props rebasaurus, whyisjake

Fixes #48014


git-svn-id: https://develop.svn.wordpress.org/trunk@46426 602fd350-edb4-49c9-b593-d223f7449a82
2019-10-07 20:27:20 +00:00
Andrew Ozz 4848b1e3aa REST API: Add support for continuing the post-processing of images after upload. Flow:
1. `POST /wp/v2/media`.
2. If the upload failed (HTTP 500 error), look for a response header with `X-WP-Upload-Attachment-ID` header that contains the newly created attachment ID.
3. `POST /wp/v2/media/{id}/post-process` with `{ "action": "create-image-subsizes" }`. This request may still fail, but it will save its progress.
4. On continued failure, `DELETE /wp/v2/media/{id}` to give up on the upload and instruct the user to resize their image before uploading.

Props TimothyBlynJacobs.
Fixes #47987.

git-svn-id: https://develop.svn.wordpress.org/trunk@46422 602fd350-edb4-49c9-b593-d223f7449a82
2019-10-07 17:04:49 +00:00
Sergey Biryukov 3a06234fe4 Tests: Use a consistent group for nav menu tests.
Fixes #48230.

git-svn-id: https://develop.svn.wordpress.org/trunk@46414 602fd350-edb4-49c9-b593-d223f7449a82
2019-10-06 15:12:42 +00:00
Sergey Biryukov f6267a04ee Menus: In `Walker_Nav_Menu`, `Walker_Category`, and `Walker_Page`, properly output link attributes having a legitimate "empty" value, for example an HTML data attribute with a value of zero (0).
Props nevma, AkSDvP, greenshady, SergeyBiryukov.
Fixes #47720.

git-svn-id: https://develop.svn.wordpress.org/trunk@46413 602fd350-edb4-49c9-b593-d223f7449a82
2019-10-06 15:04:18 +00:00
Sergey Biryukov 56b6b1e803 Themes: In `get_theme_mod()`, only run the `sprintf()` replacement on the default value if there's a string format pattern found in the value.
This prevents standalone percent symbols from being stripped out, e.g. in a default value like `100%`.

Props aristath, kuus, moonomo, westonruter, davetgreen, daviedR, katielgc, noisysocks, SergeyBiryukov.
Fixes #34290.

git-svn-id: https://develop.svn.wordpress.org/trunk@46395 602fd350-edb4-49c9-b593-d223f7449a82
2019-10-05 00:53:39 +00:00
Dominik Schilling 25ba9074cc QUnit: Include script dependencies for wp-a11y script to fix a TypeError.
Also, add missing message argument to Customizer notifications to ensure tests are passing.

Fixes #45066.

git-svn-id: https://develop.svn.wordpress.org/trunk@46388 602fd350-edb4-49c9-b593-d223f7449a82
2019-10-04 21:19:17 +00:00
Andrea Fercia 37cdffd3cc Accessibility: Media: Add more headings in the Media Modal.
Headings are the predominant mechanism for screen reader users to find information in a page. They also help all users to better identify the main sections of user interfaces.

- adds three new headings within the media modal 
- improves plural form translation for "item selected" by using `wp.i18n`
- horizontally centers the media modal menu in the responsive view

Props kjellr, karmatosed, melchoyce, afercia.
See #47149.
Fixes #47610.


git-svn-id: https://develop.svn.wordpress.org/trunk@46375 602fd350-edb4-49c9-b593-d223f7449a82
2019-10-03 12:09:31 +00:00
Jake Spurlock 02cf7f526e Shortcodes: Improve handling from `shortcode_parse_attts()`.
Added missing @ticket for #47863 on `data_shortcode_parse_atts()`

Also cleans up some linter fixes that were missed.

Props garrett-eclipse, whyisjake.
ixes #47863.


git-svn-id: https://develop.svn.wordpress.org/trunk@46370 602fd350-edb4-49c9-b593-d223f7449a82
2019-10-01 04:12:15 +00:00
Jake Spurlock 1f5525d2ff Shortcodes: Improve handling from `shortcode_parse_attts()`.
Ensure consistency between `shortcode_parse_attts()` when being used directly.

Props mauteri, birgire, SergeyBiryukov, kadamwhite, whyisjake.
Fixes #47863.



git-svn-id: https://develop.svn.wordpress.org/trunk@46369 602fd350-edb4-49c9-b593-d223f7449a82
2019-10-01 03:41:58 +00:00
Sergey Biryukov 0e26adbaea Comments: Add `rel="nofollow ugc"` attribute to links in comments.
UGC stands for User Generated Content, and the `ugc` attribute value is recommended for links within user generated content, such as comments and forum posts.

See https://webmasters.googleblog.com/2019/09/evolving-nofollow-new-ways-to-identify.html.

Props audrasjb, joostdevalk, dkarfa, SergeyBiryukov.
Fixes #48022.

git-svn-id: https://develop.svn.wordpress.org/trunk@46349 602fd350-edb4-49c9-b593-d223f7449a82
2019-09-30 01:29:10 +00:00
Sergey Biryukov 47643f7621 Coding Standards: Remove inline assignments and extra whitespace in `tests/multisite/network.php`.
Props garrett-eclipse, jrf.
See #48142.

git-svn-id: https://develop.svn.wordpress.org/trunk@46343 602fd350-edb4-49c9-b593-d223f7449a82
2019-09-29 12:21:29 +00:00
Sergey Biryukov c3dfdf84af Docs: Improve comments in `tests/multisite/network.php` per the documentation standards.
Props garrett-eclipse, jrf.
See #48142.

git-svn-id: https://develop.svn.wordpress.org/trunk@46342 602fd350-edb4-49c9-b593-d223f7449a82
2019-09-29 12:18:48 +00:00
Jake Spurlock 4ffefc2574 Comments: Avoid PHP notice in `get_comment_reply_link()` for `null` comment.
If there is no global comment, or the input comment is null, return early to prevent warnings.

Fixes #41846
Props birgire, earnjam



git-svn-id: https://develop.svn.wordpress.org/trunk@46335 602fd350-edb4-49c9-b593-d223f7449a82
2019-09-27 14:45:49 +00:00
Sergey Biryukov d9e6a5dd68 Tests: Correct `::assertArrayHasKey()` capitalization in [46252].
Props dkarfa, david.binda.
Fixes #48155.

git-svn-id: https://develop.svn.wordpress.org/trunk@46329 602fd350-edb4-49c9-b593-d223f7449a82
2019-09-26 20:30:35 +00:00
John Blackbourn 6b983b1d5c Themes: Add a test to ensure `get_template_part()` does not return a value.
This function must not be modified to return anything due to existing themes which output the return value, for example via `echo get_template_part( ... )`.

See #40969


git-svn-id: https://develop.svn.wordpress.org/trunk@46328 602fd350-edb4-49c9-b593-d223f7449a82
2019-09-26 20:25:59 +00:00
Sergey Biryukov 4f77abf6b9 REST API: Use delta comparison for floating date test added in [46279] to avoid race conditions.
See #48113.

git-svn-id: https://develop.svn.wordpress.org/trunk@46318 602fd350-edb4-49c9-b593-d223f7449a82
2019-09-26 01:39:19 +00:00
Sergey Biryukov f68fe85b41 Coding Standards: Remove inline assignment in `test_wp_delete_term_should_invalidate_cache()`.
See #48142.

git-svn-id: https://develop.svn.wordpress.org/trunk@46317 602fd350-edb4-49c9-b593-d223f7449a82
2019-09-26 01:33:44 +00:00
Jake Spurlock 628a545369 General: Further phpcs cleanup.
In [46312] and [46313] we attempted to do some phpcs cleanup. This commit cleans up three issues that were introduced in [46309].

Fixes #48142.

Props: whyisjake, garrett-eclipse, desrosj


git-svn-id: https://develop.svn.wordpress.org/trunk@46314 602fd350-edb4-49c9-b593-d223f7449a82
2019-09-26 00:36:20 +00:00