9128 Commits

Author SHA1 Message Date
Gary Pendergast
f73d8da051 Blocks: Add a $source_block parameter to the render_block_data filter.
This contains a copy of the block, unmodified by other filter functions, so that plugins have a clean reference to work from, if they need.

Props dmsnell.
Fixes #45451.



git-svn-id: https://develop.svn.wordpress.org/trunk@44576 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-14 01:46:56 +00:00
Gary Pendergast
992184cf73 Coding Standards: Upgrade WPCS to 1.2.1.
This upgrade fixes quite a few false positives, as well as auto-fixing some indenting issues.

Fixes #45956.



git-svn-id: https://develop.svn.wordpress.org/trunk@44574 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-12 06:40:16 +00:00
Gary Pendergast
a139c8cbf7 Coding Standards: Fix and whitelist variable names.
From the `WordPress.NamingConventions.ValidVariableName` sniff, this commit fixes/whitelists all `NotSnakeCaseMemberVar`, `MemberNotSnakeCase`, and `StringNotSnakeCase` violations. It also fixes a handful of the `NotSnakeCase` violations.

See #45934.



git-svn-id: https://develop.svn.wordpress.org/trunk@44573 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-12 06:05:55 +00:00
Gary Pendergast
cf5be804c7 Coding Standards: Remove an unnecessary line whitelisting.
Props jrf.
See #45934.



git-svn-id: https://develop.svn.wordpress.org/trunk@44572 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-12 04:52:53 +00:00
Gary Pendergast
358d65b9c7 Coding Standards: Fix an incorrect phpcs:ignore comment.
It's `phpcs:ignore`, not `wpcs:ignore`.

Props GaryJ.

See #45934.



git-svn-id: https://develop.svn.wordpress.org/trunk@44570 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-12 03:48:05 +00:00
Gary Pendergast
ff53bd388c Coding Standards: Extract extract() from the codebase.
Of the last four instances of `extract()` occurring, three of them are removed by this commit, and the fourth is appropriately documented.

See #45934.



git-svn-id: https://develop.svn.wordpress.org/trunk@44569 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-12 03:19:23 +00:00
Jonathan Desrosiers
34e3de7b7f REST API: Encourage proper usage of register_rest_route().
Calling `register_rest_route()` too early in the loading process has the potential to cause some unintentional problems and pitfalls. Because `register_rest_route()` calls `rest_get_server()` (which creates the `WP_REST_Server` instance), calling the function directly and/or before `rest_api_init` should be discouraged.

For example, if `register_rest_route ()` is called on `init`, the REST API server instance is set up (and all functions added to `rest_api_init` and other related hooks are invoked), even though the current request may not be a REST request. Also, if `register_rest_route()` is called even earlier (say, in an `mu-plugin` file), required endpoints may be missing since normal plugins have not yet been loaded and have not had a chance to register their own action hooks.

This adds a `_doing_it_wrong()` notice the first time `register_rest_route()` is called before `rest_api_init` in a request to encourage best practices for registering REST API routes.

Props kraftbj, desrosj, timothyblynjacobs.
Fixes #45265.

git-svn-id: https://develop.svn.wordpress.org/trunk@44568 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-11 18:18:41 +00:00
Gary Pendergast
33caf61b8b Coding Standards: Fix the Squiz.ControlStructures.ControlSignature.SpaceAfterCloseBrace violations.
See #45934.



git-svn-id: https://develop.svn.wordpress.org/trunk@44566 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-11 06:39:55 +00:00
Gary Pendergast
83af0329a2 Coding Standards: Document intentional case block fall-throughs.
Fixes `PSR2.ControlStructures.SwitchDeclaration.TerminatingComment` violations.

See #45934.



git-svn-id: https://develop.svn.wordpress.org/trunk@44565 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-11 06:25:37 +00:00
Gary Pendergast
6f0487c2f0 Coding Standards: Ignore the violations of Generic.NamingConventions.UpperCaseConstantName.ConstantNotUpperCase.
See #45934.



