Automattic\WooCommerce\Internal\OrderWithdrawal\Emails
OrderWithdrawalEmailDataFormatter::normalize_withdrawal_data
Normalize and validate submitted withdrawal data before rendering emails.
Method of the class: OrderWithdrawalEmailDataFormatter{}
No Hooks.
Returns
array<string,string>|null.
Usage
$OrderWithdrawalEmailDataFormatter = new OrderWithdrawalEmailDataFormatter(); $OrderWithdrawalEmailDataFormatter->normalize_withdrawal_data( $data ): ?array;
- $data(array<string,mixed>) (required)
- Form data.
OrderWithdrawalEmailDataFormatter::normalize_withdrawal_data() OrderWithdrawalEmailDataFormatter::normalize withdrawal data code WC 11.2.1
public function normalize_withdrawal_data( array $data ): ?array {
$required_fields = array(
OrderWithdrawalFormProcessor::FIELD_FIRST_NAME,
OrderWithdrawalFormProcessor::FIELD_LAST_NAME,
OrderWithdrawalFormProcessor::FIELD_EMAIL,
OrderWithdrawalFormProcessor::FIELD_ORDER_NUMBER,
OrderWithdrawalFormProcessor::FIELD_WITHDRAWAL_TYPE,
OrderWithdrawalFormProcessor::FIELD_ADDITIONAL_DETAILS,
);
foreach ( $required_fields as $field ) {
if ( ! isset( $data[ $field ] ) || ! is_scalar( $data[ $field ] ) ) {
return null;
}
}
$normalized_data = array(
OrderWithdrawalFormProcessor::FIELD_FIRST_NAME => sanitize_text_field( (string) $data[ OrderWithdrawalFormProcessor::FIELD_FIRST_NAME ] ),
OrderWithdrawalFormProcessor::FIELD_LAST_NAME => sanitize_text_field( (string) $data[ OrderWithdrawalFormProcessor::FIELD_LAST_NAME ] ),
OrderWithdrawalFormProcessor::FIELD_EMAIL => sanitize_email( (string) $data[ OrderWithdrawalFormProcessor::FIELD_EMAIL ] ),
OrderWithdrawalFormProcessor::FIELD_ORDER_NUMBER => sanitize_text_field( (string) $data[ OrderWithdrawalFormProcessor::FIELD_ORDER_NUMBER ] ),
OrderWithdrawalFormProcessor::FIELD_WITHDRAWAL_TYPE => sanitize_text_field( (string) $data[ OrderWithdrawalFormProcessor::FIELD_WITHDRAWAL_TYPE ] ),
OrderWithdrawalFormProcessor::FIELD_ADDITIONAL_DETAILS => sanitize_textarea_field( (string) $data[ OrderWithdrawalFormProcessor::FIELD_ADDITIONAL_DETAILS ] ),
);
if ( '' === $normalized_data[ OrderWithdrawalFormProcessor::FIELD_EMAIL ] || ! is_email( $normalized_data[ OrderWithdrawalFormProcessor::FIELD_EMAIL ] ) ) {
return null;
}
if ( '' === $normalized_data[ OrderWithdrawalFormProcessor::FIELD_ORDER_NUMBER ] ) {
return null;
}
if ( ! in_array( $normalized_data[ OrderWithdrawalFormProcessor::FIELD_WITHDRAWAL_TYPE ], array( OrderWithdrawalFormProcessor::WITHDRAWAL_TYPE_FULL, OrderWithdrawalFormProcessor::WITHDRAWAL_TYPE_SPECIFIC ), true ) ) {
return null;
}
return $normalized_data;
}