Commit Graph

58 Commits

Author SHA1 Message Date
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
80a22dc202 PHPCS: Fix alignment issues.
This fixes some array alignment issues introduced in [44293].

git-svn-id: https://develop.svn.wordpress.org/trunk@44294 602fd350-edb4-49c9-b593-d223f7449a82
2018-12-18 16:57:27 +00:00
Jonathan Desrosiers
a58e2a287a KSES: Conditionally remove the <form> element from $allowedposttags.
To avoid backwards compatibility issues, `<form>` is re-added if a custom filter has added the `<input>` or `<select>` elements to `$allowedposttags`.

Merges [43994] to trunk.

git-svn-id: https://develop.svn.wordpress.org/trunk@44293 602fd350-edb4-49c9-b593-d223f7449a82
2018-12-18 16:45:54 +00:00
Ian Dunn
7a8e9af6a6 KSES: Make the URI attributes DRY.
This commit introduces the `wp_kses_uri_attributes` function and filter. The function centralizes the list of attributes, in order to prevent inconsistency, and the filter provides a way for plugins to customize the attributes.

Merges [44014] and [44017] to `trunk`.


git-svn-id: https://develop.svn.wordpress.org/trunk@44207 602fd350-edb4-49c9-b593-d223f7449a82
2018-12-15 01:07:06 +00:00
Gary Pendergast
524f5be4c6 KSES: Allow the download attribute on <a> tags.
To avoid this being a vector for bypassing the filetypes that are allowed to be uploaded, this attribute is only allowed to be added without a value.

Merges [43813] from the 5.0 branch to trunk.

Props kalpshit, arshidkv12, welcher, peterwilsoncc, marina_wp, pento.
Fixes #44724.



git-svn-id: https://develop.svn.wordpress.org/trunk@44156 602fd350-edb4-49c9-b593-d223f7449a82
2018-12-14 03:27:55 +00:00
Gary Pendergast
79486d7656 KSES: Allow url() to be used in inline CSS.
The cover image block uses the `url()` function in its inline CSS, to show the cover image. KSES didn't allow this, causing the block to not save correctly for Author and Contributor users. As KSES does already check each attribute name against an allowed list, we're able to add an extra check for certain attributes to be able to use the `url()` function, too.

Merges [43781] from the 5.0 branch to core.

Props peterwilsoncc, azaozz, pento, dd32.
Fixes #45067.



git-svn-id: https://develop.svn.wordpress.org/trunk@44136 602fd350-edb4-49c9-b593-d223f7449a82
2018-12-14 01:40:50 +00:00
Jeremy Felt
a73e82011f KSES: Add selected ARIA attributes support.
Allow low-privileged users to use the ARIA attributes `aria-describedby`, `aria-details`, `aria-label`, `aria-labelledby` and `aria-hidden`.

Merges [43731] to trunk.

Props mattheu, swissspidy, rianrietveld, afercia, GaryJ.
See #30421.


git-svn-id: https://develop.svn.wordpress.org/trunk@43984 602fd350-edb4-49c9-b593-d223f7449a82
2018-12-12 03:14:47 +00:00
Jeremy Felt
1c9f359857 KSES: Allow HTML data-* attributes.
Add global support for HTML attributes prefixed `data-` for authors and contributors, as required by the new editor.

Merges [43727] to trunk.

Props azaozz, peterwilsoncc.
Fixes #33121.


git-svn-id: https://develop.svn.wordpress.org/trunk@43981 602fd350-edb4-49c9-b593-d223f7449a82
2018-12-12 02:38:14 +00:00
Gary Pendergast
a75d153eee Coding Standards: Upgrade WPCS to 1.0.0
WPCS 1.0.0 includes a bunch of new auto-fixers, which drops the number of coding standards issues across WordPress significantly. Prior to running the auto-fixers, there were 15,312 issues detected. With this commit, we now drop to 4,769 issues.

This change includes three notable additions:
- Multiline function calls must now put each parameter on a new line.
- Auto-formatting files is now part of the `grunt precommit` script. 
- Auto-fixable coding standards issues will now cause Travis failures.

