Use wp_unslash and only decode when getting attributes, not saving
This commit is contained in:
parent
7552704e75
commit
fb64e6e66e
|
@ -442,7 +442,7 @@ class WC_AJAX {
|
||||||
die();
|
die();
|
||||||
}
|
}
|
||||||
|
|
||||||
$variation_id = $variable_product->get_matching_variation( stripslashes_deep( $_POST ) );
|
$variation_id = $variable_product->get_matching_variation( wp_unslash( $_POST ) );
|
||||||
|
|
||||||
if ( $variation_id ) {
|
if ( $variation_id ) {
|
||||||
$variation = $variable_product->get_available_variation( $variation_id );
|
$variation = $variable_product->get_available_variation( $variation_id );
|
||||||
|
@ -689,7 +689,7 @@ class WC_AJAX {
|
||||||
} elseif ( isset( $attribute_values[ $i ] ) ) {
|
} elseif ( isset( $attribute_values[ $i ] ) ) {
|
||||||
|
|
||||||
// Text based, separate by pipe
|
// Text based, separate by pipe
|
||||||
$values = implode( ' ' . WC_DELIMITER . ' ', array_map( 'wc_clean', wc_get_text_attributes( $attribute_values[ $i ] ) ) );
|
$values = implode( ' ' . WC_DELIMITER . ' ', array_map( 'wc_clean', explode( WC_DELIMITER, wp_unslash( $attribute_values[ $i ] ) ) ) );
|
||||||
|
|
||||||
// Custom attribute - Add attribute to array and set the values
|
// Custom attribute - Add attribute to array and set the values
|
||||||
$attributes[ sanitize_title( $attribute_names[ $i ] ) ] = array(
|
$attributes[ sanitize_title( $attribute_names[ $i ] ) ] = array(
|
||||||
|
@ -2422,7 +2422,7 @@ class WC_AJAX {
|
||||||
|
|
||||||
// Get attributes
|
// Get attributes
|
||||||
$attributes = array();
|
$attributes = array();
|
||||||
$posted_attributes = stripslashes_deep( $_POST['attributes'] );
|
$posted_attributes = wp_unslash( $_POST['attributes'] );
|
||||||
|
|
||||||
foreach ( $posted_attributes as $key => $value ) {
|
foreach ( $posted_attributes as $key => $value ) {
|
||||||
$attributes[ wc_clean( $key ) ] = array_map( 'wc_clean', $value );
|
$attributes[ wc_clean( $key ) ] = array_map( 'wc_clean', $value );
|
||||||
|
|
|
@ -19,7 +19,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
function wc_get_text_attributes( $raw_attributes ) {
|
function wc_get_text_attributes( $raw_attributes ) {
|
||||||
return array_map( 'trim', array_map( 'stripslashes', array_map( 'html_entity_decode', explode( WC_DELIMITER, $raw_attributes ) ) ) );
|
return array_map( 'trim', array_map( 'html_entity_decode', explode( WC_DELIMITER, $raw_attributes ) ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue