Commit Graph

23667 Commits

Author SHA1 Message Date
Jeremy Felt
fa3dc867e7 Multisite: Add deleted_blog action after site has been deleted.
Props pauldewouters, johnjamesjacoby.
Fixes #25584.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40258 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-30 04:31:44 +00:00
James Nylen
977c5f85e3 Tests: Remove a couple of invalid error assertions.
A couple of REST API tests had an assertion `assertNotInstanceOf( 'WP_Error', $response );` which will never be true.

Since these assertions are invalid, and also made redundant by the response status check, we can just remove them.

Props dlh.
Fixes #40270.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40257 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-29 17:06:44 +00:00
Sergey Biryukov
e8c4b8c8e7 Docs: Add an entry for $pagenow global in WP_Customize_Manager::setup_theme().
Props mt8.biz.
Fixes #40297.
Built from https://develop.svn.wordpress.org/trunk@40349


git-svn-id: http://core.svn.wordpress.org/trunk@40256 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-29 11:41:46 +00:00
Sergey Biryukov
633ce094a1 Taxonomy: Fix typo in $aria_checked variable name in Walker_Category_Checklist::start_el().
Props dhanendran.
Fixes #40295.
Built from https://develop.svn.wordpress.org/trunk@40348


git-svn-id: http://core.svn.wordpress.org/trunk@40255 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-29 11:22:47 +00:00
Jeremy Felt
1c6111f3bb Multisite: Remove unused site-lookup global cache group.
The `site-lookup` group was introduced in WPMU, but never actually used in WordPress core.

Props johnjamesjacoby.
Fixes #38725.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40254 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-28 21:08:47 +00:00
Jeremy Felt
0e7e0aa4bc Multisite: Respect $_wp_suspend_cache_invalidation when clearing network and site caches.
Props johnjamesjacoby.
Fixes #40028.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40253 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-28 19:36:49 +00:00
Jeremy Felt
6530f5f5f2 Multisite: Allow falsy properties to be cached in site-details.
In previous iterations of `WP_Site`, there was concern that not all properties would be available when storing a site's details in cache. When introduced in [37918], an `ms_loaded` check was added to address this concern. Any properties that are still `false` after `ms_loaded` really are `false` and can be cached as such.

Props flixos90.
Fixes #40247.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40251 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-28 02:32:44 +00:00
Jeremy Felt
fa5f2d1fa2 Tests: Add missing global cache groups.
Add `useremail`, `userslugs`, `networks`, `sites`, and `site-details` as global cache groups when added with unit tests. This aligns the list with the core default.

Fixes #40283.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40250 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-28 01:46:45 +00:00
Jeremy Felt
b61ddd8035 Tests: Clarify zero path segment tests for get_network_by_path().
The set of assertions in this data provider intend to test a 0 path segment configuration rather than the use of paths.

Fixes #37217.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40249 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-28 01:25:48 +00:00
Jeremy Felt
94dbb2e8d8 Tests: Consolidate logic used to skip API fixture generation.
This checks for `is_multisite()` and the minimum PHP version in the same block and removes two `echo` statements previously used to indicate generation had been skipped.

Fixes #40041.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40248 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-27 21:05:44 +00:00
Jeremy Felt
f940beae2b Multisite: Add lang_id support to WP_Site_Query.
Sites can now be queried by `lang_id`, `lang__in`, and `lang__not_in`.

Props ocean90.
Fixes #40196.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40247 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-27 19:48:52 +00:00
Jeremy Felt
36aa674859 Tests: Use utf8mb4 max index length when creating keys.
In [31349], core `varchar` column key lengths were changed from 255 to 191 to support the 767 byte index size limit on standard utf8mb4 MySQL installs. This changes the DB schema tests to match.

Props caseypatrickdriscoll, clarinetlord.
Fixes #35958.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40246 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-27 19:34:53 +00:00
Pascal Birchler
db5a65eb5e Themes: Fix incorrect annotation for __clear_multi_author_cache() function.
Props flixos90.
See #40063.
Fixes #40262.


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


git-svn-id: http://core.svn.wordpress.org/trunk@40241 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-25 15:47:42 +00:00
Pascal Birchler
6216c997ba Multisite: After [40305], rename clean_site_details_cache() method as it's not really private.
See #40063.


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


git-svn-id: http://core.svn.wordpress.org/trunk@40240 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-25 15:31:43 +00:00
Weston Ruter
8256ecfecb Customize: Improve i18n for strings in hidden widget area notices.
Amends [40312].
Props westonruter, ocean90, swissspidy, SergeyBiryukov, michelleweber for copywriting.
See #33567, #33052.
Fixes #39087.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40237 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-24 22:03:42 +00:00
Pascal Birchler
0d42f8549c REST API: Use get_gmt_from_date() when preparing a draft post for response.
This prevents wrong dates when dealing with DST, see [40115] and [40284].

Props nerrad.
Fixes #40136.
Built from https://develop.svn.wordpress.org/trunk@40324


git-svn-id: http://core.svn.wordpress.org/trunk@40231 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-24 17:32:46 +00:00
John Blackbourn
37a638ae8a Users: Don't push the current user's role to the top of the list in wp_dropdown_roles().
This brings consistency to the order in which roles are displayed in the `Roles` dropdown when editing users.

Props bor0

Fixes #40162

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


git-svn-id: http://core.svn.wordpress.org/trunk@40230 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-24 14:53:46 +00:00
Sergey Biryukov
6e5e29c5bf Docs: Correct default value in @param entry for the $num_words parameter of wp_trim_words filter.
Props redrambles.
Fixes #40248.
Built from https://develop.svn.wordpress.org/trunk@40322


git-svn-id: http://core.svn.wordpress.org/trunk@40229 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-24 00:58:41 +00:00
John Blackbourn
3a4b5afa49 Login and Registration: Avoid a potentially incorrect value for the cookie hash on multisite installations that don't have a value in the siteurl network option.
This reverts [38619].

See #34084

Fixes #39497

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


git-svn-id: http://core.svn.wordpress.org/trunk@40227 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-23 19:01:42 +00:00
Weston Ruter
e78707aad4 Customize: Prevent client-side validation from being cleared when no corresponding server-side validation is present.
See #36944.
Fixes #39770.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40226 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-23 18:12:44 +00:00
Weston Ruter
5aec57b209 Customize: Fix navigation of site in preview on IE11.
Addresses issue in IE11 where the default port number of `:80` is unexpectedly included on `link.host` for links dynamically created by scripts.

Props westonruter, afercia for testing.
See #38409.
Fixes #40198.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40225 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-23 17:25:43 +00:00
Felix Arntz
6b5169739f Multisite: Add further unit tests for get_blog_details().
These tests verify that the returned site object is iterable and contains the expected properties.

See #40228, #40180.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40224 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-23 17:14:43 +00:00
Weston Ruter
c78f903a7b Customize: Fix selective refresh when customizing the 404 template.
Overrides the 404 status during partial refresh requests to serve back 200 so that the request is not deemed a failure and invoke the fallback behavior (full refresh).

