Commit Graph

31919 Commits

Author SHA1 Message Date
Scott Taylor fabd554bb2 Merge the Responsive Images feature plugin into core, initial commit. See: https://github.com/ResponsiveImagesCG/wp-tevko-responsive-images/
New functions in `media.php`:
* `wp_get_attachment_image_srcset_array()` - Returns an array of image candidate string data used to build a `srcset` value for an attachment given an `$attachement_id` and `$size`.
* `wp_get_attachment_image_srcset()` - Returns the `srcset` value for an attachment given an `$attachement_id` and `$size`.
* `wp_get_attachment_image_sizes()` - Returns the `sizes` value for an attachment given an `$attachement_id` and `$size` and optional arguments used to alter its output.
* `wp_make_content_images_responsive()` - A display filter for adding `srcset` and `sizes` to images embedded in content.
* `wp_img_add_srcset_and_sizes()` - A utility function used by `wp_make_content_images_responsive()` to add `srcset` and `sizes` to a single `<img>` element.

Modifies existing core functions:
* Modify `wp_get_attachment_image()` so the HTML returned for an image includes `srcset` and `sizes`.
* Modify `get_media_embedded_in_content()` (sup, 3.6 leftover) by adding `<img>` to the list of accepted tags that can be matched in content. This is used in `wp_make_content_images_responsive()` to find all of the images embedded in content before passing them off to `wp_img_add_srcset_and_sizes()`.

Tests:
* Add a new factory method to `WP_UnitTest_Factory_For_Attachment` named `create_upload_object()`
* Adds unit tests
* Updates unit tests

Props joemcgill, tevko, jaspermdegroot, mdmcginn, barryceelen, peterwilsoncc, fsylum, wonderboymusic, chriscoyier, benjaminpick, jrfnl, #12kingkool68, janhenckens, ryanmarkel, side777, ryelle, wturrell, micahmills, mattbagwell, coliff, DrewAPicture.
See #33641.


git-svn-id: https://develop.svn.wordpress.org/trunk@34855 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-06 04:58:21 +00:00
Drew Jaynes fe383af11a Multisite: Introduce `get_subdirectory_reserved_names()`, which returns a filterable list of reserved subdirectory site names.
The function encapsulates the existing `subdirectory_reserved_names` filter and reduces the maintenance burden of keeping the value of (currently) two instances of the same hook in sync.

See #33615.


git-svn-id: https://develop.svn.wordpress.org/trunk@34854 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-06 04:34:03 +00:00
Scott Taylor a409a72e94 Multisite: in `wpmu_validate_blog_signup()`, pass `embed` to the array passed to `subdirectory_reserved_names`.
See #32522.


git-svn-id: https://develop.svn.wordpress.org/trunk@34853 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-06 04:04:24 +00:00
Gary Pendergast da7ddeaeab Tests: Make the Attachment Slashes tests clean up after itself.
Fixes #34162.



git-svn-id: https://develop.svn.wordpress.org/trunk@34852 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-06 04:00:53 +00:00
Scott Taylor 3eb876d7e9 Embeds: move some functions from `media.php` to a new file, `embed-functions.php`, via `svn cp`
See #32522.


git-svn-id: https://develop.svn.wordpress.org/trunk@34851 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-06 03:58:42 +00:00
Scott Taylor 9fe13be519 oEmbed: add `embed` to `$subdirectory_reserved_names`.
Props jeremyfelt.
See #32522.


git-svn-id: https://develop.svn.wordpress.org/trunk@34850 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-06 03:44:25 +00:00
Aaron Jorbin 7764297d7b Fix whitespace issues introduced in [34848]
Bad Jorbin.

See #33968


