Commit Graph

11 Commits

Author SHA1 Message Date
whyisjake
ee92e93f79 Ensure that a user can publish_posts before making a post sticky.
Props: danielbachhuber, whyisjake, peterwilson, xknown.
Prevent  stored XSS through wp_targeted_link_rel().
Props: vortfu, whyisjake, peterwilsoncc, xknown,  SergeyBiryukov, flaviozavan.
Update wp_kses_bad_protocol() to recognize : on uri attributes,
wp_kses_bad_protocol() makes sure to validate that uri attributes don't contain invalid/or not allowed protocols. While this works fine in most cases, there's a risk that by using the colon html5 named entity, one is able to bypass this function.
Brings r46895 to the 5.3 branch.
Props: xknown, nickdaugherty, peterwilsoncc.
Prevent stored XSS in the block editor.
Brings r46896 to the 5.3 branch.
Prevent escaped unicode characters become unescaped in unsafe HTML during JSON decoding.
Props: aduth, epiqueras.


Built from https://develop.svn.wordpress.org/branches/5.0@46915


git-svn-id: http://core.svn.wordpress.org/branches/5.0@46715 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-12-12 18:52:47 +00:00
youknowriad
c749dc382f Block Editor: Clarify PHP Docs of the block_version function.
Clarify the return value.

Props desrosj, mukesh27.
Fixes #45342.

Built from https://develop.svn.wordpress.org/branches/5.0@43924


git-svn-id: http://core.svn.wordpress.org/branches/5.0@43756 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-11-21 19:39:49 +00:00
Andrew Ozz
ca2055af34 Block Editor: A little cleanup to render_block(). Always normalize $block['attrs'] to array in 'render_block' filter.
See #45145.
Built from https://develop.svn.wordpress.org/branches/5.0@43888


git-svn-id: http://core.svn.wordpress.org/branches/5.0@43717 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-11-12 10:03:48 +00:00
Gary Pendergast
54368e50b6 Block Editor: Update @wordpress dependencies to the latest version.
Changes of note:
- Includes the new Annotations API package.
- `wp-polyfill-ecmascript.js` is renamed to `wp-polyfill.js`.
- `strip_dynamic_blocks()` has been removed in favour of `excerpt_remove_blocks()`.
- The PHP block parser is now syncing from the `block-serialization-default-parser` package.
- `do_blocks()` uses the new parser.
- The `do_block` filter has been removed from `do_blocks()`, in favour of a `render_block` filter in `render_block()`.

See #45145, #45190, #45264, #45282.


Built from https://develop.svn.wordpress.org/branches/5.0@43884


git-svn-id: http://core.svn.wordpress.org/branches/5.0@43713 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-11-12 02:27:57 +00:00
Gary Pendergast
fdf428e44f Tests: Fix tests broken in PHP 5.x after [43879].
See #45290.


Built from https://develop.svn.wordpress.org/branches/5.0@43883


git-svn-id: http://core.svn.wordpress.org/branches/5.0@43712 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-11-09 09:44:49 +00:00
Gary Pendergast
7c19654f33 Formatting: Ensure wpautop() isn't run on content generated from blocks.
As `do_blocks()` is run before `wpautop()` in `the_content` filter, we can remove in a Just In Time fashion, before that filter is run.

After `wpautop()`s original priority has passed, we can re-add it in a Just Too Late fashion, to ensure it's available if `the_content` filter is run multiple times on a page load.

Props pento, nerrad.
Fixes #45290.


Built from https://develop.svn.wordpress.org/branches/5.0@43879


git-svn-id: http://core.svn.wordpress.org/branches/5.0@43708 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-11-09 08:29:47 +00:00
danielbachhuber
58ea8c82e4 REST API: Include block_version on Post content object.
The `block_version` denotes which version of Blocks the `post_content` contains. Introduces new `block_version()` function for versioning Blocks.

Props danielbachhuber, birgire.
Fixes #43887.

Built from https://develop.svn.wordpress.org/branches/5.0@43770


git-svn-id: http://core.svn.wordpress.org/branches/5.0@43599 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-10-19 17:58:39 +00:00
Gary Pendergast
798c2581b1 Blocks: Parse blocks when displaying posts.
Posts containing blocks are now correctly handled when displaying on the front end, including dynamic blocks and nested blocks.

See #45109.


Built from https://develop.svn.wordpress.org/branches/5.0@43752


git-svn-id: http://core.svn.wordpress.org/branches/5.0@43581 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-10-18 11:54:26 +00:00
Gary Pendergast
f7d01b4e70 Blocks: Introduce the block parser.
The `WP_Block_Parser` class, and the accompanying `parse_blocks()` helper function, can be used to parse an array of blocks out of a content string.

`WP_Block_Parser` is copied from the `@wordpress/block-serialization-default-parser` package. To ensure it stays in sync with the JavaScript parser, changes should be implemented in the package first, then the package version should be upgraded to include the changes.

See #45109.


Built from https://develop.svn.wordpress.org/branches/5.0@43751


git-svn-id: http://core.svn.wordpress.org/branches/5.0@43580 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-10-18 04:40:27 +00:00
Gary Pendergast
28310289bd Blocks: Introduce register_block_type(), unregister_block_type(), and get_dynamic_blocks() functions.
These helper functions allow easy access to the global block registry.

See #45109.


Built from https://develop.svn.wordpress.org/branches/5.0@43743


git-svn-id: http://core.svn.wordpress.org/branches/5.0@43572 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-10-18 01:53:26 +00:00
Gary Pendergast
22840639e8 Blocks: Introduce WP_Block_Type and WP_Block_Type_Registry classes.
These are the foundational classes allowing blocks to be registered and used throughout WordPress.

This commit also includes the `has_block()` and `has_blocks()` functions, which are required for unit testing these classes.

Props adamsilverstein, danielbachhuber, desrosj.
See #45097, #45109.


Built from https://develop.svn.wordpress.org/branches/5.0@43742


git-svn-id: http://core.svn.wordpress.org/branches/5.0@43571 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-10-18 01:31:26 +00:00