See #27355.
Fixes #40018.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40223 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-23 16:57:43 +00:00
Sergey Biryukov
090901009b Twenty Seventeen: Declare jQuery as a dependency for navigation.js.
Props chesio.
Fixes #40224.
Built from https://develop.svn.wordpress.org/trunk@40315


git-svn-id: http://core.svn.wordpress.org/trunk@40222 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-23 16:22:44 +00:00
Weston Ruter
80bb51634a Customize: Harden site_icon control template to account for when full image size is missing.
Props aussieguy123, westonruter.
See #36749.
Fixes #40010.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40221 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-23 06:13:44 +00:00
Weston Ruter
84ed6f665f Customize: Prevent links to customize.php from being generated which have query vars from wp_removable_query_args() present.
Props dlh.
See #23367, #32692.
Fixes #31850.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40220 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-22 23:04:42 +00:00
Weston Ruter
085b50b20d Customize: Show notice in Widgets panel when there are additional widget areas not rendered in preview.
This extends the existing behavior which only showed a message only when there were no widget areas rendered in the preview. The number of non-rendered widget areas is indicated. Also removes needles deletion of `wp.customize.Widgets.data.l10n` property which hindered plugins.

See #33567, #33052.
Fixes #39087.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40219 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-22 19:03:45 +00:00
Sergey Biryukov
f44fe7f5fe Twenty Seventeen: Use esc_attr_e() for translatable strings in HTML attributes.
Props bor0.
Fixes #40216.
Built from https://develop.svn.wordpress.org/trunk@40311


git-svn-id: http://core.svn.wordpress.org/trunk@40218 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-22 03:52:41 +00:00
Sergey Biryukov
6a2b38ca6c Docs: Add description for $mode global in WP_MS_Sites_List_Table and WP_MS_Users_List_Table.
Fixes #40208.
Built from https://develop.svn.wordpress.org/trunk@40310


git-svn-id: http://core.svn.wordpress.org/trunk@40217 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-22 03:48:42 +00:00
Sergey Biryukov
0b7148ebbb Docs: Add description for $mode global in WP_Media_List_Table and WP_Posts_List_Table.
See #40208.
Built from https://develop.svn.wordpress.org/trunk@40309


git-svn-id: http://core.svn.wordpress.org/trunk@40216 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-22 03:47:07 +00:00
Sergey Biryukov
e51bc5fb6b Docs: Add missing @global entry for list table view mode in WP_Screen::render_view_mode().
Props priyankabehera155.
See #40208.
Built from https://develop.svn.wordpress.org/trunk@40308


git-svn-id: http://core.svn.wordpress.org/trunk@40215 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-22 03:46:28 +00:00
Sergey Biryukov
127a2c9998 Docs: Add missing @global entry for list table view mode in wp_ajax_inline_save().
Props priyankabehera155.
See #40208.
Built from https://develop.svn.wordpress.org/trunk@40307


git-svn-id: http://core.svn.wordpress.org/trunk@40214 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-22 03:45:45 +00:00
Rachel Baker
f78ceb362e REST API: Confirm the parent post object of an attachment exists in WP_REST_Posts_Controller::check_read_permission().
Avoid a PHP Error when attempting to embed the parent post of an attachment, when the parent post ID is invalid. Instead check if the parent post object exists before checking the read permission for the parent post.

Props GhostToast.
Fixes #39881. 

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


git-svn-id: http://core.svn.wordpress.org/trunk@40213 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-20 04:30:46 +00:00
Felix Arntz
cde6126923 Multisite: Handle sites cache invalidation more granularly for option updates.
Previously `update_blog_option()` would trigger an invalidation of that site's entire cache although these changes did not affect the content of these caches. Furthermore changes to the special options `blogname`, `siteurl` and `post_count` should not invalidate the entire cache of that site, but only their respective site details cache. The option `home` now has the same behavior as it also belongs to the site details, but did not invalidate the cache at all previously.

Several new unit tests confirm these changes work as expected.

Fixes #40063.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40212 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-19 16:22:45 +00:00
Weston Ruter
e69b9b244c Customize: Fix failure to collapse expanded sections and panels that become deactivated.
Improve jsdoc for `onChangeActive` function. Restores fix from [34557] which got dropped in [38648].

Props dlh, westonruter.
See #34391, #33509.
Fixes #39430.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40211 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-19 00:04:43 +00:00
Pascal Birchler
280bfe7933 Taxonomy: Add missing REST API properties to WP_Taxonomy class.
Props danielbachhuber.
Fixes #39987.
Built from https://develop.svn.wordpress.org/trunk@40303


git-svn-id: http://core.svn.wordpress.org/trunk@40210 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-18 15:25:43 +00:00
Pascal Birchler
9ebebe5d25 Posts, Post Types: Add missing REST API properties to WP_Post_Type class.
Props danielbachhuber.
Fixes #39986.
Built from https://develop.svn.wordpress.org/trunk@40302


git-svn-id: http://core.svn.wordpress.org/trunk@40209 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-18 15:17:45 +00:00
Rachel Baker
503d42fe6b Themes: Add filter for excluding directories from being scanned for template files.
Exclude 'node_modules' directories from paths searched in `WP_Theme::scandir()`. Introduces the `theme_scandir_exclusions` filter to allow sites to exclude any other paths like `bower_components` or `vendor` from being searched for template files.

Props lukasbesch, dd32, swisspidy, rachelbaker. 
Fixes #38292. 

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


git-svn-id: http://core.svn.wordpress.org/trunk@40208 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-18 03:54:41 +00:00
Weston Ruter
fc631ffa00 Customize: Trailingslash the home nav menu item URL in starter content.
This prevents an additional 301 redirect when clicking on the nav menu item, and it also prevents a scenario where the auth cookie may not be passed and cause an authentication error when navigating in the customizer.

Props dlh, swissspidy.
Fixes #40112.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40207 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-18 03:23:44 +00:00
Sergey Biryukov
9f4bbcdb78 Docs: Fix typo in wp_parse_url() and _get_component_from_parsed_url_array() docblocks.
Props naomicbush.
Fixes #40190.
Built from https://develop.svn.wordpress.org/trunk@40299


git-svn-id: http://core.svn.wordpress.org/trunk@40206 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-17 19:02:40 +00:00
Drew Jaynes
c1030f3b94 Docs: Add a missing return description for get_post_taxonomies().
h/t deeptiboddapati.
See #39130.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40205 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-17 17:27:41 +00:00
Pascal Birchler
3e189479a7 List Tables: Hide 'Empty Trash' and 'Empty Spam' buttons when view is already empty.
Props ivantedja, Presskopp, printsachen1, Jaydeep Rami, mathieuhays, cazm.
Fixes #38341.
Built from https://develop.svn.wordpress.org/trunk@40297


git-svn-id: http://core.svn.wordpress.org/trunk@40204 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-17 16:54:42 +00:00
Pascal Birchler
62061bab56 Multisite: Ensure first page/post/comment content is not empty when setting up a new site.
This prevents creating page without any content when the options are populated with an empty string.

