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

@ -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 = '' ) {
@ -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,6 +629,9 @@ function wp_kses_version() {
* *
* @since 1.0.0 * @since 1.0.0
* *
* @global array $pass_allowed_html
* @global array $pass_allowed_protocols
*
* @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
@ -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;
@ -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.