Commit Graph

22233 Commits

Author SHA1 Message Date
John Blackbourn 3a9cc4bf11 Posts, Post Types: Introduce a missing private query var that should have been introduced as part of #15459.
This private query var allows the hierarchical page query on the Pages listing screen to query for `wp_posts.ID, wp_posts.post_parent` instead of `wp_posts.*`. This introduces large memory and time savings when the site contains a large number of Pages. Combined with the processing time savings introduced in [31730] this makes the Pages listing screen considerably more performant.

Fixes #34982
Props rodrigosprimo

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


git-svn-id: http://core.svn.wordpress.org/trunk@38392 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-30 17:40:30 +00:00
John Blackbourn ebe159a4bc HTTP API: Prevent a fatal error on PHP < 5.4.7 due to changes introduced in [38449].
Fixes #36356

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


git-svn-id: http://core.svn.wordpress.org/trunk@38391 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-30 17:16:30 +00:00
John Blackbourn 4fd9ad1ce2 HTTP API: Add a `$component` parameter to `wp_parse_url()` to give it parity with PHP's `parse_url()` function.
Fixes #36356
Props jrf

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


git-svn-id: http://core.svn.wordpress.org/trunk@38390 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-30 16:36:28 +00:00
Andrea Fercia 99be6ffd3c Accessibility: Hide the "No activity yet" smiley from assistive technologies.
Fixes #37511.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38389 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-30 16:14:30 +00:00
Pascal Birchler 4753f6e127 Script Loader: Properly adjust tests missed in [38443].
See #37800.
Built from https://develop.svn.wordpress.org/trunk@38447


git-svn-id: http://core.svn.wordpress.org/trunk@38388 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-30 14:51:28 +00:00
Boone Gorges 3a4169d7ab Comments: Don't do direct SQL query when fetching decendants.
The SQL query was built using the clauses compiled when querying for
top-level comments. But in cases where the top-level comment query
results are already in the cache, the SQL clauses are not built, and
so are unavailable for `fill_descendants()`. Instead, we call
`get_comments()`, using modified versions of the parameters passed
to the main `WP_Comment_Query` class.

Props Akeif, Rarst for testing.
Fixes #37696.
Built from https://develop.svn.wordpress.org/trunk@38446


git-svn-id: http://core.svn.wordpress.org/trunk@38387 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-30 14:48:29 +00:00
Boone Gorges 28cc6cb368 Tests: Require `Basic_Object` and `Basic_Subclass` files earlier in call stack.
This ensures compatibility with third-party tools using these classes
in their test suites, after [38285].

Props DylanAuty, Frank Klein, TimothyBlynJacobs.
Fixes #37523.
Built from https://develop.svn.wordpress.org/trunk@38445


git-svn-id: http://core.svn.wordpress.org/trunk@38386 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-30 14:33:28 +00:00
Boone Gorges ded1bb5625 Tests: Add docblocks for `Basic_Object` and `Basic_Subclass` classes.
Props DylanAuty.
See #37523.
Built from https://develop.svn.wordpress.org/trunk@38444


git-svn-id: http://core.svn.wordpress.org/trunk@38385 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-30 14:32:32 +00:00
Sergey Biryukov c2b62878aa Script Loader: Close the `<link>` tag in `wp_resource_hints()`.
Props Chaos Engine.
Fixes #37800 for trunk.
Built from https://develop.svn.wordpress.org/trunk@38443


git-svn-id: http://core.svn.wordpress.org/trunk@38384 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-30 11:20:43 +00:00
Gary Pendergast dd9aaba852 Database: Don't force an unsupported character set that previously would've silently failed.
[37320] corrected some behaviour in how PHP and MySQL character sets are matched up. This was correct, but had the side effect of causing some incorrectly configured sites to start failing.

Prior to [37320], if `DB_CHARSET` was set to `utf8mb4`, but the PHP version didn't support `utf8mb4`, it would fall back to the default character set - usually `latin1`. After [37320], the `SET NAMES` query would force MySQL to treat the connection character set as `utf8mb4`, even if PHP wasn't able to understand it.

By checking if `mysqli_set_charset()` succeeded, we can simulate the old behaviour, while maintaining the fix in [37320].

Props danielkanchev fo helping to diagnose this issue.
Fixes #37689 for trunk.


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


git-svn-id: http://core.svn.wordpress.org/trunk@38382 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-30 07:38:32 +00:00
Gary Pendergast bd084204c1 Database: Ensure that variables are defined correctly.
There were some cases where some local variables in `wpdb::init_charset()` could be undefined when they were used.