git-svn-id: https://develop.svn.wordpress.org/trunk@44563 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-11 06:07:50 +00:00
Gary Pendergast
8cc49330a4 Coding Standards: Fix the minor WordPress.WP.I18n violations.
`WordPress.WP.I18n.MissingTranslatorsComment` is in progress in #44360.

See #45934.



git-svn-id: https://develop.svn.wordpress.org/trunk@44562 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-11 06:03:46 +00:00
Gary Pendergast
b0c61e267b Post WordPress 5.1 Beta 1 version bump.
git-svn-id: https://develop.svn.wordpress.org/trunk@44558 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-11 00:58:03 +00:00
Gary Pendergast
2792e71cec WordPress 5.1 Beta 1.
git-svn-id: https://develop.svn.wordpress.org/trunk@44557 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-11 00:41:39 +00:00
Gary Pendergast
49f5f62f30 Emoji: Fix a code formatting error introduced in [44554].
See #45930.



git-svn-id: https://develop.svn.wordpress.org/trunk@44556 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-10 23:39:19 +00:00
Gary Pendergast
1eaf7453f9 Blocks: Reverse the logic when checking the pre_render_block result.
We should be returning if the result isn't null, not when it is.

See #45451.



git-svn-id: https://develop.svn.wordpress.org/trunk@44555 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-10 23:31:01 +00:00
Gary Pendergast
d32cead515 Emoji: Improve performance when encoding or staticizing emoji.
Both `wp_encode_emoji()` and `wp_staticize_emoji()` perform a PHP version check when deciding how to apply their behaviour, but this check only needs to happen once, rather than every time in their internal looks.

Moving the check outside of the loop reduces processing time by 50%.

Props johnbillion.
Fixes #45930.



git-svn-id: https://develop.svn.wordpress.org/trunk@44554 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-10 23:19:37 +00:00
Gary Pendergast
041471735a Blocks: Add the pre_render_block and render_block_data filters.
At the start of `render_block()`, the `pre_render_block` filter allows the function to be short-circuited, and the `render_block_data` filter is applied to the `$block` parameter before it's processed.

Props kkarpieszuk, pento.
Fixes #45451.



git-svn-id: https://develop.svn.wordpress.org/trunk@44553 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-10 23:15:49 +00:00
Jonathan Desrosiers
7508db604b Embeds: Remove Photobucket, FunnyOrDie from the list of oEmbed providers.
These services no longer support oEmbed.

Props skostadinov, notnownikki.
Fixes #45399.

git-svn-id: https://develop.svn.wordpress.org/trunk@44552 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-10 22:41:13 +00:00
Jonathan Desrosiers
2e8b87cd83 Docs: Add missing periods to param annotations for flip() in WP_Image_Editor_GD.
Props hitendra-chopda.
Fixes #45208.

git-svn-id: https://develop.svn.wordpress.org/trunk@44550 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-10 22:09:26 +00:00
Jonathan Desrosiers
3a6966b69d Media: Correct since annotation for adding the caption_id attribute.
Introduced in [42704]
Fixes #34595.

git-svn-id: https://develop.svn.wordpress.org/trunk@44548 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-10 21:36:05 +00:00
Felix Arntz
08564b5a80 General: Fix problematic string to array parsing.
WordPress has historically often used code like `preg_split( '/[\s,]+/', $var )` to parse a string of comma-separated values into an array. However, this approach was causing an empty string to not be parsed into an empty array as expected, but rather into an array with the empty string as its sole element.

This was among other areas causing problems in the REST API where passing an empty request parameter could cause that request to fail because, instead of it being ignored, that parameter would be compared against the valid values for it, which typically do not include an empty string.

Props david.binda, sstoqnov.
Fixes #43977.