Props shadyvb.
Fixes #40036.
Built from https://develop.svn.wordpress.org/trunk@40296


git-svn-id: http://core.svn.wordpress.org/trunk@40203 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-17 15:49:42 +00:00
Felix Arntz
2295ed8031 Multisite: Remove restriction of minimum site name length in wpmu_validate_blog_signup().
It is sometimes desirable to support shorter site names than 4 characters, therefore that restriction should be removed. It is still possible to manually enforce it by using the `wpmu_validate_blog_signup` filter.

As a result of this change, another `is_super_admin()` call gets removed which affects the ongoing efforts of working on a network-wide role system.

Props milindmore22.
Fixes #39676. See #37616.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40202 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-17 14:36:43 +00:00
Felix Arntz
8e71ca0f94 Multisite: Provide unit tests for wpmu_validate_blog_signup().
See #39676.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40201 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-17 14:15:44 +00:00
Boone Gorges
72e14046c7 Improve querying for terms with falsey names and slugs.
Prior to [38677], `get_term_by()` would always return false if
an empty string were passed as the queried 'name' or 'slug'. The
refactor to use `get_terms()` broke this behavior; inappropriately
imprecise `empty()` checks caused the 'name' or 'slug' clause to be
discarded altogether when fetching terms, resulting in an incorrect
term being returned from the function.

We fix the regression by special-casing truly empty values passed
to `get_term_by()`, and ensuring that `WP_Term_Query` is properly
able to handle `0` and `'0'` term queries.

Props sstoqnov.
Fixes #21760.
Built from https://develop.svn.wordpress.org/trunk@40293


git-svn-id: http://core.svn.wordpress.org/trunk@40200 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-16 02:04:43 +00:00
Boone Gorges
1e05730f2d Streamline get_terms() parameter documentation.
Since 4.6, `get_terms()` has been a wrapper for `WP_Term_Query`.
Full parameter documentation lives with the class, and
`get_terms()` should reference rather than duplicate it.

Props shashwatmittal.
Fixes #37075.
Built from https://develop.svn.wordpress.org/trunk@40292


git-svn-id: http://core.svn.wordpress.org/trunk@40199 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-16 01:35:45 +00:00
Boone Gorges
d4350bc065 Fix the formatting of $taxonomies parameter of 'wp_get_object_terms' filter.
[38667] changed the way that the filter parameters are built. That
changeset didn't fully account for the pre-4.7 format of `$taxonomies`.

Props ig_communitysites.
Fixes #40154.
Built from https://develop.svn.wordpress.org/trunk@40290


git-svn-id: http://core.svn.wordpress.org/trunk@40197 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-14 18:42:43 +00:00
James Nylen
d92e1fb1e4 REST API: Fix DST handling in a test.
The time chosen for `test_empty_post_date_gmt_shimmed_using_post_date` falls within US daylight savings time.  This may cause the test to fail depending on whether the current locale has DST.

The fix is to specify a numeric `gmt_offset` rather than a `timezone_string`.

Unprops jnylen0.
Fixes #40136.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40196 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-13 15:07:45 +00:00
Andrew Ozz
7d34efea8d Improve wording of the AYS warning when permanently deleting uploads, tags, posts.
Props dllh, gma992.
Fixes #39712 for trunk.
Built from https://develop.svn.wordpress.org/trunk@40283


git-svn-id: http://core.svn.wordpress.org/trunk@40195 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-11 19:33:43 +00:00
Sergey Biryukov
e9f73b06b6 Docs: Correct the description for wp.updates.deleteTheme.
Props MattyRob.
Fixes #40110.
Built from https://develop.svn.wordpress.org/trunk@40279


git-svn-id: http://core.svn.wordpress.org/trunk@40194 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-11 16:13:46 +00:00
Boone Gorges
43208263a0 Tests: Use assertSame() for WP_Query 'orderby' tests.
`assertEqualSets()` ignores order, so isn't much good for testing 'orderby'.

See #38034.
Built from https://develop.svn.wordpress.org/trunk@40278


git-svn-id: http://core.svn.wordpress.org/trunk@40193 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-11 03:08:48 +00:00
Boone Gorges
bdd898045d Don't run 'get_terms' filter when querying for terms within get_term_by().
Historically, it has been possible to call `get_term_by()` within
a 'get_terms' filter callback. Since `get_term_by()` was refactored
to use `get_terms()` internally [38677], callbacks of this nature
have resulted in infinite loops.

As a workaround, we introduce a 'suppress_filter' option to `get_terms()`,
and use it when calling the function from within `get_term_by()`.

Props ocean90.
See #21760.
Built from https://develop.svn.wordpress.org/trunk@40275


git-svn-id: http://core.svn.wordpress.org/trunk@40192 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-11 02:27:44 +00:00
John Blackbourn
afdef17903 Build/Test tools: Don't install PHPUnit on the travis:js builds. Saves a couple of minutes of build time.
See #40100

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


git-svn-id: http://core.svn.wordpress.org/trunk@40190 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-10 23:57:44 +00:00
Sergey Biryukov
59855beb7b Twenty Seventeen: Correct grammar in 'Page Layout' control description.
Props zoonini, laurelfulford.
Fixes #40107.
Built from https://develop.svn.wordpress.org/trunk@40270


git-svn-id: http://core.svn.wordpress.org/trunk@40189 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-10 23:35:45 +00:00
John Blackbourn
4b1de2bec0 Build/Test tools: Get Travis builds working on HHVM again.
This change moves to specifying the PHPUnit version for all PHP versions, and fixes an issue where the Composer global bin directory is not at `~/.composer/vendor/bin` on the boxes that are used for HHVM builds.

See #40100

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


git-svn-id: http://core.svn.wordpress.org/trunk@40188 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-10 22:58:44 +00:00
Andrea Fercia
6944c8f3a6 List Tables: After [38703], [38706], and [40118], adjust the jQuery selector to make the selection of a range of checkboxes work again.
Unprop afercia.
Fixes #40056.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40187 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-10 19:14:46 +00:00
John Blackbourn
d675e30e51 Build/Test tools: Don't attempt to report PHP's extensions when running HHVM jobs on Travis. It doesn't work.
Built from https://develop.svn.wordpress.org/trunk@40267


git-svn-id: http://core.svn.wordpress.org/trunk@40186 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-10 15:31:41 +00:00
John Blackbourn
96b2923e62 Docs: Remove the duplicate hook documentation for the newly introduced send_auth_cookies filter.
See #39367

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


git-svn-id: http://core.svn.wordpress.org/trunk@40184 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-10 15:03:42 +00:00
John Blackbourn
265a0f4d98 Build/Test tools: Don't override the wp_set_auth_cookie() and wp_clear_auth_cookie() functions.
Overriding pluggable functions in the test suite is asking for trouble in the future. In addition, it means the test suite can't be guaranteed to behave the same as core.

This instead introduces a `send_auth_cookies` filter which can be hooked in during the test suite to prevent these functions from attempting to send cookie headers to the client.

Fixes #39367

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