git-svn-id: https://develop.svn.wordpress.org/trunk@34849 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-06 03:40:46 +00:00
Aaron Jorbin ba06fc4f5b HTTP timeouts should cause some tests to be skipped, not failed
A number of the HTTP external tests can inconstantly fail. As the HTTP API is one that doesn't change often, this failure creates noise. With the goal of increasing the signal from the unit tests, these tests are now skipped if they timeout. A notice is added when running the external http tests so that the developer knows what skipped tests may mean here.

See #33968



git-svn-id: https://develop.svn.wordpress.org/trunk@34848 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-06 03:36:18 +00:00
Scott Taylor f3f892ce46 Rewrite: add tests for `add_rewrite_rule()`.
Props DrewAPicture.
See #16840.


git-svn-id: https://develop.svn.wordpress.org/trunk@34847 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-06 03:35:14 +00:00
Scott Taylor 5d0718497c REST API: add a utility function, `mysql_to_rfc3339()` to `functions.php`
Background:
6d0ad766ca

Props rmmcue.
See #33982.


git-svn-id: https://develop.svn.wordpress.org/trunk@34846 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-06 03:18:45 +00:00
Scott Taylor d2bb4d6745 REST API: add `JsonSerializable()` compatibility interface for PHP <5.4 to `compat.php`
Props rmmcue.
See #33982.


git-svn-id: https://develop.svn.wordpress.org/trunk@34845 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-06 02:55:43 +00:00
Scott Taylor 51b4e75afb REST API: add `json_last_error_msg()` compatibility function for PHP <5.5 to `compat.php`
Props rmmcue.
See #33982.


git-svn-id: https://develop.svn.wordpress.org/trunk@34844 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-06 02:44:16 +00:00
Drew Jaynes 1aaa0aa607 Docs: Adjust the line wrap indentation on the `$link` parameter description for the `wp_post_revision_title_expanded` hook, introduced in [34842].
See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@34843 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-06 01:29:04 +00:00
Helen Hou-Sandi 8baf0e0737 Revisions: Add a `wp_post_revision_title_expanded` filter.
This allows for content to be added to revision lists, such as in the revisions metabox.

fixes #9681.


git-svn-id: https://develop.svn.wordpress.org/trunk@34842 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-06 00:58:17 +00:00
Dominik Schilling (ocean90) 95fc47be4f Image Editor: Merge two error strings.
Props pavelevap.
See #22623.

git-svn-id: https://develop.svn.wordpress.org/trunk@34841 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-05 22:39:37 +00:00
Jeremy Felt 87232d4f61 MS: Pass context to `get_header()` and `get_footer()` in activation/signup.
Fixes #21712.


git-svn-id: https://develop.svn.wordpress.org/trunk@34840 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-05 22:35:20 +00:00
Dominik Schilling (ocean90) f79a9d4ca2 Media List Table: Remove the date display in `column_parent()`.
It should be the time at which the post was written, but it was never because of the missing `$parent` argument.

Fixes #33238.

git-svn-id: https://develop.svn.wordpress.org/trunk@34839 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-05 22:24:41 +00:00
Weston Ruter 84e475dd80 Customizer: Ensure `WP_Customize_Setting::update()` returns boolean value.
Adds unit tests for `WP_Customize_Setting::save()` (and `WP_Customize_Setting::update()`), along with the actions `customize_update_{$type}`, and `customize_save_{$id_base}` which they trigger.

Fixes #34140.


git-svn-id: https://develop.svn.wordpress.org/trunk@34838 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-05 21:57:32 +00:00
John Blackbourn d8c9450179 Correct pagination when viewing the 'Mine' link on the post listing screen.
Fixes #19609
Props ocean90


git-svn-id: https://develop.svn.wordpress.org/trunk@34837 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-05 21:35:18 +00:00
John Blackbourn e710e49fe0 Include `post__in` as a value available to the `orderby` parameter in the docs for `WP_Query::parse_query()`.
See #32246