git-svn-id: https://develop.svn.wordpress.org/trunk@44546 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-10 21:05:50 +00:00
Andrea Fercia
2d4ae6ce6d Accessibility: Add focus styles for Windows High Contrast mode.
Introduces in core new focus styles dedicated to Windows High Contrast mode. The 
new styles use a transparent CSS outline as already explored in the Block Editor.
This first part covers some of the main user interface controls like buttons, links,
and media views elements. Other parts will be addressed in the next future.

Fixes #41286.


git-svn-id: https://develop.svn.wordpress.org/trunk@44544 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-10 16:46:44 +00:00
Jonathan Desrosiers
ba6f1ff56e Media: Introduce the has_post_thumbnail filter.
Props rzen, desrosj.
Fixes #44859.

git-svn-id: https://develop.svn.wordpress.org/trunk@44542 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-10 15:27:09 +00:00
Gary Pendergast
ac47db26bc Block Editor: Upgrade the @wordpress/ packages.
This brings the block editor in core up to date with the Gutenberg 4.8 plugin release.

Props aduth, gziolo, youknowriad, mkaz, jorgefilipecosta, swissspidy, iseulde, soean, noisysocks, joen, brentswisher, dekervit, dimadin, zebulan, johnny5, nosolosw, netweb, ryelle, etoledom, mzorz, desrosj, mmtr86, tinkerbelly, ocean90, earnjam, ajitbohra, talldanwp, notnownikki, mcsf, afercia, adamsilverstein, gutendev, naoki0h, miyauchi, aldavigdis.
Fixes #45885.



git-svn-id: https://develop.svn.wordpress.org/trunk@44533 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-10 01:53:38 +00:00
Jonathan Desrosiers
98e1564942 Docs: Update since annotation for text-transform support in safecss_filter_attr().
Introduced in [42880].

Fixes #42729.

git-svn-id: https://develop.svn.wordpress.org/trunk@44531 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-10 01:42:54 +00:00
Jonathan Desrosiers
da6021b4f9 Docs: Update since annotations WP_Error::has_errors()
Introduced in [42761].

Fixes #42742.

git-svn-id: https://develop.svn.wordpress.org/trunk@44527 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-09 22:41:32 +00:00
Felix Arntz
fc37b1746e Bootstrap/Load: Introduce fatal error recovery mechanism allowing users to still log in to their admin dashboard.
This changeset introduces a `WP_Shutdown_Handler` class that detects fatal errors and which extension (plugin or theme) causes them. Such an error is then recorded, and an error message is displayed. Subsequently, in certain protected areas, for example the admin, the broken extension will be paused, ensuring that the website is still usable in the respective area. The major benefit is that this mechanism allows site owners to still log in to their website, to fix the problem by either disabling the extension or solving the bug and then resuming the extension.

Extensions are only paused in certain designated areas. The frontend for example stays unaffected, as it is impossible to know what pausing the extension would cause to be missing, so it might be preferrable to clearly see that the website is temporarily not accessible instead.

The fatal error recovery is especially important in scope of encouraging the switch to a maintained PHP version, as not necessarily every WordPress extension is compatible with all PHP versions. If problems occur now, non-technical site owners that do not have immediate access to the codebase are not locked out of their site and can at least temporarily solve the problem quickly.

Websites that have custom requirements in that regard can implement their own shutdown handler by adding a `shutdown-handler.php` drop-in that returns the handler instance to use, which must be based on a class that inherits `WP_Shutdown_Handler`. That handler will then be used in place of the default one.

Websites that would like to modify specifically the error template displayed in the frontend can add a `php-error.php` drop-in that works similarly to the existing `db-error.php` drop-in.

Props afragen, bradleyt, flixos90, ocean90, schlessera, SergeyBiryukov, spacedmonkey.
Fixes #44458.


git-svn-id: https://develop.svn.wordpress.org/trunk@44524 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-09 20:04:55 +00:00
Boone Gorges
493b90cde1 Taxonomy: Update @since annotations for meta_box_sanitize_cb arg.
Introduced in [42211].

Fixes #36514.

