Commit Graph

4889 Commits

Author SHA1 Message Date
Ryan McCue
007e7b8cd4 REST API: Unbreak everything.
Obviously, it wouldn't have been a good commit unless I botched it.

See #33982.


git-svn-id: https://develop.svn.wordpress.org/trunk@34929 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-08 02:33:51 +00:00
Ryan McCue
b39211475d REST API: Introduce baby API to the world.
Baby API was born at 2.8KLOC on October 8th at 2:30 UTC. API has lots
of growing to do, so wish it the best of luck.

Thanks to everyone who helped along the way:

Props rmccue, rachelbaker, danielbachhuber, joehoyle, drewapicture,
adamsilverstein, netweb, tlovett1, shelob9, kadamwhite, pento,
westonruter, nikv, tobych, redsweater, alecuf, pollyplummer, hurtige,
bpetty, oso96_2000, ericlewis, wonderboymusic, joshkadis, mordauk,
jdgrimes, johnbillion, jeremyfelt, thiago-negri, jdolan, pkevan,
iseulde, thenbrent, maxcutler, kwight, markoheijnen, phh, natewr,
jjeaton, shprink, mattheu, quasel, jmusal, codebykat, hubdotcom,
tapsboy, QWp6t, pushred, jaredcobb, justinsainton, japh, matrixik,
jorbin, frozzare, codfish, michael-arestad, kellbot, ironpaperweight,
simonlampen, alisspers, eliorivero, davidbhayes, JohnDittmar, dimadin,
traversal, cmmarslender, Toddses, kokarn, welcher, and ericpedia.

Fixes #33982.


git-svn-id: https://develop.svn.wordpress.org/trunk@34928 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-08 02:30:18 +00:00
Ryan McCue
374b39d6ba REST API: Add wp_is_numeric_array helper function
The API uses this to do special operations on list responses (used
for collections), so we need to detect whether an array is
associative or numeric-indexed.

After much discussion, the bikeshed is to be painted green and gold.

See #33982.


git-svn-id: https://develop.svn.wordpress.org/trunk@34927 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-08 02:13:02 +00:00
Ryan McCue
0f657d21cc REST API: Add JsonSerializable compatibility to wp_json_encode
Following on from r34845, the JsonSerializable shim needs support
on the encoding side too. _wp_json_prepare_data handles this when
we've loaded the shim.

Props chriscct7.

See #33982. 


git-svn-id: https://develop.svn.wordpress.org/trunk@34926 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-08 01:29:50 +00:00
John Blackbourn
88779c7b67 Revert [34917] until the broken test is fixed.
See #13382


git-svn-id: https://develop.svn.wordpress.org/trunk@34925 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-08 01:03:39 +00:00
Dion Hulse
ebbe91ad8d Revert [34922] pending PHP 5.2 compatibility.
See #28633


git-svn-id: https://develop.svn.wordpress.org/trunk@34924 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-08 00:16:07 +00:00
Sergey Biryukov
6cc5757f10 Reset Password: Move the code for creating password reset key into a new function, get_password_reset_key(), and use it in retrieve_password().
Previously: [25231].

Props DH-Shredder.
Fixes #34180.

git-svn-id: https://develop.svn.wordpress.org/trunk@34923 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-08 00:10:41 +00:00
Dion Hulse
ffb7ae1389 Use PHP7's random_int() CSPRNG functionality in wp_rand() with a fallback to the random_compat library for PHP 5.x.
`random_compat` offers a set of compatible functions for older versions of PHP, filling in the gap by using other PHP extensions when available.
We still include our existing `wp_rand()` functionality as a fallback for when no proper CSPRNG exists on the system.

Props sarciszewski
See #28633


git-svn-id: https://develop.svn.wordpress.org/trunk@34922 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-08 00:01:26 +00:00
Sergey Biryukov
1fc41894d2 Customizer: Replace context for two strings added in [30306] with a translator comment.
Fixes #34203.