git-svn-id: https://develop.svn.wordpress.org/trunk@34836 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-05 20:57:14 +00:00
Weston Ruter a743e47af8 Customizer: Reset horizontal scroll position when finished dragging a nav menu item.
Props karinedo, austinginder, adamsilverstein, tyxla.
Fixes #33367.


git-svn-id: https://develop.svn.wordpress.org/trunk@34834 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-05 20:45:57 +00:00
Helen Hou-Sandi 3cde6d29c7 Permalinks: Slightly lengthen the truncated slug for display.
This brings it closer to the width of the input so there is less jumping around of buttons. We can afford the space now that other buttons in the space are typically no longer there.

fixes #18306.


git-svn-id: https://develop.svn.wordpress.org/trunk@34833 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-05 19:28:19 +00:00
Drew Jaynes 3e29193b98 Revisions: Also pass the `$revision` post object to the `wp_prepare_revision_for_js` filter, introduced in [34541].
Props helen.
Fixes #28627.


git-svn-id: https://develop.svn.wordpress.org/trunk@34832 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-05 18:32:38 +00:00
Drew Jaynes d95423c091 Docs: Document the `$revision_data` parameter passed to the `wp_prepare_revision_for_js` filter with a hash notation.
The hook was introduced in [34541].

See #28627.


git-svn-id: https://develop.svn.wordpress.org/trunk@34831 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-05 18:02:41 +00:00
Weston Ruter 32b604e984 Customizer: Fix moving focus to available nav menu items search.
Fixes regression introduced in [34219].

Props tyxla.
See #33360.
Fixes #34125 for trunk.


git-svn-id: https://develop.svn.wordpress.org/trunk@34829 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-05 15:26:59 +00:00
Boone Gorges 578134d4ff Use `wp_installing()` instead of `WP_INSTALLING` constant.
The `WP_INSTALLING` constant is a flag that WordPress sets in a number of
places, telling the system that options should be fetched directly from the
database instead of from the cache, that WP should not ping wordpress.org for
updates, that the normal "not installed" checks should be bypassed, and so on.

A constant is generally necessary for this purpose, because the flag is
typically set before the WP bootstrap, meaning that WP functions are not yet
available.  However, it is possible - notably, during `wpmu_create_blog()` -
for the "installing" flag to be set after WP has already loaded. In these
cases, `WP_INSTALLING` would be set for the remainder of the process, since
there's no way to change a constant once it's defined. This, in turn, polluted
later function calls that ought to have been outside the scope of site
creation, particularly the non-caching of option data. The problem was
particularly evident in the case of the automated tests, where `WP_INSTALLING`
was set the first time a site was created, and remained set for the rest of the
suite.

The new `wp_installing()` function allows developers to fetch the current
installation status (when called without any arguments) or to set the
installation status (when called with a boolean `true` or `false`). Use of
the `WP_INSTALLING` constant is still supported; `wp_installing()` will default
to `true` if the constant is defined during the bootstrap.

Props boonebgorges, jeremyfelt.
See #31130.

git-svn-id: https://develop.svn.wordpress.org/trunk@34828 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-05 15:05:26 +00:00
Drew Jaynes d67c6d2ade Docs: Add a missing DocBlock summary for `wp_list_widget_controls_dynamic_sidebar()`.
See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@34827 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-05 03:05:53 +00:00
Drew Jaynes 39af3ca810 Docs: Add missing DocBlock summaries for five functions in wp-admin/includes/template-functions.php.
See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@34826 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-05 03:02:20 +00:00
Drew Jaynes 4e86eb7cd4 Docs: Add missing DocBlock summaries to three functions in wp-admin/includes/plugin.php.
See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@34825 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-05 02:54:56 +00:00
Drew Jaynes 960526cdbc Docs: Add missing summaries for functions in wp-admin/includes/misc.php.
Also restructures the summary for `update_home_siteurl()`.