git-svn-id: https://develop.svn.wordpress.org/trunk@44519 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-09 15:10:17 +00:00
Jonathan Desrosiers
f27fc64e2e Docs: Update since annotations for adding LIKE comparisons with meta keys.
Previously introduced in [42768].

Fixes #42409.

git-svn-id: https://develop.svn.wordpress.org/trunk@44518 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-09 14:54:11 +00:00
Pascal Birchler
a8cb5d247e I18N: Add option to hide en_US locale in wp_dropdown_languages().
Props danieltj for initial patch.
Fixes #44494.


git-svn-id: https://develop.svn.wordpress.org/trunk@44514 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-09 11:45:02 +00:00
Pascal Birchler
a5594e7b07 Embeds: Fix typo introduced in [44484].
Props JustinSainton.
Fixes #45036.


git-svn-id: https://develop.svn.wordpress.org/trunk@44511 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-09 10:53:14 +00:00
Gary Pendergast
ba495ec173 Filesystem: Improve wp_is_stream() performance.
Instead of turning the return value of `stream_get_wrappers()` into a regex to match the scheme, we can instead extract the scheme and search the return value of `stream_get_wrappers()`.

Props schlessera, swissspidy.
Fixes #45553.



git-svn-id: https://develop.svn.wordpress.org/trunk@44506 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-09 09:50:19 +00:00
Gary Pendergast
2a6e44a306 Docs: Correct the documentation for wp_list_authors().
The `exclude_admin` argument defaults to `true`, not `false`.

Props haruharuharuby.
Fixes #45120.



git-svn-id: https://develop.svn.wordpress.org/trunk@44503 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-09 06:51:38 +00:00
Gary Pendergast
e5bdc271cb Comments: Add a new is_avatar_comment_type() function.
This function splits the `get_avatar_comment_types` filter out of `get_avatar_data()`.

Props dshanske, birgire.
Fixes #44033.



git-svn-id: https://develop.svn.wordpress.org/trunk@44499 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-09 05:59:49 +00:00
Gary Pendergast
943dcbbcef Docs: Add docblocks to the members of WP_Widget_Form_Customize_Control.
Props subrataemfluence.
Fixes #44420.



git-svn-id: https://develop.svn.wordpress.org/trunk@44498 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-09 05:48:33 +00:00
Gary Pendergast
e615ea6b91 Docs: Add @see WP_Session_Tokens to the WP_User_Meta_Session_Tokens docblock.
Props utsav72640.
Fixes #45499.



git-svn-id: https://develop.svn.wordpress.org/trunk@44495 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-09 05:03:25 +00:00
Gary Pendergast
3d030132ae Privacy: Fix a code formatting error introduced in [44491].
See #44908.



git-svn-id: https://develop.svn.wordpress.org/trunk@44494 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-09 04:32:59 +00:00
Gary Pendergast
37b849714f Privacy: Remove some unnecessary parameters being passed to wp_update_post() by wp_generate_user_request_key().
Props garrett-eclipse.
Fixes #44908.



git-svn-id: https://develop.svn.wordpress.org/trunk@44491 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-09 03:50:33 +00:00
Gary Pendergast
d2f0d5c812 Embeds: Add Instagram TV support.
Props dannydehaan.
Fixes #44557.



git-svn-id: https://develop.svn.wordpress.org/trunk@44486 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-09 00:23:35 +00:00
Gary Pendergast
78064d5ce3 Embeds: Polldaddy is now called Crowdsignal.
Crowdsignal adds an additional embed URL, survey.fm.

Props donncha.
Fixes #45036.



git-svn-id: https://develop.svn.wordpress.org/trunk@44484 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-08 23:51:25 +00:00
Peter Wilson
0bc20594c7 Cron API: Add function and filter to return ready cron jobs.
Add the function `wp_get_ready_cron_jobs()` to return a modified version of the cron array limited to jobs ready to be run, ie with a timestamp of `time()` or earlier.

The new function includes the filter `pre_get_ready_cron_jobs` to allow for custom cron storage systems. This rounds out the functionality added in #32656.

