/**
 * Check whether a discount code is valid (when purchasing).
 *
 * @since 1.0
 * @param string $code Discount Code
 * @param string $user User info
 * @return bool
 */
function edd_is_discount_valid($code = '', $user = '', $set_error = true)
{
    $return = false;
    $discount_id = edd_get_discount_id_by_code($code);
    $user = trim($user);
    if (edd_get_cart_contents()) {
        if ($discount_id) {
            if (edd_is_discount_active($discount_id) && edd_is_discount_started($discount_id) && !edd_is_discount_maxed_out($discount_id) && !edd_is_discount_used($code, $user, $discount_id) && edd_discount_is_min_met($discount_id) && edd_discount_product_reqs_met($discount_id)) {
                $return = true;
            }
        } elseif ($set_error) {
            edd_set_error('edd-discount-error', __('This discount is invalid.', 'edd'));
        }
    }
    return apply_filters('edd_is_discount_valid', $return, $discount_id, $code, $user);
}
/**
 * Check whether a discount code is valid (when purchasing).
 *
 * @since 1.0
 * @param string $code Discount Code
 * @param string $user User info
 * @return bool
 */
function edd_is_discount_valid($code = '', $user = '')
{
    $return = false;
    $discount_id = edd_get_discount_id_by_code($code);
    $user = trim($user);
    if ($discount_id !== false) {
        if (edd_is_discount_active($discount_id) && edd_is_discount_started($discount_id) && !edd_is_discount_maxed_out($discount_id) && !edd_is_discount_used($code, $user, $discount_id) && edd_discount_is_min_met($discount_id) && edd_discount_product_reqs_met($discount_id)) {
            $return = true;
        }
    }
    return apply_filters('edd_is_discount_valid', $return, $discount_id, $code, $user);
}