Grouped backports to the 3.8 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.8 branch.
Props tykoted, martinkrcho, xknown, dd32, peterwilsoncc, paulkevan, timothyblynjacobs.

Built from https://develop.svn.wordpress.org/branches/3.8@53985


git-svn-id: http://core.svn.wordpress.org/branches/3.8@53544 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
Sergey Biryukov 2022-08-30 15:56:13 +00:00
parent 67b40d0dde
commit 89ef59a2e7
3 changed files with 7 additions and 6 deletions

View File

@ -371,7 +371,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']) ) :
@ -397,7 +397,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

@ -731,11 +731,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 ) {
@ -744,7 +745,7 @@ function the_meta() {
continue;
$values = array_map('trim', get_post_custom_values($key));
$value = implode($values,', ');
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";
}