Index: /trunk/src/wp-admin/includes/class-wp-plugins-list-table.php
===================================================================
--- /trunk/src/wp-admin/includes/class-wp-plugins-list-table.php (revision 36559)
+++ /trunk/src/wp-admin/includes/class-wp-plugins-list-table.php (revision 36560)
@@ -269,5 +269,5 @@
/**
- * @global string $s
+ * @global string $s URL encoded search term.
*
* @param array $plugin
@@ -278,5 +278,5 @@
foreach ( $plugin as $value ) {
- if ( is_string( $value ) && false !== stripos( strip_tags( $value ), $s ) ) {
+ if ( is_string( $value ) && false !== stripos( strip_tags( $value ), urldecode( $s ) ) ) {
return true;
}
@@ -317,5 +317,5 @@
if ( ! empty( $_REQUEST['s'] ) ) {
- $s = esc_html( $_REQUEST['s'] );
+ $s = esc_html( wp_unslash( $_REQUEST['s'] ) );
printf( __( 'No plugins found for “%s”.' ), $s );
Index: /trunk/src/wp-admin/plugins.php
===================================================================
--- /trunk/src/wp-admin/plugins.php (revision 36559)
+++ /trunk/src/wp-admin/plugins.php (revision 36560)
@@ -19,5 +19,5 @@
$plugin = isset($_REQUEST['plugin']) ? $_REQUEST['plugin'] : '';
-$s = isset($_REQUEST['s']) ? urlencode($_REQUEST['s']) : '';
+$s = isset($_REQUEST['s']) ? urlencode( wp_unslash( $_REQUEST['s'] ) ) : '';
// Clean up request URI from temporary args for screen options/paging uri's to work as expected.
@@ -487,5 +487,5 @@
if ( strlen( $s ) ) {
/* translators: %s: search keywords */
- printf( '' . __( 'Search results for “%s”' ) . '', esc_html( $s ) );
+ printf( '' . __( 'Search results for “%s”' ) . '', esc_html( urldecode( $s ) ) );
}
?>