function rcp_validate_discount_with_ajax()
{
    if (isset($_POST['code'])) {
        $subscription_id = isset($_POST['subscription_id']) ? absint($_POST['subscription_id']) : 0;
        if (rcp_validate_discount($_POST['code'], $subscription_id)) {
            $code_details = rcp_get_discount_details_by_code($_POST['code']);
            if ($code_details && $code_details->amount == 100 && $code_details->unit == '%') {
                // this is a 100% discount
                echo 'valid and full';
            } else {
                echo 'valid';
            }
        } else {
            echo 'invalid';
        }
    }
    die;
}
Exemple #2
0
function rcp_validate_discount_with_ajax()
{
    if (isset($_POST['code'])) {
        $return = array();
        $return['valid'] = false;
        $return['full'] = false;
        $subscription_id = isset($_POST['subscription_id']) ? absint($_POST['subscription_id']) : 0;
        if (rcp_validate_discount($_POST['code'], $subscription_id)) {
            $code_details = rcp_get_discount_details_by_code(sanitize_text_field($_POST['code']));
            if ($code_details && $code_details->amount == 100 && $code_details->unit == '%') {
                // this is a 100% discount
                $return['full'] = true;
            }
            $return['valid'] = true;
            $return['amount'] = rcp_discount_sign_filter($code_details->amount, $code_details->unit);
        }
        wp_send_json($return);
    }
    die;
}
function rcp_validate_discount_with_ajax()
{
    if (isset($_POST['code'])) {
        $return = array();
        $return['valid'] = false;
        $return['full'] = false;
        $subscription_id = isset($_POST['subscription_id']) ? absint($_POST['subscription_id']) : 0;
        rcp_setup_registration($subscription_id, $_POST['code']);
        if (rcp_validate_discount($_POST['code'], $subscription_id)) {
            $code_details = rcp_get_discount_details_by_code(sanitize_text_field($_POST['code']));
            if (!rcp_registration_is_recurring() && rcp_get_registration()->get_recurring_total() == 0.0 && rcp_get_registration()->get_total() == 0.0) {
                // this is a 100% discount
                $return['full'] = true;
            }
            $return['valid'] = true;
            $return['amount'] = rcp_discount_sign_filter($code_details->amount, $code_details->unit);
        }
        wp_send_json($return);
    }
    die;
}
function rcp_check_paypal_return_price_after_discount($price, $amount, $amount2, $user_id)
{
    // get an array of all discount codes this user has used
    $user_discounts = get_user_meta($user_id, 'rcp_user_discounts', true);
    if (!is_array($user_discounts) || $user_discounts == '') {
        // this user has never used a discount code
        return false;
    }
    foreach ($user_discounts as $discount_code) {
        if (!rcp_validate_discount($discount_code)) {
            // discount code is inactive
            return false;
        }
        $code_details = rcp_get_discount_details_by_code($discount_code);
        $discounted_price = rcp_get_discounted_price($price, $code_details->amount, $code_details->unit);
        if ($discounted_price == $amount || $discounted_price == $amount2) {
            return true;
        }
    }
    return false;
}
    if (rcp_get_registration()->get_fees() || rcp_get_registration()->get_discounts()) {
        ?>
				<tr>
					<th colspan="2"><?php 
        _e('Discounts and Fees', 'rcp');
        ?>
</th>
				</tr>

				<?php 
        // Discounts
        ?>
				<?php 
        if (rcp_get_registration()->get_discounts()) {
            foreach (rcp_get_registration()->get_discounts() as $code => $recuring) {
                if (!($discount = rcp_get_discount_details_by_code($code))) {
                    continue;
                }
                ?>
					<tr class="rcp-discount">
						<td><?php 
                echo esc_html($discount->name);
                ?>
</td>
						<td><?php 
                echo esc_html(rcp_discount_sign_filter($discount->amount, $discount->unit));
                ?>
</td>
					</tr>
				<?php 
            }