See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@34824 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-05 02:51:08 +00:00
Drew Jaynes e9e26c5726 Docs: Add missing DocBlock summaries for a multitude of functions in wp-admin/includes/media.php.
See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@34823 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-05 02:43:49 +00:00
Drew Jaynes 61cd633892 Docs: Add missing method summaries for the deprecated `WP_User_Search` class, including `prepare_query()`, `query()`, `prepare_vars_for_template_usage()`, `do_paging()`, and `get_results()`.
See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@34822 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-05 02:34:47 +00:00
Drew Jaynes c8537e7ced Docs: Add missing summaries for three deprecated admin functions: `dropdown_categories()`, `dropdown_link_categories()`, and `wp_dropdown_cats()`.
See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@34821 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-05 02:28:33 +00:00
Sergey Biryukov 37dfbef847 Use `home_url()` instead of `get_option( 'siteurl' )` in notifications that are sent when a user's email address or password is changed.
Props tyxla, ramay.
Fixes #34071.

git-svn-id: https://develop.svn.wordpress.org/trunk@34820 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-04 23:02:18 +00:00
Jeremy Felt bb8ca3bd5f MS: Populate `site_name` property in a new `WP_Network`.
This allows us to reduce some extra handling in `ms-settings.php`. Requires [34777].

Props johnjamesjacoby for the initial patch.
See #31985.


git-svn-id: https://develop.svn.wordpress.org/trunk@34819 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-04 20:50:48 +00:00
Drew Jaynes f5066a38f2 Docs: Document the plugin data array returned by `get_plugin_data()` with a hash-notation.
See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@34818 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-04 19:05:38 +00:00
Drew Jaynes b1ed6b5f18 Widgets: Add more tests for registering and unregistering sidebars with 1) no ID, 2) a string ID, 3) a numeric ID.
See #17078.


git-svn-id: https://develop.svn.wordpress.org/trunk@34817 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-04 05:22:11 +00:00
Drew Jaynes 572fd0a45b Widgets: Add tests for `dynamic_sidebar()` where sidebars were registered with 1) no supplied ID, 2) a numeric ID, 3) a string ID.
See #17078.


git-svn-id: https://develop.svn.wordpress.org/trunk@34816 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-04 04:43:46 +00:00
Boone Gorges 1c44c6011e Rechristen the `get_page_of_comment` filter.
See [34808].

Props DrewAPicture, SergeyBiryukov.
Fixes #13939.

git-svn-id: https://develop.svn.wordpress.org/trunk@34815 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-03 22:43:01 +00:00
Jeremy Felt f7647bac89 MS: Align HTML structure in `wp-signup.php` and `wp-activate.php`.
Assigns the `wp-activate-container` and `wp-signup-container` to the container inside `#signup-container` on each. This container already existed in `wp-signup.php` and is new in `wp-activate.php`.

Props ocean90.
Fixes #25478.


git-svn-id: https://develop.svn.wordpress.org/trunk@34814 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-03 21:50:24 +00:00
Drew Jaynes 14b8056d24 Users: Don't pass the current `WP_Users_List_Table` or `WP_MS_Users_List_Table` instance to the `users_list_table_query_args` filter after all.
After some discussion, it was decided that Multisite vs single site context can just as easily be derived using available functions like `is_network_admin()`, `get_current_screen()`, etc., rendering the second parameter moot. The hook was introduced in [34796].

Fixes #25360.


git-svn-id: https://develop.svn.wordpress.org/trunk@34813 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-03 21:48:35 +00:00
Boone Gorges ffa997a342 Update the taxonomy relationship cache in `is_object_in_term()`.
This function attempts to read from the relationship cache, and uses any data
it finds. If it finds no data, it does a query for the data it needs. Since we
are going to the trouble to query for the relationships, and since we are
already using cached data when available, let's go ahead and cache it for
later use.

Props joehoyle, boonebgorges.
Fixes #32044.

