Add missing doc blocks to `kses.php` - also fix some unfortunate whitespace issues in related funcs.

See #32444.

Built from https://develop.svn.wordpress.org/trunk@32603


git-svn-id: http://core.svn.wordpress.org/trunk@32573 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
Scott Taylor 2015-05-26 18:06:24 +00:00
parent 7792b5c942
commit 4b24007353
2 changed files with 53 additions and 41 deletions

View File

@ -513,9 +513,9 @@ if ( ! CUSTOM_TAGS ) {
* *
* @since 1.0.0 * @since 1.0.0
* *
* @param string $string Content to filter through kses * @param string $string Content to filter through kses
* @param array $allowed_html List of allowed HTML elements * @param array $allowed_html List of allowed HTML elements
* @param array $allowed_protocols Optional. Allowed protocol in links. * @param array $allowed_protocols Optional. Allowed protocol in links.
* @return string Filtered content with only allowed HTML elements * @return string Filtered content with only allowed HTML elements
*/ */
function wp_kses( $string, $allowed_html, $allowed_protocols = array() ) { function wp_kses( $string, $allowed_html, $allowed_protocols = array() ) {
@ -533,8 +533,13 @@ function wp_kses( $string, $allowed_html, $allowed_protocols = array() ) {
* *
* @since 3.5.0 * @since 3.5.0
* *
* @param string $context The context for which to retrieve tags. Allowed values are * @global array $allowedposttags
* post | strip | data | entities or the name of a field filter such as pre_user_description. * @global array $allowedtags
* @global array $allowedentitynames
*
* @param string $context The context for which to retrieve tags.
* Allowed values are post, strip, data,entities, or
* the name of a field filter such as pre_user_description.
* @return array List of allowed tags and their allowed attributes. * @return array List of allowed tags and their allowed attributes.
*/ */
function wp_kses_allowed_html( $context = '' ) { function wp_kses_allowed_html( $context = '' ) {
@ -588,9 +593,9 @@ function wp_kses_allowed_html( $context = '' ) {
* *
* @since 1.0.0 * @since 1.0.0
* *
* @param string $string Content to filter through kses * @param string $string Content to filter through kses
* @param array $allowed_html List of allowed HTML elements * @param array $allowed_html List of allowed HTML elements
* @param array $allowed_protocols Allowed protocol in links * @param array $allowed_protocols Allowed protocol in links
* @return string Filtered content through 'pre_kses' hook * @return string Filtered content through 'pre_kses' hook
*/ */
function wp_kses_hook( $string, $allowed_html, $allowed_protocols ) { function wp_kses_hook( $string, $allowed_html, $allowed_protocols ) {
@ -603,8 +608,7 @@ function wp_kses_hook( $string, $allowed_html, $allowed_protocols ) {
* @param array $allowed_html Allowed HTML elements. * @param array $allowed_html Allowed HTML elements.
* @param array $allowed_protocols Allowed protocol in links. * @param array $allowed_protocols Allowed protocol in links.
*/ */
$string = apply_filters( 'pre_kses', $string, $allowed_html, $allowed_protocols ); return apply_filters( 'pre_kses', $string, $allowed_html, $allowed_protocols );
return $string;
} }
/** /**
@ -625,9 +629,12 @@ function wp_kses_version() {
* *
* @since 1.0.0 * @since 1.0.0
* *
* @param string $string Content to filter * @global array $pass_allowed_html
* @param array $allowed_html Allowed HTML elements * @global array $pass_allowed_protocols
* @param array $allowed_protocols Allowed protocols to keep *
* @param string $string Content to filter
* @param array $allowed_html Allowed HTML elements
* @param array $allowed_protocols Allowed protocols to keep
* @return string Content with fixed HTML tags * @return string Content with fixed HTML tags
*/ */
function wp_kses_split( $string, $allowed_html, $allowed_protocols ) { function wp_kses_split( $string, $allowed_html, $allowed_protocols ) {
@ -642,6 +649,11 @@ function wp_kses_split( $string, $allowed_html, $allowed_protocols ) {
* *
* @since 3.1.0 * @since 3.1.0
* @access private * @access private
*
* @global array $pass_allowed_html
* @global array $pass_allowed_protocols
*
* @return string
*/ */
function _wp_kses_split_callback( $match ) { function _wp_kses_split_callback( $match ) {
global $pass_allowed_html, $pass_allowed_protocols; global $pass_allowed_html, $pass_allowed_protocols;
@ -663,9 +675,9 @@ function _wp_kses_split_callback( $match ) {
* @access private * @access private
* @since 1.0.0 * @since 1.0.0
* *
* @param string $string Content to filter * @param string $string Content to filter
* @param array $allowed_html Allowed HTML elements * @param array $allowed_html Allowed HTML elements
* @param array $allowed_protocols Allowed protocols to keep * @param array $allowed_protocols Allowed protocols to keep
* @return string Fixed HTML element * @return string Fixed HTML element
*/ */
function wp_kses_split2($string, $allowed_html, $allowed_protocols) { function wp_kses_split2($string, $allowed_html, $allowed_protocols) {
@ -722,10 +734,10 @@ function wp_kses_split2($string, $allowed_html, $allowed_protocols) {
* *
* @since 1.0.0 * @since 1.0.0
* *
* @param string $element HTML element/tag * @param string $element HTML element/tag
* @param string $attr HTML attributes from HTML element to closing HTML element tag * @param string $attr HTML attributes from HTML element to closing HTML element tag
* @param array $allowed_html Allowed HTML elements * @param array $allowed_html Allowed HTML elements
* @param array $allowed_protocols Allowed protocols to keep * @param array $allowed_protocols Allowed protocols to keep
* @return string Sanitized HTML element * @return string Sanitized HTML element
*/ */
function wp_kses_attr($element, $attr, $allowed_html, $allowed_protocols) { function wp_kses_attr($element, $attr, $allowed_html, $allowed_protocols) {
@ -807,8 +819,8 @@ function wp_kses_attr($element, $attr, $allowed_html, $allowed_protocols) {
* *
* @since 1.0.0 * @since 1.0.0
* *
* @param string $attr Attribute list from HTML element to closing HTML element tag * @param string $attr Attribute list from HTML element to closing HTML element tag
* @param array $allowed_protocols Allowed protocols to keep * @param array $allowed_protocols Allowed protocols to keep
* @return array List of attributes after parsing * @return array List of attributes after parsing
*/ */
function wp_kses_hair($attr, $allowed_protocols) { function wp_kses_hair($attr, $allowed_protocols) {
@ -931,10 +943,10 @@ function wp_kses_hair($attr, $allowed_protocols) {
* *
* @since 1.0.0 * @since 1.0.0
* *
* @param string $value Attribute value * @param string $value Attribute value
* @param string $vless Whether the value is valueless. Use 'y' or 'n' * @param string $vless Whether the value is valueless. Use 'y' or 'n'
* @param string $checkname What $checkvalue is checking for. * @param string $checkname What $checkvalue is checking for.
* @param mixed $checkvalue What constraint the value should pass * @param mixed $checkvalue What constraint the value should pass
* @return bool Whether check passes * @return bool Whether check passes
*/ */
function wp_kses_check_attr_val($value, $vless, $checkname, $checkvalue) { function wp_kses_check_attr_val($value, $vless, $checkname, $checkvalue) {
@ -1005,8 +1017,8 @@ function wp_kses_check_attr_val($value, $vless, $checkname, $checkvalue) {
* *
* @since 1.0.0 * @since 1.0.0
* *
* @param string $string Content to filter bad protocols from * @param string $string Content to filter bad protocols from
* @param array $allowed_protocols Allowed protocols to keep * @param array $allowed_protocols Allowed protocols to keep
* @return string Filtered content * @return string Filtered content
*/ */
function wp_kses_bad_protocol($string, $allowed_protocols) { function wp_kses_bad_protocol($string, $allowed_protocols) {
@ -1116,7 +1128,7 @@ function wp_kses_html_error($string) {
* *
* @since 1.0.0 * @since 1.0.0
* *
* @param string $string Content to check for bad protocols * @param string $string Content to check for bad protocols
* @param string $allowed_protocols Allowed protocols * @param string $allowed_protocols Allowed protocols
* @return string Sanitized content * @return string Sanitized content
*/ */
@ -1147,7 +1159,7 @@ function wp_kses_bad_protocol_once($string, $allowed_protocols, $count = 1 ) {
* @access private * @access private
* @since 1.0.0 * @since 1.0.0
* *
* @param string $string URI scheme to check against the whitelist * @param string $string URI scheme to check against the whitelist
* @param string $allowed_protocols Allowed protocols * @param string $allowed_protocols Allowed protocols
* @return string Sanitized content * @return string Sanitized content
*/ */
@ -1183,11 +1195,9 @@ function wp_kses_bad_protocol_once2( $string, $allowed_protocols ) {
*/ */
function wp_kses_normalize_entities($string) { function wp_kses_normalize_entities($string) {
// Disarm all entities by converting & to & // Disarm all entities by converting & to &
$string = str_replace('&', '&', $string); $string = str_replace('&', '&', $string);
// Change back the allowed entities in our entity whitelist // Change back the allowed entities in our entity whitelist
$string = preg_replace_callback('/&([A-Za-z]{2,8}[0-9]{0,2});/', 'wp_kses_named_entities', $string); $string = preg_replace_callback('/&([A-Za-z]{2,8}[0-9]{0,2});/', 'wp_kses_named_entities', $string);
$string = preg_replace_callback('/&#(0*[0-9]{1,7});/', 'wp_kses_normalize_entities2', $string); $string = preg_replace_callback('/&#(0*[0-9]{1,7});/', 'wp_kses_normalize_entities2', $string);
$string = preg_replace_callback('/&#[Xx](0*[0-9A-Fa-f]{1,6});/', 'wp_kses_normalize_entities3', $string); $string = preg_replace_callback('/&#[Xx](0*[0-9A-Fa-f]{1,6});/', 'wp_kses_normalize_entities3', $string);
@ -1203,6 +1213,8 @@ function wp_kses_normalize_entities($string) {
* *
* @since 3.0.0 * @since 3.0.0
* *
* @global array $allowedentitynames
*
* @param array $matches preg_replace_callback() matches array * @param array $matches preg_replace_callback() matches array
* @return string Correctly encoded entity * @return string Correctly encoded entity
*/ */
@ -1213,7 +1225,7 @@ function wp_kses_named_entities($matches) {
return ''; return '';
$i = $matches[1]; $i = $matches[1];
return ( ( ! in_array($i, $allowedentitynames) ) ? "&$i;" : "&$i;" ); return ( ! in_array( $i, $allowedentitynames ) ) ? "&$i;" : "&$i;";
} }
/** /**
@ -1259,7 +1271,7 @@ function wp_kses_normalize_entities3($matches) {
return ''; return '';
$hexchars = $matches[1]; $hexchars = $matches[1];
return ( ( ! valid_unicode(hexdec($hexchars)) ) ? "&#x$hexchars;" : '&#x'.ltrim($hexchars,'0').';' ); return ( ! valid_unicode( hexdec( $hexchars ) ) ) ? "&#x$hexchars;" : '&#x'.ltrim($hexchars,'0').';';
} }
/** /**
@ -1335,7 +1347,7 @@ function wp_filter_kses( $data ) {
* @return string Filtered content * @return string Filtered content
*/ */
function wp_kses_data( $data ) { function wp_kses_data( $data ) {
return wp_kses( $data , current_filter() ); return wp_kses( $data, current_filter() );
} }
/** /**
@ -1349,8 +1361,8 @@ function wp_kses_data( $data ) {
* @param string $data Post content to filter, expected to be escaped with slashes * @param string $data Post content to filter, expected to be escaped with slashes
* @return string Filtered post content with allowed HTML tags and attributes intact. * @return string Filtered post content with allowed HTML tags and attributes intact.
*/ */
function wp_filter_post_kses($data) { function wp_filter_post_kses( $data ) {
return addslashes ( wp_kses( stripslashes( $data ), 'post' ) ); return addslashes( wp_kses( stripslashes( $data ), 'post' ) );
} }
/** /**
@ -1364,8 +1376,8 @@ function wp_filter_post_kses($data) {
* @param string $data Post content to filter * @param string $data Post content to filter
* @return string Filtered post content with allowed HTML tags and attributes intact. * @return string Filtered post content with allowed HTML tags and attributes intact.
*/ */
function wp_kses_post($data) { function wp_kses_post( $data ) {
return wp_kses( $data , 'post' ); return wp_kses( $data, 'post' );
} }
/** /**
@ -1377,7 +1389,7 @@ function wp_kses_post($data) {
* @return string Filtered content without any HTML * @return string Filtered content without any HTML
*/ */
function wp_filter_nohtml_kses( $data ) { function wp_filter_nohtml_kses( $data ) {
return addslashes ( wp_kses( stripslashes( $data ), 'strip' ) ); return addslashes( wp_kses( stripslashes( $data ), 'strip' ) );
} }
/** /**

View File

@ -4,7 +4,7 @@
* *
* @global string $wp_version * @global string $wp_version
*/ */
$wp_version = '4.3-alpha-32602'; $wp_version = '4.3-alpha-32603';
/** /**
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema. * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.