Fixes #44600.



git-svn-id: https://develop.svn.wordpress.org/trunk@43571 602fd350-edb4-49c9-b593-d223f7449a82
2018-08-17 01:50:26 +00:00
John Blackbourn
c71a898f78 Formatting: Begin the process of improving the docs for KSES related functions.
See #33801


git-svn-id: https://develop.svn.wordpress.org/trunk@43016 602fd350-edb4-49c9-b593-d223f7449a82
2018-04-28 13:57:32 +00:00
Sergey Biryukov
c8fa6497aa Formatting: Permit use of text-transform in safecss_filter_attr().
Add unit tests for `safecss_filter_attr()`.

Props birgire, juiiee8487, danielbachhuber.
Fixes #42729.

git-svn-id: https://develop.svn.wordpress.org/trunk@42880 602fd350-edb4-49c9-b593-d223f7449a82
2018-03-27 00:53:20 +00:00
Sergey Biryukov
db606c9bb2 Formatting: Avoid a PHP 7.2 warning in wp_kses_attr() when one of $allowedtags elements is an uncountable value.
Props andrei0x309, soulseekah, SergeyBiryukov.
Fixes #43312.

git-svn-id: https://develop.svn.wordpress.org/trunk@42860 602fd350-edb4-49c9-b593-d223f7449a82
2018-03-20 21:34:15 +00:00
Sergey Biryukov
43ed92210c Docs: Move inline comments in wp_kses_split2() before the blocks they apply to.
See #42505.

git-svn-id: https://develop.svn.wordpress.org/trunk@42712 602fd350-edb4-49c9-b593-d223f7449a82
2018-02-14 11:45:56 +00:00
Gary Pendergast
8f95800d52 Code is Poetry.
WordPress' code just... wasn't.
This is now dealt with.

Props jrf, pento, netweb, GaryJ, jdgrimes, westonruter, Greg Sherwood from PHPCS, and everyone who's ever contributed to WPCS and PHPCS.
Fixes #41057.



git-svn-id: https://develop.svn.wordpress.org/trunk@42343 602fd350-edb4-49c9-b593-d223f7449a82
2017-11-30 23:09:33 +00:00
Gary Pendergast
209ede72de General: Add inline PHPCS options to leave regex indentation.
We have a handful of super long regexen that are written over multiple lines, as a collection of strings concatenated together. Each string is indented appropriately for the regex, but PHPCS doesn't recognised this, so defaults to removing the extra whitespace.

Disabling the `Squiz.Strings.ConcatenationSpacing.PaddingFound` rule for these blocks stops the extra whitespace from being removed.

See #41057.



git-svn-id: https://develop.svn.wordpress.org/trunk@42249 602fd350-edb4-49c9-b593-d223f7449a82
2017-11-28 04:23:11 +00:00
Gary Pendergast
574821573a General: Fix some precision alignment formatting warnings.
The WPCS `WordPress.WhiteSpace.PrecisionAlignment` rule throws warnings for a bunch of code that will likely cause issues for `wpcbf`. Fixing these manually beforehand gives us better auto-fixed results later.

See #41057.



git-svn-id: https://develop.svn.wordpress.org/trunk@42228 602fd350-edb4-49c9-b593-d223f7449a82
2017-11-26 23:56:25 +00:00
Drew Jaynes
0624e59e02 Docs: Adjust notation for the $context parameter in the DocBlocks for the wp_kses_allowed_html() function and its associated wp_kses_allowed_html filter.
`$context|$allowedtags` can be either a string or array.

Props bor0.
Fixes #40575.


git-svn-id: https://develop.svn.wordpress.org/trunk@40950 602fd350-edb4-49c9-b593-d223f7449a82
2017-06-25 22:15:18 +00:00
Dominik Schilling (ocean90)
d880e60f11 KSES: Support 'tag' => true as a shorthand for 'tag' => array() in wp_kses_attr().
`Automatic_Upgrader_Skin::feedback()` had always assumed that this is already the case, now it is.

