🔒️ Add array sanitizer for products field

This commit is contained in:
Philipp Stracker 2024-10-30 18:57:51 +01:00
parent 4102ba285b
commit 37beb591d5
No known key found for this signature in database
2 changed files with 3 additions and 1 deletions

View file

@ -98,6 +98,8 @@ class OnboardingRestEndpoint extends RestEndpoint {
*/ */
public function __construct( OnboardingProfile $profile ) { public function __construct( OnboardingProfile $profile ) {
$this->profile = $profile; $this->profile = $profile;
$this->field_map['products']['sanitize'] = fn( $list ) => array_map( 'sanitize_text_field', $list );
} }
/** /**

View file

@ -65,7 +65,7 @@ class RestEndpoint extends WC_REST_Controller {
if ( null === $sanitation_cb ) { if ( null === $sanitation_cb ) {
$sanitized[ $key ] = $value; $sanitized[ $key ] = $value;
} elseif ( method_exists( $this, $sanitation_cb ) ) { } elseif ( is_string( $sanitation_cb ) && method_exists( $this, $sanitation_cb ) ) {
$sanitized[ $key ] = $this->{$sanitation_cb}( $value ); $sanitized[ $key ] = $this->{$sanitation_cb}( $value );
} elseif ( is_callable( $sanitation_cb ) ) { } elseif ( is_callable( $sanitation_cb ) ) {
$sanitized[ $key ] = $sanitation_cb( $value ); $sanitized[ $key ] = $sanitation_cb( $value );