Props Frozzare.
Fixes #37683 for trunk.


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


git-svn-id: http://core.svn.wordpress.org/trunk@38380 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-30 07:14:41 +00:00
Scott Taylor 3f51e08ac6 i18n: after r38364, check that `global $wp_locale` is an instance of `WP_Locale` before calling `->is_rtle()` in `is_rtl()`.
See #37827.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38379 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-30 05:57:41 +00:00
Boone Gorges d793020f1e Remove unnecessary uniqueness check in `get_attachment_taxonomies()`.
Running the taxonomy array through `array_unique()` is unnecessary
when the function returns objects, because the associative keys already
ensure uniqueness.

This also fixes a bug when running `get_attachment_taxonomies()` in
HHVM, which doesn't like casting objects to strings for the purposes
of `array_unique()`.

Props swissspidy.
See #37368.
Built from https://develop.svn.wordpress.org/trunk@38437


git-svn-id: http://core.svn.wordpress.org/trunk@38378 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-30 03:07:34 +00:00
Weston Ruter abd9cdc07b Customize: Allow users to more seamlessly create page-based nav menus during customization.
Introduces the ability to create stubs for the various post types to add to a given menu. This eliminates the need to leave the customizer to first create the post in the admin and then return to managing menus. Only the title of the newly-created post can be supplied; the post content will be blank and will need to be provided in the normal edit post screen outside the customizer, unless a plugin enables a post editing in the customizer experience. When a post is created and added to a nav menu in the customizer, the newly created post that is added to a menu is given the `auto-draft` status, and if the changes are not published, the `auto-draft` post will be automatically deleted within 7 days via `wp_delete_auto_drafts()`. However, if the customizer changes are saved, then these nav menu item `auto-draft` post stubs will be transitioned to `publish`.

Includes portions of code from the Customize Posts <https://github.com/xwp/wp-customize-posts> and Front-end Editor <https://github.com/iseulde/wp-front-end-editor> plugins.

For more information, see https://make.wordpress.org/core/2016/06/16/feature-proposal-content-authorship-in-menus-with-live-preview/

Props celloexpressions, westonruter, valendesigns, afercia, melchoyce, mapk, iseulde, mrahmadawais.
Fixes #34923.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38377 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-29 22:59:28 +00:00
Andrea Fercia 42c4653c9a Accessibility: Improve the file upload inputs styling.
Though browsers implement `cursor: pointer` on this kind of controls a bit 
inconsistently, the `pointer` cursor styling makes more clear the button and
label are actionable controls.

Props Ankit K Gupta.
Fixes #35552.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38376 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-29 21:08:29 +00:00
John Blackbourn 27770f200c Themes: Correct the type for the `$name` parameter of the `get_header`, `get_footer`, `get_sidebar`, and `get_template_part_{$slug}` hooks.
See #37770

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


git-svn-id: http://core.svn.wordpress.org/trunk@38375 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-29 20:42:30 +00:00
Joe McGill 0569c6219e Post Thumbnails: Prevent post thumbnail previews from spilling into other images.
After [38118], when previewing a page with a secondary loop, all post
thumbnails would be filtered to display the post thumbnail for the
page being previewed. This ensures `_wp_preview_post_thumbnail_filter()`
is only applied if the `$post_id` of the post meta being filtered is
equal to the post or page being previewed.

Props swisspidy, joemcgill.
Fixes #37697.
Built from https://develop.svn.wordpress.org/trunk@38433


git-svn-id: http://core.svn.wordpress.org/trunk@38374 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-29 12:25:29 +00:00
John Blackbourn a96f20f9b5 Comments: Add support for all HTTP protocol versions when returning a 405 from `wp-comments-post.php`.
Fixes #37863
Props tnash

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


git-svn-id: http://core.svn.wordpress.org/trunk@38373 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-29 12:00:32 +00:00
Dion Hulse 56bc1dc194 Bootstrap: Check that `ini_get_all()` exists before calling it, allows us to work around hosts who disable the function for "security purposes".
Fixes #37680 for trunk.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38372 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-29 02:59:30 +00:00
Dion Hulse 30270d851f HTTP: Accept non-string values in cookies, fixing a regression since 4.5.
Props swissspidy.
Fixes #37768 for trunk.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38371 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-29 02:42:45 +00:00
Dion Hulse e45ebb28f2 HTTP: Handle an edgecase within the URI parsing library included in Requests, where if a double slash exists at the start of the path the URL is passed to cURL malformed.
Props flixos90 for initial patch.
Fixes #37733 for trunk.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38370 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-29 02:33:34 +00:00
John Blackbourn b3faafc632 Themes: Correct the list of possible values for the dynamic portion of the `{$type}_template_hierarchy` and `{$type}_template` filters.
See #14310

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