git-svn-id: https://develop.svn.wordpress.org/trunk@34812 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-03 21:18:55 +00:00
Boone Gorges 8974a2bb33 Don't prime term meta cache in `is_object_in_term()`.
Term meta is not necessary in this case, so priming the cache wastes a query.

See #10142, #32044.

git-svn-id: https://develop.svn.wordpress.org/trunk@34811 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-03 21:07:01 +00:00
Drew Jaynes 0ea2acb720 Tests: Permalink Structures Phase II: DRY up logic for setting permalink structures in test methods.
Renames `reset_permalinks()` to `set_permalink_structure()` (mimicking `$wp_rewrite->set_permalink_structure()`) and allows it to accept an optional permalink structure. In this way, we can double dip using it to both set and reset the permalink structure from anywhere.

Removes alot of duplicated code from tests.

See #33968.


git-svn-id: https://develop.svn.wordpress.org/trunk@34810 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-03 20:54:11 +00:00
Boone Gorges eebe549408 When creating terms, avoid false dupe checks due to accented characters.
`wp_insert_term()` doesn't allow the creation of a term when the term `name`
is the same as another term in the same hierarchy level of the same taxonomy.
Previously, this duplicate check used `get_term_by( 'name' )`, which uses the
database collation to determine sameness. But common collations do not
distinguish between accented and non-accented versions of a character. As a
result, it was impossible to create a term 'Foo' if a sibling term with an
accented character existed.

We address this problem by using `get_terms()` to do the duplicate check. This
query returns all potentially matching terms. We then do a stricter check
for equivalence in PHP, before determining whether one of the matches is
indeed a duplicate.

Props boonebgorges, tyxla, geza.miklo, mehulkaklotar.
Fixes #33864.

git-svn-id: https://develop.svn.wordpress.org/trunk@34809 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-03 20:24:09 +00:00
Boone Gorges 8b8dcb2ae4 Introduce 'page_of_comment' filter.
This filter allows developers to modify the output of `get_page_of_comment()`.

As a side effect of this new filter, comment page numbers will always be
returned as integers. Previously, they would sometimes be returned as floats -
eg `float(2.0)` instead of `int(2)`.

Props laceous.
See #13939.

git-svn-id: https://develop.svn.wordpress.org/trunk@34808 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-03 19:38:49 +00:00
Drew Jaynes 01f25fa247 Tests: Last try: It's redundant to reset permalinks on `tearDown()` if we're already doing it on every `setUp()`.
Removes the restoration logic, which leveraged a static property initialized with `get_option()`.

See #33968.


git-svn-id: https://develop.svn.wordpress.org/trunk@34807 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-03 19:26:24 +00:00
Boone Gorges 3b89b3ca28 Use 'comments_per_page' option as fallback in `get_page_of_comment()`.
The function now uses the following order of precedence when calculating
comment pagination: 1. the 'per_page' value passed in the `$args` array,
2. the 'comments_per_page' query var in `$wp_query`, and 3. the
'comments_per_page' setting from options-discussion.php. This change allows
`get_page_of_comment()` to return an accurate value before the main query
has been run.

Props laceous.
See #13939.

git-svn-id: https://develop.svn.wordpress.org/trunk@34806 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-03 19:25:25 +00:00
Boone Gorges ddc75e22ee Only count top-level comments when calculating threaded pagination.
The change in [34535] did not properly account for threading.

See #13939, #11334.

git-svn-id: https://develop.svn.wordpress.org/trunk@34805 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-03 19:15:55 +00:00
Boone Gorges b240a2a939 Ensure that `WP_User_Query` vars are filled after 'pre_get_users'.
This prevents notices from being thrown when a 'pre_get_users' callback
removes required values from the list of `query_vars`.

For backward compatibility with previous uses of 'pre_get_users', default
values are parsed both before and after the action is fired.

Fixes #33449.

git-svn-id: https://develop.svn.wordpress.org/trunk@34804 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-03 18:44:40 +00:00