git-svn-id: https://develop.svn.wordpress.org/trunk@34921 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-07 23:53:35 +00:00
John Blackbourn
4046919a11 Avoid stripping square brackets from URLs, and instead correctly encode them. Square brackets must be encoded in the path, path parameters, query parameters, and fragment, but must not be encoded in anything up to the domain and port.
Adds tests.

Fixes #16859


git-svn-id: https://develop.svn.wordpress.org/trunk@34920 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-07 23:38:22 +00:00
Boone Gorges
f9f92b223d Handle WP_User objects properly in update_user_caches().
We should not be storing the `WP_User` object in the cache, as it may contain
usermeta and other data that's cache elsewhere.

Props dd32.
See #24635.

git-svn-id: https://develop.svn.wordpress.org/trunk@34919 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-07 22:41:07 +00:00
John Blackbourn
ee251924b3 Pass the $post parameter to the _wp_post_revision_fields filter. This provides more context to the filter, which allows for different fields to be displayed on the revisions screen depending on the post.
The `_wp_post_revision_fields()` function now also accepts a `WP_Post` object (in addition to an array of post fields) to facilitate this change.

Fixes #13382
Props adamsilverstein


git-svn-id: https://develop.svn.wordpress.org/trunk@34917 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-07 21:52:18 +00:00
John Blackbourn
e40575aa99 Correctly set the scheme of the home and siteurl options when creating a new site on multisite that uses some combination of HTTPS in the admin area or on the front end.
Fixes #33620
Props tryon, johnbillion


git-svn-id: https://develop.svn.wordpress.org/trunk@34916 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-07 21:45:17 +00:00
John Blackbourn
6705184dcc Correctly encode the url parameter that gets passed to WordPress' own oEmbed endpoint URL.
Fixes #34193
Props ocean90


git-svn-id: https://develop.svn.wordpress.org/trunk@34915 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-07 21:42:36 +00:00
John Blackbourn
b877e3c692 Add an optional $description parameter to status_header() so custom HTTP status descriptions can be provided.
Fixes #21472
Props nbachiyski, iamfriendly


git-svn-id: https://develop.svn.wordpress.org/trunk@34914 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-07 21:25:54 +00:00
Jeremy Felt
599fb50e09 Revert [34778], continue using _site_option() for the current network.
The `_network_option()` parameter order will be changing to accept `$network_id` first. The `_site_option()` functions will remain in use throughout core as our way of retrieving a network option for the current network.

See #28290.


git-svn-id: https://develop.svn.wordpress.org/trunk@34912 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-07 17:11:01 +00:00
Dominik Schilling (ocean90)
7f292f7ba4 Embeds: Autoprefixer for [34903].
See #32522.

git-svn-id: https://develop.svn.wordpress.org/trunk@34908 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-07 14:06:36 +00:00
John Blackbourn
13e8899262 Update the explanatory text which accompanies the list of whitelisted oEmbed providers, following the change to the default value of the discover argument in WP_oEmbed::get_provider().
See #32522


git-svn-id: https://develop.svn.wordpress.org/trunk@34907 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-07 13:04:32 +00:00
Gary Pendergast
a170c1f67e Embeds: After [34903], remove an accidentally included text domain, and exclude a test failing in PHP 5.2.
git-svn-id: https://develop.svn.wordpress.org/trunk@34904 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-07 11:00:59 +00:00
Gary Pendergast
43bd3d46c9 Embeds: Add oEmbed provider support.
For the past 6 years, WordPress has operated as an oEmbed consumer, allowing users to easily embed content from other sites. By adding oEmbed provider support, this allows any oEmbed consumer to embed posts from WordPress sites.

In addition to creating an oEmbed provider, WordPress' oEmbed consumer code has been enhanced to work with any site that provides oEmbed data (as long as it matches some strict security rules), and provides a preview from within the post editor.

For security, embeds appear within a sandboxed iframe - the iframe content is a template that can be styled or replaced entirely by the theme on the provider site.

