You appear to be a bot. Output may be restricted
Description
Validates the supplied discount sent via AJAX.
Usage
$void = edd_ajax_apply_discount();
Parameters
Returns
void
Source
File name: easy-digital-downloads/includes/ajax-functions.php
Lines:
1 to 48 of 48
function edd_ajax_apply_discount() { if ( isset( $_POST['code'] ) ) { $discount_code = sanitize_text_field( $_POST['code'] ); $return = array( 'msg' => '', 'code' => $discount_code ); $user = ''; if ( is_user_logged_in() ) { $user = get_current_user_id(); } else { parse_str( $_POST['form'], $form ); if ( ! empty( $form['edd_email'] ) ) { $user = urldecode( $form['edd_email'] ); } } if ( edd_is_discount_valid( $discount_code, $user ) ) { $discount = edd_get_discount_by_code( $discount_code ); $amount = edd_format_discount_rate( edd_get_discount_type( $discount->ID ), edd_get_discount_amount( $discount->ID ) ); $discounts = edd_set_cart_discount( $discount_code ); $total = edd_get_cart_total( $discounts ); $return = array( 'msg' => 'valid', 'amount' => $amount, 'total_plain' => $total, 'total' => html_entity_decode( edd_currency_filter( edd_format_amount( $total ) ), ENT_COMPAT, 'UTF-8' ), 'code' => $discount_code, 'html' => edd_get_cart_discounts_html( $discounts ) ); } else { $errors = edd_get_errors(); $return['msg'] = $errors['edd-discount-error']; edd_unset_error( 'edd-discount-error' ); } // Allow for custom discount code handling $return = apply_filters( 'edd_ajax_discount_response', $return ); echo json_encode($return); } edd_die(); }