Props Pento for code review.
Fixes #45797.



git-svn-id: https://develop.svn.wordpress.org/trunk@44483 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-08 21:48:07 +00:00
Jonathan Desrosiers
5778bffd42 REST API: Introduce rest_post_search_query filter.
This filter allows the query arguments to be manipulated for a post search query in the REST API.

Props Chouby, swissspidy.
Fixes #45454.

git-svn-id: https://develop.svn.wordpress.org/trunk@44482 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-08 21:44:06 +00:00
Adam Silverstein
f968e9d52f Media: improve the human_readable_duration function and tests.
Improve the `human_readable_duration` added in #39667:
* Remove upper limit.
* More resilient handling: remove negative prefix, trim.
* Correct @since to 5.1.0.
* Adds more test cases and improve inline docs.

Props birgire.
Fixes #39667.


git-svn-id: https://develop.svn.wordpress.org/trunk@44481 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-08 19:55:31 +00:00
Jonathan Desrosiers
559056f62f Docs: Improve accuracy of wp_list_sort()’s $list parameter description.
Props manikmist09.
Fixes #45766.

git-svn-id: https://develop.svn.wordpress.org/trunk@44480 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-08 19:53:34 +00:00
Felix Arntz
aea4b2765a General: Make Update PHP notice link customizable.
After [42832], [42891] and [43006], this changeset refines the core notice informing about an outdated PHP version:

* The link to the Update PHP information page can now be adjusted using either a `WP_UPDATE_PHP_URL` environment variable, or a new `wp_update_php_url` filter.
* If that URL is different from the default one that points to https://wordpress.org/support/update-php/ or its localized equivalent, a note indicates that the linked resource has not been provided by WordPress itself, and the default URL is still linked to as an additional resource.
* The URL for the default information page has been updated to use the slug `update-php` instead of `upgrade-php`.
* `@since` annotations have been updated.

Going forward, admin areas that display information related to the PHP version should use the new function `wp_get_update_php_url()`.

Props afragen, fierevere, flixos90, markjaquith, miss_jwo, nerrad, pento, schlessera, SergeyBiryukov, spacedmonkey.
Fixes #45686. See #41191.


git-svn-id: https://develop.svn.wordpress.org/trunk@44476 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-08 17:26:38 +00:00
Gary Pendergast
0311c0d083 Users: Add the pre_count_users filter.
Props spacedmonkey.
Fixes #43693.



git-svn-id: https://develop.svn.wordpress.org/trunk@44473 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-08 09:48:09 +00:00
Felix Arntz
1e35159a2d Multisite: Introduce ms-site.php and ms-network.php files.
By providing distinct files for the site and network APIs, a better overview is provided. Prior to this change, the `ms-blogs.php` file had grown too big, mixing site APIs, network APIs and related legacy APIs that need to be maintained. Since multisite is often used in unexpected ways, backward-compatibility is ensured by including the two new files from `ms-blogs.php`, which previously contained all functions that have been moved to the new files.

This changeset does not contain any functional changes.

Fixes #40647.


git-svn-id: https://develop.svn.wordpress.org/trunk@44472 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-08 09:14:20 +00:00
Gary Pendergast
fbabf54a72 Media: Add $attr to the wp_get_attachment_link filter.
Props danielbachhuber.
Fixes #40155.



git-svn-id: https://develop.svn.wordpress.org/trunk@44471 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-08 09:08:06 +00:00
Gary Pendergast
801e193ae0 Coding Standards: Fix an error introduced in [44465].
See #45748.



git-svn-id: https://develop.svn.wordpress.org/trunk@44470 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-08 09:02:50 +00:00
Felix Arntz
855606e29d Multisite: Update @since tags for site management APIs.
Fixes #40364. Fixes #41333.


git-svn-id: https://develop.svn.wordpress.org/trunk@44469 602fd350-edb4-49c9-b593-d223f7449a82
2019-01-08 08:57:32 +00:00