/** * Sets an error on checkout if no gateways are enabled * * @since 1.3.4 * @return void */ function edd_no_gateway_error() { $gateways = edd_get_enabled_payment_gateways(); if (empty($gateways)) { edd_set_error('no_gateways', __('You must enable a payment gateway to use Easy Digital Downloads', 'edd')); } else { edd_unset_error('no_gateways'); } }
/** * Validates the supplied discount sent via AJAX. * * @since 1.0 * @return void */ 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(); }
/** * edd_unset_error seems to be not working * since it's not unsetting what's really inside $_SESSION['edd-errors'] * so this is probably the fix * * Removes a stored error * * Modified From: * EDD 1.4 * includes/error-tracking.php * Modified Part: * unset the error in session variable * * @param $error_id string - the ID of the error being set * @return void */ function edd_unset_error_fix($error_id) { // edd_unset_error fix for version less than 1.4 if (version_compare(EDD_VERSION, '1.5', '<')) { $errors = edd_get_errors(); if ($errors) { if (isset($_SESSION['edd-errors'][$error_id])) { unset($_SESSION['edd-errors'][$error_id]); } } } else { edd_unset_error($error_id); } }
function edd_downloads_ajax_apply_discount() { $existing_discount = edd_get_cart_discounts(); $discount_code = $_POST['code']; if (!empty($existing_discount) && in_array($discount_code, $existing_discount)) { $return['msg'] = __('This code has already been applied', 'edd_downloads'); edd_unset_error('edd-discount-error'); // Allow for custom discount code handling $return = apply_filters('edd_ajax_discount_response', $return); echo json_encode($return); } else { edd_ajax_apply_discount(); } edd_die(); }
edd_unset_error('email_empty'); } else { if ($email_error = has_edd_error('invalid_email')) { $email_error_class = 'error'; edd_unset_error('invalid_email'); } } $fn_error_class = ''; if ($fn_error = has_edd_error('invalid_first_name')) { $fn_error_class = 'error'; edd_unset_error('invalid_first_name'); } $ln_error_class = ''; if ($ln_error = has_edd_error('invalid_last_name')) { $ln_error_class = 'error'; edd_unset_error('invalid_last_name'); } $customer = get_customer(); ?> <fieldset id="edd_checkout_user_info"> <span><legend><?php echo apply_filters('edd_checkout_personal_info_text', __('Personal Info', 'yoast-theme')); ?> </legend></span> <p id="edd-first-name-wrap"> <label class="edd-label <?php echo $fn_error_class; ?> " for="edd_first"> <?php
/** * Validates the supplied discount sent via AJAX. * * @since 1.0 * @return void */ function edd_ajax_apply_discount() { if (isset($_POST['code'])) { $discount_code = $_POST['code']; $return = array('msg' => '', 'code' => $discount_code); if (edd_is_discount_valid($discount_code)) { $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' => $_POST['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(); }
<?php /** * @package Yoast\YoastCom */ namespace Yoast\YoastCom\Theme; edd_checkout_hidden_fields(); global $edd_options; if (isset($edd_options['show_agree_to_terms'])) { $class = ''; if (has_edd_error('agree_to_terms')) { $class = 'error'; edd_unset_error('agree_to_terms'); } ?> <fieldset id="edd_terms_agreement" class="<?php echo $class; ?> "> <legend><?php _e('Terms of Service', 'yoast-theme'); ?> </legend> <input name="edd_agree_to_terms" type="checkbox" id="edd_agree_to_terms" value="1" /> <label for="edd_agree_to_terms"><?php echo isset($edd_options['agree_label']) ? $edd_options['agree_label'] : __('Agree to Terms?', 'yoast-theme'); ?> <sup> *</sup></label> </fieldset> <br />