From 2991a01f3f025d86d353c17047cd20103547225c Mon Sep 17 00:00:00 2001 From: Sergey Biryukov Date: Sun, 18 Oct 2020 06:55:16 +0000 Subject: [PATCH] Formatting: Deprecate `wp_slash_strings_only()` in favor of `wp_slash()`. The reason for introducing `wp_slash_strings_only()` in [46454] was to keep non-string values untouched. Later, `wp_slash()` itself was updated in [48433] to prevent changing non-string values. To avoid confusion, `wp_slash_strings_only()` is now deprecated. Props ayeshrajans, ocean90. Fixes #50635. git-svn-id: https://develop.svn.wordpress.org/trunk@49188 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-includes/deprecated.php | 33 +++++++++++++++++++ src/wp-includes/formatting.php | 27 --------------- .../fields/class-wp-rest-meta-fields.php | 2 +- 3 files changed, 34 insertions(+), 28 deletions(-) diff --git a/src/wp-includes/deprecated.php b/src/wp-includes/deprecated.php index bde6bdd430..4361412a92 100644 --- a/src/wp-includes/deprecated.php +++ b/src/wp-includes/deprecated.php @@ -4101,3 +4101,36 @@ function remove_option_whitelist( $del_options, $options = '' ) { return remove_allowed_options( $del_options, $options ); } + +/** + * Adds slashes to only string values in an array of values. + * + * This should be used when preparing data for core APIs that expect slashed data. + * This should not be used to escape data going directly into an SQL query. + * + * @since 5.3.0 + * @deprecated 5.6.0 Use wp_slash() + * + * @see wp_slash() + * + * @param mixed $value Scalar or array of scalars. + * @return mixed Slashes $value + */ +function wp_slash_strings_only( $value ) { + return map_deep( $value, 'addslashes_strings_only' ); +} + +/** + * Adds slashes only if the provided value is a string. + * + * @since 5.3.0 + * @deprecated 5.6.0 + * + * @see wp_slash() + * + * @param mixed $value + * @return mixed + */ +function addslashes_strings_only( $value ) { + return is_string( $value ) ? addslashes( $value ) : $value; +} diff --git a/src/wp-includes/formatting.php b/src/wp-includes/formatting.php index 1282320057..a9bb603868 100644 --- a/src/wp-includes/formatting.php +++ b/src/wp-includes/formatting.php @@ -5545,33 +5545,6 @@ function wp_unslash( $value ) { return stripslashes_deep( $value ); } -/** - * Adds slashes to only string values in an array of values. - * - * This should be used when preparing data for core APIs that expect slashed data. - * This should not be used to escape data going directly into an SQL query. - * - * @since 5.3.0 - * - * @param mixed $value Scalar or array of scalars. - * @return mixed Slashes $value - */ -function wp_slash_strings_only( $value ) { - return map_deep( $value, 'addslashes_strings_only' ); -} - -/** - * Adds slashes only if the provided value is a string. - * - * @since 5.3.0 - * - * @param mixed $value - * @return mixed - */ -function addslashes_strings_only( $value ) { - return is_string( $value ) ? addslashes( $value ) : $value; -} - /** * Extract and return the first URL from passed content. * diff --git a/src/wp-includes/rest-api/fields/class-wp-rest-meta-fields.php b/src/wp-includes/rest-api/fields/class-wp-rest-meta-fields.php index f709afa85a..2d69e9e903 100644 --- a/src/wp-includes/rest-api/fields/class-wp-rest-meta-fields.php +++ b/src/wp-includes/rest-api/fields/class-wp-rest-meta-fields.php @@ -372,7 +372,7 @@ abstract class WP_REST_Meta_Fields { return true; } - if ( ! update_metadata( $meta_type, $object_id, wp_slash( $meta_key ), wp_slash_strings_only( $value ) ) ) { + if ( ! update_metadata( $meta_type, $object_id, wp_slash( $meta_key ), wp_slash( $value ) ) ) { return new WP_Error( 'rest_meta_database_error', /* translators: %s: Custom field key. */