Props swissspidy, pento, melchoyce, netweb, pfefferle, johnbillion, extendwings, davidbinda, danielbachhuber, SergeyBiryukov, afercia

Fixes #32522.



git-svn-id: https://develop.svn.wordpress.org/trunk@34903 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-07 10:35:18 +00:00
Boone Gorges
7cfee3c41d Move wp_installing() to load.php.
Various functions in load.php need to check whether WP is in installation mode.
Let's let them.

Props adamsilverstein.
See #31130.

git-svn-id: https://develop.svn.wordpress.org/trunk@34896 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-07 03:01:27 +00:00
Scott Taylor
aac08d7735 Introduce wp_get_server_protocol() to DRY protocol parsing logic and make adding more protocols, like HTTP/2, easier.
Props johnbillion, wonderboymusic.
Fixes #34131.


git-svn-id: https://develop.svn.wordpress.org/trunk@34894 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-07 02:34:58 +00:00
Scott Taylor
9e267b6e72 List Tables/WP_Screen: in WP_Screen, add methods to store, retrieve, and render screen reader text, primarily used by list table screens.
These additions are based on an audit and recommendations by the Accessibility team. #a11y'all

Props afercia.
Fixes #32147.


git-svn-id: https://develop.svn.wordpress.org/trunk@34891 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-07 01:27:01 +00:00
Scott Taylor
84df5f067c Rewrite/Permalinks/Canonical: in url_to_postid(), call set_url_scheme() on the URL to combat mixed content issues and find posts cross-scheme.
Adds unit tests.

Props swissspidy.
Fixes #34144.


git-svn-id: https://develop.svn.wordpress.org/trunk@34890 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-07 01:06:58 +00:00
Sergey Biryukov
24cc3db43a Remove closing PHP tag from wp-includes/class-phpass.php.
Previously: [19712], [28678].

Props iamfriendly, amandato.
Fixes #30534.

git-svn-id: https://develop.svn.wordpress.org/trunk@34887 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-06 23:44:20 +00:00
Drew Jaynes
36736636c1 Docs: Only document get_posts() argument defaults that differ from, or aren't present in the defaults offered by WP_Query::parse_query().
Props johnbillion.
Fixes #34156.


git-svn-id: https://develop.svn.wordpress.org/trunk@34886 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-06 23:18:05 +00:00
Drew Jaynes
0d1c1381b3 Docs: _pad_term_counts() takes an array of objects passed by reference, not term IDs.
Props wpsmith.
Fixes #34174.


git-svn-id: https://develop.svn.wordpress.org/trunk@34884 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-06 22:38:47 +00:00
Konstantin Obenland
cb4554b3df Posts: Add post class for password protected posts.
Up until now password protected posts would only get a identifying class when
the password was still required. This adds a class for the case when that
requirement has been met.

For the other visibility types we already have `status-publish`
and `status-private`.

Props mdgl, F4rkie, wonderboymusic for initial patches.
Fixes #21899.



git-svn-id: https://develop.svn.wordpress.org/trunk@34881 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-06 21:53:20 +00:00
Aaron Jorbin
351beec384 Revert [34875] due to unintentional breaking change
WordPress.org was taken down due to as Otto42 describes:

The previous version of this function added the query piece for the meta key = blog_id.capabilities, regardless of whether or not a role was requested. This limits the users returned to those with some defined role on this particular multisite instance.

See #22212




git-svn-id: https://develop.svn.wordpress.org/trunk@34880 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-06 20:57:35 +00:00
Sergey Biryukov
b86e47d915 Transients: Clarify the expiration_of_site_transient_$transient filter description.
See #21330.

git-svn-id: https://develop.svn.wordpress.org/trunk@34878 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-06 18:10:17 +00:00
Dominik Schilling (ocean90)
4099310ff5 Transients: Rename filters added in [34865].
* `expiration_pre_set_transient_$transient` => `expiration_of_transient_$transient`
* `expiration_pre_set_site_transient_$transient` => `expiration_of_site_transient_$transient`