See #20017.
Fixes #40680.

git-svn-id: https://develop.svn.wordpress.org/trunk@40637 602fd350-edb4-49c9-b593-d223f7449a82
2017-05-11 19:22:17 +00:00
John Blackbourn
5f645d2f34 Docs: Add and correct @since docs for a variety of functions and methods.
Props keesiemeijer, chris_dev
Fixes #39343, #39357, #39344
See #39130


git-svn-id: https://develop.svn.wordpress.org/trunk@39638 602fd350-edb4-49c9-b593-d223f7449a82
2016-12-27 09:20:11 +00:00
Gary Pendergast
595c76de1a KSES: Deprecate wp_kses_js_entities().
This function was originally introduced to fix an XSS attack in Netscape 4, which never affected any other browsers, or later versions of Netscape.

I'm willing to go out on a limb, and say that we've officially dropped security support for Netscape 4.

Props dmsnell, desrosj.
Fixes #33848.



git-svn-id: https://develop.svn.wordpress.org/trunk@38785 602fd350-edb4-49c9-b593-d223f7449a82
2016-10-13 22:24:27 +00:00
Aaron Jorbin
4484e2d2c3 Formatting: Allow KSES custom elements with hyphens
The W3C Custom Elements spec (http://www.w3.org/TR/custom-elements/#concepts) allows you to use your own custom DOM elements/tags. One of the main requirements is that the tag name "must contain a U+002D HYPHEN-MINUS character". This adjusts KSES to allow it.

Fixes #34105.
Props batmoo.



git-svn-id: https://develop.svn.wordpress.org/trunk@38511 602fd350-edb4-49c9-b593-d223f7449a82
2016-09-02 04:16:00 +00:00
Drew Jaynes
c750ff2d3c Docs: Fix formatting, tense, verb conjugation, and other syntax for wp-includes/* elements introduced or changed in 4.6.
Part 1/2.

See #37318.


git-svn-id: https://develop.svn.wordpress.org/trunk@38121 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-20 16:56:21 +00:00
Drew Jaynes
2220ac9425 Docs: Add changelog entries to the hook doc for the safe_style_css filter denoting recent CSS attribute additions.
* `min-height`, `max-height`, `min-width`, and `max-width` were added in 4.4, see [33739].
* `list-style-type` was added in 4.6, see [37898].

See #35877. See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@37931 602fd350-edb4-49c9-b593-d223f7449a82
2016-06-30 17:01:51 +00:00
Jeremy Felt
d790268b48 KSES: Add list-style-type to the list of allowed CSS attributes.
Props azaozz.
Fixes #35877.


git-svn-id: https://develop.svn.wordpress.org/trunk@37898 602fd350-edb4-49c9-b593-d223f7449a82
2016-06-28 22:09:55 +00:00
Jeremy Felt
cc87a1a7f9 KSES: Adjust the list of safecss attributes for readability.
Props azaozz.
See #35877.


git-svn-id: https://develop.svn.wordpress.org/trunk@37897 602fd350-edb4-49c9-b593-d223f7449a82
2016-06-28 22:05:08 +00:00
Drew Jaynes
194583a770 Docs: Apply inline @see tags to hooks referenced in DocBlocks in a variety of wp-includes/* files.
Applying these specially-crafted `@see` tags allows the Code Reference parser to recognize and link these elements as actions and filters.

See #36921.


git-svn-id: https://develop.svn.wordpress.org/trunk@37543 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-23 19:00:41 +00:00
Drew Jaynes
d11f7ed391 Docs: Standardize filter docs in remaining wp-includes/* files to use third-person singular verbs per the inline documentation standards for PHP.
See #36913.


git-svn-id: https://develop.svn.wordpress.org/trunk@37518 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-22 18:49:05 +00:00
Drew Jaynes
c7bed4f8c6 Docs: Remove inline @see tags from function, class, and method references in inline docs.
Known functions, classes, and methods are now auto-linked in Code Reference pages following #meta1483.

Note: Hook references are still linked via inline `@see` tags due to the unlikelihood of reliably matching for known hooks based on a RegEx pattern.

See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@37342 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-02 03:59:56 +00:00
Drew Jaynes
fed210d8ae Docs: Use the correct parameter name in the DocBlock for wp_kses_post_deep(), introduced in [36429].
Props sebastianpisula.
Fixes #35700. See #35316.


git-svn-id: https://develop.svn.wordpress.org/trunk@36489 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-07 00:17:59 +00:00
Dominik Schilling (ocean90)
62705eef00 Media: In wp_read_image_metadata() make sure that IPTC keywords are UTF8 encoded.
Prevents missing `_wp_attachment_metadata` when an image contains keywords with latin extended characters.

Fixes #35316.

git-svn-id: https://develop.svn.wordpress.org/trunk@36429 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-01 14:52:15 +00:00
John Blackbourn
021401424b Docs: @param fixes for a variety of docblocks.
See #32246


git-svn-id: https://develop.svn.wordpress.org/trunk@36232 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-09 01:44:31 +00:00
Sergey Biryukov
d727e3b516 KSES: Allow the reversed attribute for <ol>.
Props lancewillett.
Fixes #35079.

git-svn-id: https://develop.svn.wordpress.org/trunk@35960 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-16 09:53:18 +00:00
Scott Taylor
16b02b6768 KSES: have you ever heard of the <bdo> HTML tag? Same. http://www.w3schools.com/tags/tag_bdo.asp
Adds unit test.

Props iandunn.
Fixes #34063.


git-svn-id: https://develop.svn.wordpress.org/trunk@35141 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-13 17:17:13 +00:00
Scott Taylor
4a622d21fb Allow these CSS properties in KSES: min-height', 'max-height', 'min-width', 'max-width'
Props MikeHansenMe.
Fixes #31949.


git-svn-id: https://develop.svn.wordpress.org/trunk@33739 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-25 21:45:42 +00:00
Gary Pendergast
7b41adf712 Shortcodes: Improve the reliablity of shortcodes inside HTML tags.
Props miqrogroove.

See #15694.



git-svn-id: https://develop.svn.wordpress.org/trunk@33359 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-22 05:14:50 +00:00
Scott Taylor
a06f5f6d90 Don't strip \0 (backslash+zero) from post content for users without "unfiltered_html"
Adds unit tests.

Props miqrogroove.
Fixes #28699.


git-svn-id: https://develop.svn.wordpress.org/trunk@32860 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-19 18:46:11 +00:00
Scott Taylor
9c42e158bc $status shouldn't be loosely compared to true in wp_xmlrpc_server::wp_deleteComment().
`$initial` shouldn't be loosely compared to `true` in `get_calendar()`.
`current_user_can()` shouldn't be loosely compared to `false` in `kses_init()`
`$get_all` shouldn't be loosely compared to `true` in `get_blog_details()`.
`is_array()` and `in_array()` shouldn't be loosely compared in `wpmu_validate_user_signup()`.
`$result` should by strictly compared in `check_ajax_referer()`.
`wp_verify_nonce()` should by strictly compared in `_show_post_preview()`.
`is_user_logged_in()` should not be loosly compared against `false` in `wp-signup.php`.

See #32444.


git-svn-id: https://develop.svn.wordpress.org/trunk@32733 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-12 17:47:16 +00:00
Scott Taylor
f9cd0dac60 Add missing doc blocks to kses.php - also fix some unfortunate whitespace issues in related funcs.
See #32444.


git-svn-id: https://develop.svn.wordpress.org/trunk@32603 602fd350-edb4-49c9-b593-d223f7449a82
2015-05-26 18:05:22 +00:00
Scott Taylor
18dbceee8c Add <s> to $allowedtags in KSES.
From https://developer.mozilla.org/en-US/docs/Web/HTML/Element/s :
"The <strike> element, alter ego of the <s> element is obsolete and should not be used on Web sites any more."

`<strike>` shall remain for BC, but `<s>` should not be stripped from the author (et al) role's HTML input.

Props paulschreiber.
Fixes #30954.


git-svn-id: https://develop.svn.wordpress.org/trunk@31205 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-16 16:06:47 +00:00
Scott Taylor
865185903b There are some random add_action() and add_filter() calls littered around some files in wp-includes/. These should be moved to wp-includes/default-filters.php with the rest of the registered hooks. It seems like this was the best practice for awhile and then we randomly stopped. This file loads way before any of the includes, so the hooks will be registered for any request that loads WordPress, even SHORTINIT - a lot of the hooks registered won't run anyways (that's already the case).
See #30947.


git-svn-id: https://develop.svn.wordpress.org/trunk@31168 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-12 16:39:39 +00:00
Scott Taylor
0522fcb3f9 Jump statements should not be followed by other statements (there were 5 lingering).
See #30799.


git-svn-id: https://develop.svn.wordpress.org/trunk@31100 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-08 21:14:56 +00:00
Scott Taylor
5d6cc49628 Perl-style comments should not be used
See #30799.


git-svn-id: https://develop.svn.wordpress.org/trunk@31079 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-08 05:51:39 +00:00
Drew Jaynes (DrewAPicture)
480f817a7e Only backtick-escape individual HTML entities in the DocBlock for wp_kses_normalize_entities().
Props TobiasBg.
Fixes #30473.


git-svn-id: https://develop.svn.wordpress.org/trunk@30726 602fd350-edb4-49c9-b593-d223f7449a82
2014-12-03 11:46:30 +00:00
Drew Jaynes (DrewAPicture)
a5ad473d00 Remove some now-unnecessary double quotes around HTML entities used in DocBlock comments.
See #30473.


git-svn-id: https://develop.svn.wordpress.org/trunk@30721 602fd350-edb4-49c9-b593-d223f7449a82
2014-12-03 08:48:34 +00:00
Drew Jaynes (DrewAPicture)
bf8544d9fa Backtick-escape three sets of HTML entities used in DocBlock descriptions in wp-includes/kses.php.
Without the escaping, the Code Reference/browser may inadvertently attempt to convert and display entities.

Fixes #30473.


git-svn-id: https://develop.svn.wordpress.org/trunk@30720 602fd350-edb4-49c9-b593-d223f7449a82
2014-12-03 08:46:31 +00:00
Andrew Nacin
7e830d4a4a Fix typo in style filter. props miqrogroove
git-svn-id: https://develop.svn.wordpress.org/trunk@30425 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-20 13:15:00 +00:00
Drew Jaynes (DrewAPicture)
3cc10d77a0 Remove redundant and erroneous @uses tag from most core inline documentation.
Per our inline documentation standards, no further use of the `@uses` tag is recommended as used and used-by relationships can be derived through other means. This removes most uses of the tag in core documentation, with remaining tags to be converted to `@global` or `@see` as they apply.

Fixes #30191.


git-svn-id: https://develop.svn.wordpress.org/trunk@30105 602fd350-edb4-49c9-b593-d223f7449a82
2014-10-30 01:04:55 +00:00
Scott Taylor
159423cef9 Add audio, video, and track to $allowedposttags (KSES).
Props jwenerd, wonderboymusic. 
Fixes #29826.


git-svn-id: https://develop.svn.wordpress.org/trunk@30064 602fd350-edb4-49c9-b593-d223f7449a82
2014-10-28 19:35:17 +00:00
Andrew Nacin
2dd4990234 kses: Add colgroup.
props collinsinternet.
fixes #29433.


git-svn-id: https://develop.svn.wordpress.org/trunk@29740 602fd350-edb4-49c9-b593-d223f7449a82
2014-09-12 05:50:03 +00:00
Sergey Biryukov
99d75b6acb Make wp_kses_no_null() remove any invalid control characters in a string.
props mauteri, miqrogroove.
fixes #28506.

git-svn-id: https://develop.svn.wordpress.org/trunk@28942 602fd350-edb4-49c9-b593-d223f7449a82
2014-07-01 18:00:50 +00:00