Grouped backports to the 3.9 branch.

- Posts, Post Types: Escape output within `the_meta()`.
- General: Ensure bookmark query limits are numeric.
- Plugins: Escape output in error messages.

Merges [53958-53960] to the 3.9 branch.
Props tykoted, martinkrcho, xknown, dd32, peterwilsoncc, paulkevan, timothyblynjacobs.

Built from https://develop.svn.wordpress.org/branches/3.9@53984


git-svn-id: http://core.svn.wordpress.org/branches/3.9@53543 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
Sergey Biryukov 2022-08-30 15:55:16 +00:00
parent 997dd0e0c8
commit a2f280aa5c
3 changed files with 7 additions and 6 deletions

View File

@ -376,7 +376,7 @@ require_once(ABSPATH . 'wp-admin/admin-header.php');
$invalid = validate_active_plugins();
if ( !empty($invalid) )
foreach ( $invalid as $plugin_file => $error )
echo '<div id="message" class="error"><p>' . sprintf(__('The plugin <code>%s</code> has been <strong>deactivated</strong> due to an error: %s'), esc_html($plugin_file), $error->get_error_message()) . '</p></div>';
echo '<div id="message" class="error"><p>' . sprintf(__('The plugin <code>%s</code> has been <strong>deactivated</strong> due to an error: %s'), esc_html($plugin_file), esc_html( $error->get_error_message() ) ) . '</p></div>';
?>
<?php if ( isset($_GET['error']) ) :
@ -402,7 +402,7 @@ if ( !empty($invalid) )
delete_transient( 'plugins_delete_result_' . $user_ID );
if ( is_wp_error($delete_result) ) : ?>
<div id="message" class="updated"><p><?php printf( __('Plugin could not be deleted due to an error: %s'), $delete_result->get_error_message() ); ?></p></div>
<div id="message" class="updated"><p><?php printf( __('Plugin could not be deleted due to an error: %s'), esc_html( $delete_result->get_error_message() ) ); ?></p></div>
<?php else : ?>
<div id="message" class="updated"><p><?php _e('The selected plugins have been <strong>deleted</strong>.'); ?></p></div>
<?php endif; ?>

View File

@ -274,7 +274,7 @@ function get_bookmarks($args = '') {
$query .= " $exclusions $inclusions $search";
$query .= " ORDER BY $orderby $order";
if ($limit != -1)
$query .= " LIMIT $limit";
$query .= ' LIMIT ' . absint( $limit );
$results = $wpdb->get_results($query);

View File

@ -862,11 +862,12 @@ function post_custom( $key = '' ) {
/**
* Display list of post custom fields.
*
* @internal This will probably change at some point...
* @since 1.2.0
* @uses apply_filters() Calls 'the_meta_key' on list item HTML content, with key and value as separate parameters.
*
* @deprecated 6.0.2 Use get_post_meta() to retrieve post meta and render manually.
*/
function the_meta() {
_deprecated_function( __FUNCTION__, '6.0.2', 'get_post_meta()' );
if ( $keys = get_post_custom_keys() ) {
echo "<ul class='post-meta'>\n";
foreach ( (array) $keys as $key ) {
@ -885,7 +886,7 @@ function the_meta() {
* @param string $key Meta key.
* @param string $value Meta value.
*/
echo apply_filters( 'the_meta_key', "<li><span class='post-meta-key'>$key:</span> $value</li>\n", $key, $value );
echo apply_filters( 'the_meta_key', "<li><span class='post-meta-key'>" . esc_html( $key ) . ":</span>" . esc_html( $value ) . "</li>\n", $key, $value );
}
echo "</ul>\n";
}