Пример #1
0
function rcp_validate_discount($code, $subscription_id = 0)
{
    $ret = false;
    $discounts = new RCP_Discounts();
    $discount = $discounts->get_by('code', $code);
    if ($discount && $discount->status == 'active') {
        // Make sure discount is not expired and not maxed out
        if (!$discounts->is_expired($discount->id) && !$discounts->is_maxed_out($discount->id)) {
            $ret = true;
        }
        // If the discount is restricted to a level, ensure that's the level being signed up for
        if ($discounts->has_subscription_id($discount->id)) {
            if ($subscription_id != $discounts->get_subscription_id($discount->id)) {
                $ret = false;
            }
        }
    }
    // Ensure codes are identical, including case
    if (strcmp($code, $discount->code) != 0) {
        $ret = false;
    }
    return apply_filters('rcp_is_discount_valid', $ret, $discount, $subscription_id);
}