git-svn-id: http://core.svn.wordpress.org/trunk@40183 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-10 14:33:46 +00:00
John Blackbourn
129063036e Build/test tools: Add some more debugging to Travis and bring the format of the Xdebug fix inline with branches.
Built from https://develop.svn.wordpress.org/trunk@40259


git-svn-id: http://core.svn.wordpress.org/trunk@40181 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-09 21:48:42 +00:00
Dominik Schilling
b2984d8b67 Build/Test Tools: On Travis CI install and use the node version which is specified in package.json.
Props netweb.
See #35105.
Built from https://develop.svn.wordpress.org/trunk@40258


git-svn-id: http://core.svn.wordpress.org/trunk@40180 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-09 21:09:42 +00:00
John Blackbourn
b5a47a131c Build/Test tools: Account for PHP 5.2 when using Composer to install PHPUnit.
See #39822, #40086

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


git-svn-id: http://core.svn.wordpress.org/trunk@40179 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-09 20:54:43 +00:00
Sergey Biryukov
6476ef2cc9 Canonical: Strip trailing punctuation from permalinks.
Props joostdevalk, lancewillett, SergeyBiryukov.
Fixes #20383.
Built from https://develop.svn.wordpress.org/trunk@40256


git-svn-id: http://core.svn.wordpress.org/trunk@40178 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-09 20:05:46 +00:00
John Blackbourn
f79e867a96 Build/Test tools: Explicitly use PHPUnit 5.7 for the PHP 7 builds on Travis.
This avoids fatal errors while the tests remain incompatible with PHPUnit 6, which was recently introduced on Travis.

See #39822, #40086

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


git-svn-id: http://core.svn.wordpress.org/trunk@40177 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-09 19:14:44 +00:00
Sergey Biryukov
e18640f4a7 Docs: Correct @return type for calendar_week_mod().
Props dingo_bastard.
Fixes #40077.
Built from https://develop.svn.wordpress.org/trunk@40254


git-svn-id: http://core.svn.wordpress.org/trunk@40176 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-09 14:02:55 +00:00
John Blackbourn
a188b877d4 Build/Test tools: Remove the unnecessary clone of the twentysixteen repo.
This is no longer needed since #31550.

Fixes #40066

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


git-svn-id: http://core.svn.wordpress.org/trunk@40174 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-09 01:11:43 +00:00
Weston Ruter
d7cb2f7706 Customize: Show title input placeholders for widgets that have default titles when rendered.
Fixes #39909.
Props bor0, dlh, westonruter.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40173 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-08 18:25:44 +00:00
John Blackbourn
3821ff74bc Build/Test tools: In Travis, skip some tests when not on trunk.
This skips time sensitive tests (copyright year and PHP/MySQL version requirements) when tests are run on branches on Travis.

Props netweb, jorbin

Fixes #39486

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


git-svn-id: http://core.svn.wordpress.org/trunk@40171 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-08 00:07:42 +00:00
John Blackbourn
4dffd5b82e Build/Test tools: Revert [40239] due to unrelated changes.
See #39486

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


git-svn-id: http://core.svn.wordpress.org/trunk@40170 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-08 00:05:42 +00:00
John Blackbourn
28055b9ff5 Build/Test tools: In Travis, skip some tests when not on trunk.
This skips time sensitive tests (copyright year and PHP/MySQL version requirements) when tests are run on branches on Travis.

Props netweb, jorbin
Fixes #39486

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


git-svn-id: http://core.svn.wordpress.org/trunk@40169 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-08 00:01:46 +00:00
James Nylen
27aa0664df REST API: Add gmt_offset and timezone_string to the base /wp-json response.
The site's current timezone offset is an important piece of information for any REST API client that needs to manipulate dates.  It has not been previously available.