git-svn-id: http://core.svn.wordpress.org/trunk@38369 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-28 23:57:49 +00:00
Andrew Ozz 2b0e81c595 TinyMCE: change the default font for the `vi` locale to the same stack as `he_IL`.
Props nmt90 for reporting and testing this.
Fixes #37755 for trunk.
Built from https://develop.svn.wordpress.org/trunk@38427


git-svn-id: http://core.svn.wordpress.org/trunk@38368 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-28 18:52:41 +00:00
Andrew Ozz bbc12c3dbe Editor: fix jumpiness on pressing backspace and delete in the Text editor.
Fixes #37690 for trunk.
Built from https://develop.svn.wordpress.org/trunk@38426


git-svn-id: http://core.svn.wordpress.org/trunk@38367 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-28 18:40:31 +00:00
Ella Iseulde Van Dorpe b67367b6f8 Editor: Use Beacon API over sync request
See https://www.w3.org/TR/beacon/ for more information.


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


git-svn-id: http://core.svn.wordpress.org/trunk@38366 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-28 18:29:30 +00:00
John Blackbourn dbdc1c28b1 I18N: Correct various instances of incorrect usage of `esc_attr_e()`.
Fixes #37457
Props henry.wright, afercia

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


git-svn-id: http://core.svn.wordpress.org/trunk@38365 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-28 18:06:30 +00:00
John Blackbourn a7c3974cdc Upgrade/Install: Don't display PHP errors during installation.
If a user is installing WordPress for the first time and has set `WP_DEBUG` to true, a PHP error during installation makes for a visually jarring experience.

Fixes #37358

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


git-svn-id: http://core.svn.wordpress.org/trunk@38364 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-28 17:50:29 +00:00
John Blackbourn 348c50b2a8 Formatting: Add a parameter to `wp_send_json_error()`, `wp_send_json_success()`, and `wp_send_json()` for specifying the HTTP response code.
Defaults to `200` in all cases, but can be used, for example, to return a `403` when using `wp_send_json_error()`.

Fixes #35666
Props stephenharris

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


git-svn-id: http://core.svn.wordpress.org/trunk@38363 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-28 17:42:28 +00:00
John Blackbourn a1d61a95e1 Security: Return a `403` instead of a `200` HTTP status when `check_ajax_referer()` fails.
This is, unfortunately, untestable in the current test suite, even in the AJAX tests.

Fixes #36362

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


git-svn-id: http://core.svn.wordpress.org/trunk@38362 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-28 17:31:30 +00:00
John Blackbourn b85e322e35 Security: Trigger a `_doing_it_wrong()` when `check_ajax_referer()` is called without its first parameter. This brings it inline with `check_admin_referer()`.
Fixes #36361

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


git-svn-id: http://core.svn.wordpress.org/trunk@38361 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-28 17:15:28 +00:00
John Blackbourn 6b3a3713fd Themes: Introduce tests for the theme template hierarchy.
See #14310

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


git-svn-id: http://core.svn.wordpress.org/trunk@38360 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-28 16:19:28 +00:00
John Blackbourn d346835bfb Themes: Update filter names in the inline documentation for the `get_*_template()` functions.
See #14310, #37770

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


git-svn-id: http://core.svn.wordpress.org/trunk@38359 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-28 16:15:30 +00:00
John Blackbourn 5985804f1f Permalinks: Correct an invalid peramstructure tag in a test.
Fixes #37858

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


git-svn-id: http://core.svn.wordpress.org/trunk@38358 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-28 12:53:29 +00:00
Pascal Birchler a09d7f3615 Bootstrap: Fix failing external HTTP tests after [38411].
When testing the transports, the transport name needs to be capitalized for the class name to be correct (`WP_Http_Curl` vs. `WP_Http_curl` ).

See #36335.
Built from https://develop.svn.wordpress.org/trunk@38416


git-svn-id: http://core.svn.wordpress.org/trunk@38357 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-28 10:34:30 +00:00
Pascal Birchler ac83e26875 Upgrade/Install: After [37687], fix the number of params passed to the upgrade hooks.
`wp_version_check()`, `wp_update_plugins()` and `wp_update_themes()` are all originally hooked to the `upgrader_process_complete` action with zero arguments passed to them. Zero arguments should be passed when re-adding them after translation updates, otherwise the sky will fall.

