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); }