Expose both the `gmt_offset` (the site's current offset from UTC in hours) and `timezone_string` (which also provides information about daylight savings time) via the "site info" endpoint (the base `/wp-json` response).

Also update the `wp-api-generated.js` fixture file with the changes to the default API responses.

Props sagarkbhatt.
Fixes #39854.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40168 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-07 05:48:41 +00:00
James Nylen
6e72e293c2 WP_Query: Add missing tests for combinations of orderby and include parameters.
This commit adds some missing test cases for combinations of `orderby` and other parameters (`post_parent__in` and `post_name__in`).

Followup to [40056] for `orderby` and `post__in`.

The interaction of these parameters is perhaps counterintuitive because `orderby` does not affect the returned results.  This is overall probably the best design, and it's now better tested and documented.

Props fibonaccina.
See #39055.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40167 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-07 05:27:44 +00:00
John Blackbourn
9e6d7eca00 Build/Test Tools: Call wp_head() and wp_footer() in the theme used during tests.
See #31550
Fixes #39988

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


git-svn-id: http://core.svn.wordpress.org/trunk@40165 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-07 01:34:43 +00:00
John Blackbourn
263831a72d Press This: Verify intent before fetching in-page resources using Press This.
Props vortfu

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


git-svn-id: http://core.svn.wordpress.org/trunk@40134 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-06 13:55:41 +00:00
Aaron Campbell
288cd46939 Strip control characters before validating redirect.
Built from https://develop.svn.wordpress.org/trunk@40183


git-svn-id: http://core.svn.wordpress.org/trunk@40122 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-06 13:38:41 +00:00
John Blackbourn
9092fd01e1 Taxonomy: Correct the formatting of HTML entities when generating the screen reader text for tag removal.
Props adamsilverstein

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


git-svn-id: http://core.svn.wordpress.org/trunk@40120 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-06 13:14:41 +00:00
Aaron Campbell
4d80f8b3e1 Plugins: Add file check to plugin deletions.
Built from https://develop.svn.wordpress.org/trunk@40169


git-svn-id: http://core.svn.wordpress.org/trunk@40108 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-06 12:55:41 +00:00
Dominik Schilling
419c8d97ce Embeds: URL encode YouTube video IDs for broader compatibility.
Built from https://develop.svn.wordpress.org/trunk@40160


git-svn-id: http://core.svn.wordpress.org/trunk@40099 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-06 11:42:40 +00:00
Jeremy Felt
28f838ca3e Validate video and audio metadata.
Built from https://develop.svn.wordpress.org/trunk@40148


git-svn-id: http://core.svn.wordpress.org/trunk@40087 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-06 08:01:43 +00:00
Boone Gorges
2282cd8cf1 Taxonomy: When querying terms, ensure $taxonomies is an array.
This avoids PHP notices that otherwise arise when no `taxonomy`
parameter is passed to `get_terms()` or `WP_Term_Query`.

Props dlh.
Fixes #39932.
Built from https://develop.svn.wordpress.org/trunk@40147


git-svn-id: http://core.svn.wordpress.org/trunk@40086 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-03 03:02:43 +00:00
Boone Gorges
b6572af5d2 Taxonomy: Improve 'Parent' label when editing taxonomy terms.
Instead of the hardcoded 'Parent', use the `parent_item` label.

Props abrain, dlh.
Fixes #34545.
Built from https://develop.svn.wordpress.org/trunk@40146


git-svn-id: http://core.svn.wordpress.org/trunk@40085 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-03 02:54:42 +00:00
Boone Gorges
ac6a3c76e4 Taxonomy: Take 'parent' into account when checking for terms with duplicate names.
Terms with duplicate names are not allowed at the same level of a
taxonomy hierarchy. The name lookup introduced in [34809] did not
properly account for the 'parent' parameter, with the result that
the duplicate-name restriction was tighter than intended (terms
with duplicate names could not be created at different levels of
a single hierarchy).

Props mikejolley.
Fixes #39984.
Built from https://develop.svn.wordpress.org/trunk@40145


git-svn-id: http://core.svn.wordpress.org/trunk@40084 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-03 02:50:41 +00:00
Boone Gorges
5ac6ecab48 Taxonomy: Improve precision of duplicate name checks when inserting terms.
`wp_insert_term()` does not allow for terms with the same name to exist
at the same hierarchy level, unless the second term has a unique slug.
When this logic was refactored in [31792] and [34809], a bug was
introduced whereby it was possible to bypass the no-same-named-sibling
check in cases where the first term had a non-auto-generated slug
(ie, where the name was 'Foo' but the slug something other than 'foo',
such that the second term would get the non-matching slug 'foo').

This changeset fixes this issue by ensuring that the duplicate name
check runs both in cases where there's an actual slug clash *and* in
cases where no explicit `slug` has been provided to `wp_insert_term()`.
The result is a more reliable error condition:
`wp_insert_term( 'Foo' ... )` will always fail if there's a sibling
'Foo', regardless of the sibling's slug.

Props mikejolley.
See #39984.
Built from https://develop.svn.wordpress.org/trunk@40144


git-svn-id: http://core.svn.wordpress.org/trunk@40083 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-03 02:40:45 +00:00
Boone Gorges
d29924e496 Improve formatting in wp_term_is_shared() docblock.
Props netweb.
Fixes #40004.
Built from https://develop.svn.wordpress.org/trunk@40143


git-svn-id: http://core.svn.wordpress.org/trunk@40080 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-02 02:28:41 +00:00
Boone Gorges
04a7ef2b67 Tests: Starter content tests should use copies of images stored in /tmp.
This ensures that generated thumbnails are kept out of the version-
controlled `DIR_TESTDATA` directory.

Props bor0.
Fixes #40008.
Built from https://develop.svn.wordpress.org/trunk@40142


git-svn-id: http://core.svn.wordpress.org/trunk@40079 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-02 02:26:44 +00:00
John Blackbourn
ae890935b3 Build/Test Tools: Only attempt to disable Xdebug on stable builds of PHP.
Unstable builds of PHP (nightly and hhvm) don't have the Xdebug extension enabled. Attempting to disable it results in a build error.

See #39978

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


git-svn-id: http://core.svn.wordpress.org/trunk@40076 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-28 00:04:44 +00:00
John Blackbourn
6a578af528 Build/Test Tools: Disable Xdebug when testing on Travis.
This should have some performance benefits, but I guess we'll need to wait and see.

See #39978

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


git-svn-id: http://core.svn.wordpress.org/trunk@40075 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-27 22:54:43 +00:00
Joe McGill
f8c7aa6208 Media: Skip PDF preview tests when image editor doens't support.
Following [40130] tests fail on environments that don't support PDF
previews because the expected meta data doesn't get written.

See #39875.
Built from https://develop.svn.wordpress.org/trunk@40131


git-svn-id: http://core.svn.wordpress.org/trunk@40068 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-27 17:51:45 +00:00
Joe McGill
d6bec79fe7 Media: Keep PDF previews from overwriting files.
Since support for PDF previews were added in [38949], it's possible
that the generated image file could overwrite an existing image file
with the same name. This uses `wp_unique_filename()` to avoid this
issue and adds a '-pdf' identifier on the end of filenames.

Props gitlost, derosj, mikeschroder, joemcgill.
Fixes #39875. See #31050.
Built from https://develop.svn.wordpress.org/trunk@40130


git-svn-id: http://core.svn.wordpress.org/trunk@40067 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-27 15:39:47 +00:00
Mike Schroder
f780259d88 Media: After [40123], Feature check setImageOrientation.
In [40123], `WP_Image_Editor_Imagick` started using
`Imagick::setImageOrientation` and `Imagick::ORIENTATION_TOPLEFT`,
but had no equivalent feature check.

While they were introduced more than 9 years ago, it's important
to double-check everything is available before using with Imagick.

Fixes #37140.
Built from https://develop.svn.wordpress.org/trunk@40129


git-svn-id: http://core.svn.wordpress.org/trunk@40066 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-27 04:22:51 +00:00
John Blackbourn
76f44d242b Comments: When commenting on a draft post, display a friendly error message if the user can view the post.
This prevents the unhelpful white screen of death when a user who can view the post (eg. preview it) leaves a comment while the post is in draft.

Props sagarprajapati, milindmore22, mayurk, swissspidy
Fixes #39650

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


git-svn-id: http://core.svn.wordpress.org/trunk@40065 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-27 00:23:40 +00:00
John Blackbourn
9e095f0791 Mail: Ensure entities in the site title are decoded when used in the body of the new user email.
Props ajoah
Fixes #39446

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


git-svn-id: http://core.svn.wordpress.org/trunk@40064 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-26 22:20:44 +00:00
Andrea Fercia
c3a2b57241 Media: Restore correct upload errors displaying after [37610].
Props codegeass, MatheusGimenez, joemcgill.
Fixes #39516.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40063 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-26 18:15:43 +00:00
Joe McGill
8e56992132 Media: Fix unit tests for MIME checks on multisite.
A few of the multisite tests were failing after [40124] because
multisite filters `upload_mimes` with the `check_upload_mimes()`
function to reduce the set of allowed MIME types. This fixes those
errors by skipping the tests for adding additional MIME types and
only tests file types assumed to be allowed.

See #39550.
Built from https://develop.svn.wordpress.org/trunk@40125


git-svn-id: http://core.svn.wordpress.org/trunk@40062 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-26 16:06:45 +00:00
Joe McGill
87ad9e31ab Media: Reduce failing uploads following 4.7.1.
[39831] introduced more strict MIME type checking for uploads, which
resulted in unintetionally blocking several filetypes that were
previously valid. This change uses  a more targeted approach to MIME
validation to restore previous behavior for most types.

Props blobfolio, iandunn, ipstenu, markoheijnen, xknown, joemcgill.
Fixes #39550, #39552.
Built from https://develop.svn.wordpress.org/trunk@40124


git-svn-id: http://core.svn.wordpress.org/trunk@40061 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-25 16:08:44 +00:00
Mike Schroder
454acad22e Media: Reset Exif orientation after rotate in WP_Image_Editor_Imagick.
Due to inconsistencies in the way browsers handle Exif orientation data,
if a user manually rotates an image within WordPress, set the Exif orientation to
the default (1) so that the image displays with the same rotation/flip in every browser.

Props sanchothefat, triplejumper12, joemcgill, azaozz, markoheijnen, mikeschroder.
See #14459.
Fixes #37140.
Built from https://develop.svn.wordpress.org/trunk@40123


git-svn-id: http://core.svn.wordpress.org/trunk@40060 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-25 05:26:41 +00:00
James Nylen
0c005fdb0e REST API: Fix behavior of sticky posts filter when no posts are sticky.
Previously, when getting posts from the API with `sticky=true`, if there were no sticky posts set, the query would return all posts  as if the `sticky` argument was not set.  In this situation, the query should return an empty array instead.

A `sticky=true` query that should return an empty array (in the previous situation, or with `include` and no intersecting post IDs) was also broken in that it would query the post with ID 1.

Finally, this commit significantly improves test coverage for the `sticky` filter argument, including direct testing of the `WHERE` clauses generated by `WP_Query`.

Props ryelle.
Fixes #39947.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40059 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-25 05:03:42 +00:00
James Nylen
a5ad623bfd REST API: Update the client test fixtures after changes to post formats.
This commit updates the `wp-api-generated.js` fixture file after recent changes to the way post formats work in the API.

See #39232.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40058 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-25 04:46:41 +00:00
James Nylen
889c790eb6 REST API: Allow setting post formats even if they are not supported by the theme.
A `post_format` not used by the current theme, but supported by core is not a wrong/broken piece of information.  It's just not used at this point in time.  Therefore we should allow setting and retrieving any of the standard post formats supported in core, even if the current theme doesn't use them.

After this commit, a post's `format` value can survive a round trip through the API, which is a good general design principle for an API.

Props JPry, iseulde, davidakennedy, Drivingralle.
Fixes #39232.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40057 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-24 23:30:44 +00:00
Sergey Biryukov
d303e3d9ca Plugins: After [38703], adjust the selector for checkbox selection to account for nested tables.
Props afercia, swissspidy, reldev.
Fixes #39739.
Built from https://develop.svn.wordpress.org/trunk@40118


git-svn-id: http://core.svn.wordpress.org/trunk@40055 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-24 23:10:44 +00:00
Andrew Ozz
9c1d14b875 TinyMCE: preserve empty image alt attributes.
Props afercia.
Fixes #39912 for trunk.
Built from https://develop.svn.wordpress.org/trunk@40110


git-svn-id: http://core.svn.wordpress.org/trunk@40047 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-24 20:41:43 +00:00
Adam Silverstein
bc1fc91ec8 REST API: JS client - QUnit tests for custom namespace route discovery.
Add QUnit tests for the parsing of custom namespace routes. Add a custom schema fixture based on the `wp-js-widgets` plugin. Test that the client can parse the widget namespace in the schema and correctly construct the expected group of models and collections. Also includes a small unrelated QUnit fix to ensure nav-menu test passes when it is loaded without its tests executing as well as a small jshint fix, adding a missing semicolon since [40107].

Props jnylen0.
Fixes #39561.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40046 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-24 18:40:40 +00:00
James Nylen
78b298f0f3 REST API: Shim post_date_gmt for drafts / empty dates in the REST API.
Internally, WordPress uses a special `post_date_gmt` value of `0000-00-00 00:00:00` to indicate that a draft's date is "floating" and should be updated whenever the post is saved.  This makes it much more difficult for API clients to know the correct date of a draft post.

This commit provides a best guess at a `date_gmt` value for draft posts in this situation using the `date` field and the site's current timezone offset.

Props joehoyle.
Fixes #38883.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40045 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-24 18:15:44 +00:00
Adam Silverstein
33286df4c1 Themes: enable browser history support in add new theme screen.
Enable history support for the new theme screen, including navigating theme details and closing the details modal. Theme selection is now also bookmark-able, so linking to a URL like `/wp-admin/theme-install.php?theme=twentyseventeen` correctly opens the theme preview.

Props dd32.
Fixes #36613.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40044 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-24 17:48:42 +00:00
Felix Arntz
eb8457d3f4 REST API: Do not allow access to users from a different site in multisite.
It has been unintendedly possible to both view and edit users from a different site than the current site in multisite environments. Moreover, when passing roles to a user in an update request, that user would implicitly be added to the current site.

This changeset removes the incorrect behavior for now in order to be able to provide a proper REST API workflow for managing multisite users in the near future. Related unit tests have been adjusted as well.

Props jnylen0, jeremyfelt, johnjamesjacoby.
Fixes #39701.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40043 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-23 22:37:44 +00:00
James Nylen
7d421b2042 REST API: Correctly parse body parameters for DELETE requests.
DELETE was inadvertently omitted from the list of non-POST HTTP methods that should be able to accept body parameters.  Parameters passed to DELETE requests as JSON are already parsed correctly; this commit fixes `application/x-www-form-urlencoded` parameters as well.

Props mnelson4.
Fixes #39933.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40042 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-23 20:10:44 +00:00
James Nylen
6e9d23220a REST API: Ensure that tests pass if extra endpoints are registered.
Many plugins and themes use the WP core test suite to run their unit tests, so the API tests shouldn't fail if there are extra endpoints registered in non-core namespaces.

Props rachelbaker.
Fixes #39264.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40041 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-23 15:50:46 +00:00
Sergey Biryukov
564d6a0c90 Docs: Update the description of is_singular() and WP_Query::is_singular() to be parsed correctly by developer.wordpress.org.
Props grapplerulrich.
Fixes #39948.
Built from https://develop.svn.wordpress.org/trunk@40103


git-svn-id: http://core.svn.wordpress.org/trunk@40040 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-23 10:30:43 +00:00
Felix Arntz
55df308b4d Multisite: Use WP_Network_Query in WP_Network::get_by_path().
An additional unit test has been introduced to verify the method works properly when using an external object cache.

Props spacedmonkey, jeremyfelt.
Fixes #37217.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40039 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-22 10:42:45 +00:00
James Nylen
b6ce4e2830 REST API: Fix multiple issues with setting dates of posts and comments.
This commit modifies the `rest_get_date_with_gmt` function to correctly parse local and UTC timestamps with or without timezone information.

It also ensures that the REST API can edit the dates of draft posts by setting the `edit_date` flag to `wp_update_post`.

Overall this commit ensures that post and comment dates can be set and updated as expected.

Fixes #39256.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40038 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-21 18:18:45 +00:00
Sergey Biryukov
c4e78a8d8b About page: Remove autoplay and loop attributes on "Theme Starter Content", "Edit Shortcuts", and "Video Headers" videos, originally added as a part of [39512].
For UX and accessibility reasons, it's better to always avoid playing videos automatically.

Props bor0.
Fixes #39560.
Built from https://develop.svn.wordpress.org/trunk@40089


git-svn-id: http://core.svn.wordpress.org/trunk@40026 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-20 13:01:42 +00:00
Dion Hulse
2808758334 Customize: Update the introduced version in the docs for the get_header_video_url filter to 4.7.3.
See #39512.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40023 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-20 06:48:08 +00:00
Weston Ruter
0343f50561 Customize: Prevent vertical clipping of thumbnail in header image customizer control.
Removes some method overrides on `wp.customize.HeaderTool.ChoiceView` introduced in [27497].

See #21785.
Props bradyvercher.
Fixes #38559.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40019 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-20 00:10:49 +00:00
Rachel Baker
da8ae2facd REST API: Include the status property in view context responses from the Posts endpoints.
Previously the status for a Post (or other post_types) was only exposed under the `edit` context, which doesn't really make much sense considering we support querying by post status without authentication. Originally introduced in v2.0 beta 1: 69f617d749 without any explanation in the commit message.

Props dhanendran, jnylen0, rachelbaker.
Fixes #39466.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40017 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-19 04:32:41 +00:00
James Nylen
cf4e085207 REST API: Skip generating the client test fixtures in multisite mode.
There are a couple of changes to the generated API schemas between single-site and multisite mode - for example, the `url` and `email` settings are not present in the settings endpoint (see #39005).

To avoid unexpected changes to the `wp-api-generated.js` fixture file, skip generating the client test fixtures when running the test suite in multisite mode.

See #39264.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40014 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-18 19:30:45 +00:00
Adam Silverstein
c7b217cee9 JavaScript: when starting Backbone history, stop if previously started.
Prevent a potential error condition if Backbone history is started by a plugin or theme before core tries to start it. 

Props tfrommen.
Fixes #39612.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40013 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-17 22:00:42 +00:00
Adam Silverstein
518ff1576b REST API: JavaScript client - improve route discovery for custom namespaces.
Fix parsing of custom namespace routes. Transform class names, removing dashes and capitalizing each word/route part so a route path of `widgets/recent-posts` becomes a collection with the name `WidgetsRecentPosts`. Correct parent route part when routes are longer than expected, reversing parse direction.

Props westonruter, jazbek.
Fixes #39561.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40011 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-17 20:54:44 +00:00
Pascal Birchler
8ce61a87f4 I18N: Update translators comment after [40072].
Props ocean90.
See #39898.
Built from https://develop.svn.wordpress.org/trunk@40073


git-svn-id: http://core.svn.wordpress.org/trunk@40010 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-17 10:21:41 +00:00
Pascal Birchler
db1ff39224 I18N: Fix broken sprintf() after [40067].
See #39898.
Built from https://develop.svn.wordpress.org/trunk@40072


git-svn-id: http://core.svn.wordpress.org/trunk@40009 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-17 10:15:44 +00:00
Dion Hulse
30cb64a011 Media: Avoid PHP Warnings in get_post_galleries() when processing empty [gallery] shortcodes and avoid returning the incorrect results when the global $post does not match the provided post ID.
Props dd32, joemcgill, seanchayes.
Fixes #39277, #39304.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40007 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-17 06:46:42 +00:00
Dion Hulse
c50113dc8d HTTP API: Restore backwards compatibility with the http_api_curl filter - it expects that the handle parameter is passed as a reference, however [39212] missed that.
Props pento.
Fixes #39783.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40005 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-17 05:06:44 +00:00
Sergey Biryukov
69ab181f01 I18N: Remove <code> tags from translatable strings in wp-includes/customize/class-wp-customize-custom-css-setting.php.
Fixes #39898.
Built from https://develop.svn.wordpress.org/trunk@40067


git-svn-id: http://core.svn.wordpress.org/trunk@40004 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-17 02:23:42 +00:00
James Nylen
23e4694e0c REST API: Skip generating the client test fixtures in PHP 5.2 and 5.3.
Follow-up to [40065] - `JSON_*` constants are differently unsupported in PHP 5.2 and 5.3, which caused other, more different failures.

Also bring back `JSON_UNESCAPED_SLASHES` because the generated output looks nicer this way.

Fixes #39264.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40003 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-17 00:13:41 +00:00
James Nylen
cb100a0539 REST API: Fix the client test fixture generation in PHP 5.2 and 5.3.
Remove `JSON_UNESCAPED_SLASHES` from the `wp_json_encode` call - this constant is not supported in PHP < 5.4, and we don't polyfill it either.

Also make the PHPUnit test suite correctly exit with a non-zero exit code when `wp-tests-config.php` is not present.  This was causing `grunt restapi-jsclient` to incorrectly proceed to its second step even when the first step failed with this error.

Props ocean90.
Fixes #39264.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40002 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-16 23:30:43 +00:00
Weston Ruter
34b179876e Customize: Skip intercepting non-HTTP(S) links in customizer preview just as jump links are ignored.
Ensures that links with `javascript:`, `mailto:` and other protocols work as expected in the customizer preview.

Fixes #39797.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40001 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-16 21:21:45 +00:00
James Nylen
cb7a9a731d REST API: Cast revision author ID to int.
The `post_author` field is a string internally, but we need to cast it to an integer in the REST API.  This was already done for posts, but not for revisions.  The field is already declared as an integer in both controllers.

Fixes #39871.

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


git-svn-id: http://core.svn.wordpress.org/trunk@40000 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-16 20:09:45 +00:00
Sergey Biryukov
59d33e90da Docs: Correct @return value type for wp_nav_menu().
Props chesio.
Fixes #39890.
Built from https://develop.svn.wordpress.org/trunk@40062


git-svn-id: http://core.svn.wordpress.org/trunk@39999 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-16 16:09:43 +00:00
Adam Silverstein
0bcfc08b3f REST API: improve test fixture generation, normalizing data.
Add a data normalization pass when generating data fixtures for the REST API endpoints. Ensures that the `wp-api-generated.js` fixture won't change between test runs. Set more default properties and use fixed values for any properties that can't be easily controlled (object IDs and derivatives like link). Generate the fixture file with JSON_PRETTY_PRINT so that future diffs are easier to follow.

Props jnylen0, netweb.
Fixes #39264.

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


git-svn-id: http://core.svn.wordpress.org/trunk@39998 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-15 17:59:42 +00:00
Adam Silverstein
e322b0eb77 Media: debounce the media grid search, avoiding duplicate requests.
Add a debounce wrapper to the media grid search handler. The search callback is now fired after a 300 ms typing pause.

Remove redundant handlers for 'search' and 'change', preventing multiple/duplicate search callbacks.

Props certainstrings, joemcgill, Kelderic, batmoo.
Fixes #38911.

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


git-svn-id: http://core.svn.wordpress.org/trunk@39997 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-15 17:29:44 +00:00
Andrea Fercia
ca44bbd134 Buttons: Fix a few .button-link glitches after [40052].
Removes some stray underlines. Explicitly set the button text to be left aligned.

Props Cheffheid, f.staude, Presskopp.

See #34242.
Fixes #35126, #38712.

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


git-svn-id: http://core.svn.wordpress.org/trunk@39996 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-14 18:42:46 +00:00
Adam Silverstein
1d337dec33 REST API: Add QUnit tests for wp-api.js and PHPUnit fixture generation.
Add QUnit tests: verify that wp-api loads correctly, verify that the expected base models and collections exist and can be instantiated, verify that collections contain the correct models, verify that expected helper functions are in place for each collection.

The QUnit tests rely on two fixture files: `tests/qunit/fixtures/wp-api-generated.js` contains the data response from each core endpoint and is generated by running the PHPUnit `restapi-jsclient` group. `tests/qunit/fixtures/wp-api.js` maps the generated data to endpoint routes, and overrides `Backbone.ajax` to mock the responses for the tests.

Add PHPUnit tests in `tests/phpunit/tests/rest-api/rest-schema-setup.php`. First, verify that the API returns the expected routes via `server->get_routes()`. Then, the `test_build_wp_api_client_fixtures` test goes thru each endpoint and requests it from the API, tests that it returns data, and builds up the data for the mocked QUnit tests, saving the final results to `tests/qunit/fixtures/wp-api-generated.js`.

Add a new grunt task `restapi-jsclient` which runs the phpunit side data generation and the qunit tests together.

Props jnylen0, welcher.
Fixes #39264.


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


git-svn-id: http://core.svn.wordpress.org/trunk@39995 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-14 04:23:43 +00:00
John Blackbourn
1100cca947 Themes: Add template type and template candidates as parameters to the {$type}_template filter.
Props mschadegg
Fixes #39525

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


git-svn-id: http://core.svn.wordpress.org/trunk@39994 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-12 21:25:42 +00:00
James Nylen
bccb15166a WP_Query: Add tests for the combination of orderby=post__in and order.
This commit adds test cases for the interaction (or more accurately, lack of
interaction) between `orderby=post__in` and the `order` parameter.

Props fibonaccina.
See #39055.

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


git-svn-id: http://core.svn.wordpress.org/trunk@39993 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-12 18:07:42 +00:00
Weston Ruter
f3644a702e Customize: Ensure edit shortcuts get re-created for nested partials when a parent partial is refreshed.
Fixes issue where the edit shortcut for a nav menu gets dropped when the containing Custom Menu widget is updated.

See #39101.
Fixes #39353.

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


git-svn-id: http://core.svn.wordpress.org/trunk@39992 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-11 03:35:43 +00:00
Sergey Biryukov
fe0b8a2aaf Pings/Trackbacks: Avoid scheduling multiple do_pings events in _publish_post_hook().
Props ethitter.
Fixes #39828.
Built from https://develop.svn.wordpress.org/trunk@40054


git-svn-id: http://core.svn.wordpress.org/trunk@39991 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-10 03:09:43 +00:00
Sergey Biryukov
62dc0e6c57 Docs: Add missing meta_type and meta_compare arguments to WP_Term_Query::__construct() and get_terms() docblocks.
Props 1naveengiri.
Fixes #39825.
Built from https://develop.svn.wordpress.org/trunk@40053


git-svn-id: http://core.svn.wordpress.org/trunk@39990 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-10 02:28:43 +00:00
Andrea Fercia
d33301821b Buttons: Improve the .button-link CSS class for link-like buttons.
Updates `.button-link` adding color and underline to make link-like buttons look
like links by default. Introduces `.button-link-delete` as a modifier, stackable
CSS class for red button-links.

Props Cheffheid, afercia.

See #34242.
Fixes #35126.

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


git-svn-id: http://core.svn.wordpress.org/trunk@39989 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-09 16:47:44 +00:00
Scott Taylor
9bf3844ef9 Media: in wp.media.view.DeleteSelectedPermanentlyButton, move destructive async operations outside of the selection loop.
Fixes #39780.

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


git-svn-id: http://core.svn.wordpress.org/trunk@39988 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-08 19:44:41 +00:00
Scott Taylor
907e8cbd66 Media: in wp.media.view.Toolbar.refresh(), check for a selection before iterating over models.
Props chandrapatel.
Fixes #39511.

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


git-svn-id: http://core.svn.wordpress.org/trunk@39987 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-08 19:17:43 +00:00
Pascal Birchler
71fb840a24 Taxonomy: Disallow overriding the name property when registering a taxonomy.
Props wpfo for initial patch.
Fixes #39308.
Built from https://develop.svn.wordpress.org/trunk@40049


git-svn-id: http://core.svn.wordpress.org/trunk@39986 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-06 19:39:42 +00:00
Sergey Biryukov
6de5a9f8e3 Docs: Add a note to retrieve_password_message filter that password reset email will not be sent if the filtered message is empty.
Props sudar.
Fixes #39788.
Built from https://develop.svn.wordpress.org/trunk@40048


git-svn-id: http://core.svn.wordpress.org/trunk@39985 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-06 04:16:42 +00:00
Sergey Biryukov
234f2040a8 Docs: Use third-person singular verb for rest_avatar_sizes filter description.
See #39130.
Built from https://develop.svn.wordpress.org/trunk@40047


git-svn-id: http://core.svn.wordpress.org/trunk@39984 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-06 02:58:40 +00:00
Sergey Biryukov
e29bbcd167 Docs: Use third-person singular verb for wp_get_custom_css filter description.
See #39130.
Built from https://develop.svn.wordpress.org/trunk@40046


git-svn-id: http://core.svn.wordpress.org/trunk@39983 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-06 02:57:42 +00:00
Sergey Biryukov
a972390e61 Customize: Introduce get_header_video_url filter for the return value of get_header_video_url().
Props sanket.parmar, celloexpressions.
Fixes #39512.
Built from https://develop.svn.wordpress.org/trunk@40045


git-svn-id: http://core.svn.wordpress.org/trunk@39982 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-06 02:52:41 +00:00
Pascal Birchler
a95486acdc General: Add tests for wp_parse_slug_list().
Props danielbachhuber.
See #35582.
Built from https://develop.svn.wordpress.org/trunk@40044


git-svn-id: http://core.svn.wordpress.org/trunk@39981 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-05 20:35:42 +00:00
Sergey Biryukov
47aab2faad Docs: Clarify that get_the_category_list() and the_category() display links as an unordered list by default.
See #39130.
Built from https://develop.svn.wordpress.org/trunk@40043


git-svn-id: http://core.svn.wordpress.org/trunk@39980 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-05 15:16:44 +00:00
Sergey Biryukov
cff9bc5a43 Docs: Clarify that has_excerpt() checks if the post has a custom excerpt, not some generated excerpt.
See #35487.
Built from https://develop.svn.wordpress.org/trunk@40042


git-svn-id: http://core.svn.wordpress.org/trunk@39979 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-05 14:35:46 +00:00
Weston Ruter
85b4cddebf Customize: Extend auto-draft life of a customize_changeset post whenever modified.
Keep bumping the date for the auto-draft to preserve it from garbage-collection via `wp_delete_auto_drafts()` after 7 days.

See #30937.
Fixes #39713.

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


git-svn-id: http://core.svn.wordpress.org/trunk@39978 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-05 06:39:41 +00:00
Adam Silverstein
717aeab3cc REST API: JavaScript client should use _.extend when merging objects.
Correct an issue during the client's dynamic route discovery in `wp.api.utils.decorateFromRoute` where `_.union` potentially failed if used on objects.

Props ketuchetan.
Fixes #39341.


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


git-svn-id: http://core.svn.wordpress.org/trunk@39977 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-02-03 21:46:43 +00:00