Fix hook docs.

Props chriscct7.
Fixes #21330.

git-svn-id: https://develop.svn.wordpress.org/trunk@34877 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-06 17:58:19 +00:00
Drew Jaynes
843cdf1f73 Docs: Update an inline comment in wp_get_attachment_image_sizes(), which came in as part of the Responsive Images merge in [34855].
Props joemcgill.
See #33641.


git-svn-id: https://develop.svn.wordpress.org/trunk@34876 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-06 17:46:30 +00:00
Boone Gorges
1949734cf3 Improve role-related arguments in WP_User_Query.
* 'role' now accepts an array or comma-separated list of role names. When passing multiple values for 'role', `WP_User_Query` will only match users that have all of the specified roles.
* 'role__in' accepts an array of role names, and allow the filtering of matched users to those with at least one of the specified roles.
* 'role__not_in' accepts an array of role names, and allows the filtering of matched users to those who have none of the specified roles.

Props swissspidy, mordauk, barrykooij, sirbrillig.
Fixes #22212.

git-svn-id: https://develop.svn.wordpress.org/trunk@34875 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-06 17:39:23 +00:00
Drew Jaynes
be303910e9 Template: Introduce a new class_form argument in comment_form(), allowing customization of the form class attribute.
The static 'comment-form' class was originally added to `comment_form()` in [24525]. This new argument should provide needed flexibility in styling the comment form further.

Props flixos90.
Fixes #34170. See #23851.


git-svn-id: https://develop.svn.wordpress.org/trunk@34871 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-06 17:16:09 +00:00
Dominik Schilling (ocean90)
81fed4b639 Script Loader: Update version of json2.js after [34863].
See #26913.

git-svn-id: https://develop.svn.wordpress.org/trunk@34869 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-06 15:51:50 +00:00
Helen Hou-Sandi
b1b51495f3 Shortcodes: Pass the name as context for shortcode_atts_{$shortcode}.
props mattheu.
fixes #34167.


git-svn-id: https://develop.svn.wordpress.org/trunk@34868 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-06 14:33:27 +00:00
Scott Taylor
b054b952bc Transients, add filters for $expiration:
* `'expiration_pre_set_site_transient_' . $transient`
* `'expiration_pre_set_transient_' . $transient`
 
Props chriscct7, wpsmith, nacin.
Fixes #21330.


git-svn-id: https://develop.svn.wordpress.org/trunk@34865 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-06 14:10:00 +00:00
Scott Taylor
d257aeb9a3 External Libraries: update json2.js to the 2015-05-03 version. Crockford does not tag releases: https://github.com/douglascrockford/JSON-js/commits/master
Props mgibbs189, chriscct7.
Fixes #26913.


git-svn-id: https://develop.svn.wordpress.org/trunk@34863 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-06 14:01:52 +00:00
Scott Taylor
79a907edf3 Scripts: in WP_Scripts::set_group(), the args prop of the _WP_Dependency instance defaults to null - check that it is set before comparing.
Props tivnet, chriscct7.
Fixes #25462.


git-svn-id: https://develop.svn.wordpress.org/trunk@34862 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-06 13:53:19 +00:00
Scott Taylor
02804492e3 XML-RPC: allow wp_xmlrpc_server::wp_getPosts() to receive s as a filter.
Props chriscct7.
Fixes #25406.


git-svn-id: https://develop.svn.wordpress.org/trunk@34860 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-06 13:40:09 +00:00
Drew Jaynes
afe594bb7c Users: Empty sanitized usernames should be considered invalid when passed through validate_username().
Adds tests.

Props gwinhlopez for the initial patch.
Props mordauk, chriscct7.
Fixes #24618.


git-svn-id: https://develop.svn.wordpress.org/trunk@34856 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-06 05:34:47 +00:00
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
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
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