Props ionutst, gitlost.
Fixes #37731.
Built from https://develop.svn.wordpress.org/trunk@38415


git-svn-id: http://core.svn.wordpress.org/trunk@38356 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-28 10:04:30 +00:00
Scott Taylor f96fff3c9d Admin: allow `WP_Screen` to be checked via autoload in `convert_to_screen()`.
Props kraftbj.
See #36335.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38355 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-28 02:25:27 +00:00
John Blackbourn 17db8134c4 Query: Add and improve tests for query conditionals on the front page and home page.
See #37851

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


git-svn-id: http://core.svn.wordpress.org/trunk@38354 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-28 02:02:32 +00:00
Scott Taylor 2a9b372471 Script Loader: autoload in `load-{scripts|styles}.php`.
Props JohnPBloch.
See #36335.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38353 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-28 00:07:33 +00:00
Scott Taylor 390ceba6c7 Bootstrap: after r38409 and r38410, revert r38402 which reverted r38399.
This fixes the paths in `wp-vendor/` that were including `src`. I want to drop this in so we can find out what else will break.

See #36335.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38352 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-27 22:32:37 +00:00
Scott Taylor 1798d34f73 Bootstrap: run `composer install` after r38409.
See #36335.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38351 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-27 19:09:30 +00:00
Scott Taylor 4bf37e5555 Bootstrap: move `composer.{json|lock}` into `src`.
See #36335.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38350 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-27 19:06:31 +00:00
John Blackbourn e0a0be9579 Media: Add a `$wp_error` parameter to `wp_insert_attachment()` to give it parity with `wp_insert_post()`.
Fixes #37813
Props grapplerulrich, mrahmadawais

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


git-svn-id: http://core.svn.wordpress.org/trunk@38349 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-27 17:25:29 +00:00
John Blackbourn d194f60a5c Build/Test tools: Ensure the `Tests_Query_Conditionals` tests set up the environment correctly before re-registering initial taxonomies.
Fixes #37851

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


git-svn-id: http://core.svn.wordpress.org/trunk@38348 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-27 17:03:33 +00:00
John Blackbourn 9070bb3ace Users: Correct the documentation for the `wp_dropdown_users_args` filter description and its parameters.
See #37770

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


git-svn-id: http://core.svn.wordpress.org/trunk@38347 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-27 16:54:31 +00:00
John Blackbourn 4739cc0075 Build/Test Tools: Add support for `is_front_page()` to `assertQueryTrue()` and assert that all the tested conditions are supported by the method.
Fixes #37849

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


git-svn-id: http://core.svn.wordpress.org/trunk@38346 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-27 15:28:28 +00:00
Dion Hulse ec83ce1a0c i18n: Retire another remaining `wp-includes/locale.php` require, and instead load the required `WP_Locale` class directly.
See #37827.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38345 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-27 15:13:33 +00:00
John Blackbourn 71e8e8368a Themes: Remove failing tests introduced in [38390].
See #14310

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


git-svn-id: http://core.svn.wordpress.org/trunk@38344 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-27 14:53:38 +00:00
Dion Hulse 0e31a46161 Bootstrap: Revert [38399] as it's broken `/build/` and subsequently core.svn.wordpress.org.
The generated classmaps reference `/src/` files and operates in the assumption that the base directory is one level above `wp-settings.php`, which it isn't after our build processes are run.

See #36335

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


git-svn-id: http://core.svn.wordpress.org/trunk@38343 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-27 14:37:32 +00:00
Pascal Birchler 8b5fc84e63 After [38399], update the `.gitignore` file accordingly.
The following files have been added to `svn:ignore` already as they are not compatible with PHP 5.2:

* src/wp-vendor/autoload.php
* src/wp-vendor/composer/autoload_real.php
* src/wp-vendor/composer/autoload_static.php
* src/wp-vendor/composer/ClassLoader.php

See #36335.
Built from https://develop.svn.wordpress.org/trunk@38401


git-svn-id: http://core.svn.wordpress.org/trunk@38342 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-27 11:29:28 +00:00
Peter Wilson 62717837b5 Unit tests: Enforce $args object in `wp_nav_menu()` & `Walker_Nav_Menu`.
WordPress always* passes $args to filters as an array of arugments. A exception is made in `wp_nav_menu()` and the associated walker where these are passed to filters as an object, this has been the case for seven years (since [13368]).

These new tests enforce the use of an object in these filters to ensure backward compatibility is maintained.

See #24587.

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


git-svn-id: http://core.svn.wordpress.org/trunk@38341 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-27 11:28:30 +00:00