/** * Get Shop States * * @since 1.6 * * @param null $country * @return mixed|void A list of states for the shop's base country */ function edd_get_shop_states($country = null) { global $edd_options; if (empty($country)) { $country = edd_get_shop_country(); } switch ($country) { case 'US': $states = edd_get_states_list(); break; case 'CA': $states = edd_get_provinces_list(); break; case 'AU': $states = edd_get_australian_states_list(); break; case 'BR': $states = edd_get_brazil_states_list(); break; case 'CN': $states = edd_get_chinese_states_list(); break; case 'HK': $states = edd_get_hong_kong_states_list(); break; case 'HU': $states = edd_get_hungary_states_list(); break; case 'ID': $states = edd_get_indonesian_states_list(); break; case 'IN': $states = edd_get_indian_states_list(); break; case 'MY': $states = edd_get_malaysian_states_list(); break; case 'NZ': $states = edd_get_new_zealand_states_list(); break; case 'TH': $states = edd_get_thailand_states_list(); break; case 'ZA': $states = edd_get_south_african_states_list(); break; default: $states = array(); break; } return apply_filters('edd_shop_states', $states); }
/** * Shipping info fields * * @since 1.0 * * @access public * @return void */ public function address_fields() { if (!$this->needs_shipping_fields()) { return; } $display = $this->has_billing_fields() ? ' style="display:none;"' : ''; ob_start(); ?> <script type="text/javascript">var edd_global_vars; jQuery(document).ready(function($) { $('body').on('change', 'select[name=shipping_country],select[name=billing_country]',function() { var billing = true; if( $('select[name=billing_country]').length && ! $('#edd_simple_shipping_show').is(':checked') ) { var val = $('select[name=billing_country]').val(); } else { var val = $('select[name=shipping_country]').val(); billing = false; } if( billing && edd_global_vars.taxes_enabled == '1' ) return; // EDD core will recalculate on billing address change if taxes are enabled if( val == 'US' ) { $('#shipping_state_other').hide();$('#shipping_state_us').show();$('#shipping_state_ca').hide(); } else if( val =='CA') { $('#shipping_state_other').hide();$('#shipping_state_us').hide();$('#shipping_state_ca').show(); } else { $('#shipping_state_other').show();$('#shipping_state_us').hide();$('#shipping_state_ca').hide(); } var postData = { action: 'edd_get_shipping_rate', country: val }; $.ajax({ type: "POST", data: postData, dataType: "json", url: edd_global_vars.ajaxurl, success: function (response) { $('#edd_checkout_cart').replaceWith(response.html); $('.edd_cart_amount').each(function() { $(this).text(response.total); }); } }).fail(function (data) { if ( window.console && window.console.log ) { console.log( data ); } }); }); $('body').on('edd_taxes_recalculated', function( event, data ) { if( $('#edd_simple_shipping_show').is(':checked') ) return; var postData = { action: 'edd_get_shipping_rate', country: data.postdata.billing_country, state: data.postdata.state }; $.ajax({ type: "POST", data: postData, dataType: "json", url: edd_global_vars.ajaxurl, success: function (response) { if( response ) { $('#edd_checkout_cart').replaceWith(response.html); $('.edd_cart_amount').each(function() { $(this).text(response.total); }); } else { if ( window.console && window.console.log ) { console.log( response ); } } } }).fail(function (data) { if ( window.console && window.console.log ) { console.log( data ); } }); }); $('select#edd-gateway, input.edd-gateway').change( function (e) { var postData = { action: 'edd_get_shipping_rate', country: 'US' // default }; $.ajax({ type: "POST", data: postData, dataType: "json", url: edd_global_vars.ajaxurl, success: function (response) { $('#edd_checkout_cart').replaceWith(response.html); $('.edd_cart_amount').each(function() { $(this).text(response.total); }); } }).fail(function (data) { if ( window.console && window.console.log ) { console.log( data ); } }); }); $('#edd_simple_shipping_show').change(function() { $('#edd_simple_shipping_fields_wrap').toggle(); }); });</script> <div id="edd_simple_shipping"> <?php if ($this->has_billing_fields()) { ?> <fieldset id="edd_simple_shipping_diff_address"> <label for="edd_simple_shipping_show"> <input type="checkbox" id="edd_simple_shipping_show" name="edd_use_different_shipping" value="1"/> <?php _e('Ship to Different Address?', 'edd-simple-shipping'); ?> </label> </fieldset> <?php } ?> <div id="edd_simple_shipping_fields_wrap"<?php echo $display; ?> > <fieldset id="edd_simple_shipping_fields"> <?php do_action('edd_shipping_address_top'); ?> <legend><?php _e('Shipping Details', 'edd-simple-shipping'); ?> </legend> <p id="edd-shipping-address-wrap"> <label class="edd-label"><?php _e('Shipping Address', 'edd-simple-shipping'); ?> </label> <span class="edd-description"><?php _e('The address to ship your purchase to.', 'edd-simple-shipping'); ?> </span> <input type="text" name="shipping_address" class="shipping-address edd-input" placeholder="<?php _e('Address line 1', 'edd-simple-shipping'); ?> "/> </p> <p id="edd-shipping-address-2-wrap"> <label class="edd-label"><?php _e('Shipping Address Line 2', 'edd-simple-shipping'); ?> </label> <span class="edd-description"><?php _e('The suite, apt no, PO box, etc, associated with your shipping address.', 'edd-simple-shipping'); ?> </span> <input type="text" name="shipping_address_2" class="shipping-address-2 edd-input" placeholder="<?php _e('Address line 2', 'edd-simple-shipping'); ?> "/> </p> <p id="edd-shipping-city-wrap"> <label class="edd-label"><?php _e('Shipping City', 'edd-simple-shipping'); ?> </label> <span class="edd-description"><?php _e('The city for your shipping address.', 'edd-simple-shipping'); ?> </span> <input type="text" name="shipping_city" class="shipping-city edd-input" placeholder="<?php _e('City', 'edd-simple-shipping'); ?> "/> </p> <p id="edd-shipping-country-wrap"> <label class="edd-label"><?php _e('Shipping Country', 'edd-simple-shipping'); ?> </label> <span class="edd-description"><?php _e('The country for your shipping address.', 'edd-simple-shipping'); ?> </span> <select name="shipping_country" class="shipping-country edd-select"> <?php $countries = edd_get_country_list(); foreach ($countries as $country_code => $country) { echo '<option value="' . $country_code . '">' . $country . '</option>'; } ?> </select> </p> <p id="edd-shipping-state-wrap"> <label class="edd-label"><?php _e('Shipping State / Province', 'edd-simple-shipping'); ?> </label> <span class="edd-description"><?php _e('The state / province for your shipping address.', 'edd-simple-shipping'); ?> </span> <input type="text" size="6" name="shipping_state_other" id="shipping_state_other" class="shipping-state edd-input" placeholder="<?php _e('State / Province', 'edd-simple-shipping'); ?> " style="display:none;"/> <select name="shipping_state_us" id="shipping_state_us" class="shipping-state edd-select"> <?php $states = edd_get_states_list(); foreach ($states as $state_code => $state) { echo '<option value="' . $state_code . '">' . $state . '</option>'; } ?> </select> <select name="shipping_state_ca" id="shipping_state_ca" class="shipping-state edd-select" style="display: none;"> <?php $provinces = edd_get_provinces_list(); foreach ($provinces as $province_code => $province) { echo '<option value="' . $province_code . '">' . $province . '</option>'; } ?> </select> </p> <p id="edd-shipping-zip-wrap"> <label class="edd-label"><?php _e('Shipping Zip / Postal Code', 'edd-simple-shipping'); ?> </label> <span class="edd-description"><?php _e('The zip / postal code for your shipping address.', 'edd-simple-shipping'); ?> </span> <input type="text" size="4" name="shipping_zip" class="shipping-zip edd-input" placeholder="<?php _e('Zip / Postal code', 'edd-simple-shipping'); ?> "/> </p> <?php do_action('edd_shipping_address_bottom'); ?> </fieldset> </div> </div> <?php echo ob_get_clean(); }
/** * Get Shop States * * @since 1.6 * * @param null $country * @return mixed|void A list of states for the shop's base country */ function edd_get_shop_states($country = null) { if (empty($country)) { $country = edd_get_shop_country(); } switch ($country) { case 'US': $states = edd_get_states_list(); break; case 'CA': $states = edd_get_provinces_list(); break; case 'AU': $states = edd_get_australian_states_list(); break; case 'BD': $states = edd_get_bangladeshi_states_list(); break; case 'BG': $states = edd_get_bulgarian_states_list(); break; case 'BR': $states = edd_get_brazil_states_list(); break; case 'CN': $states = edd_get_chinese_states_list(); break; case 'HK': $states = edd_get_hong_kong_states_list(); break; case 'HU': $states = edd_get_hungary_states_list(); break; case 'ID': $states = edd_get_indonesian_states_list(); break; case 'IN': $states = edd_get_indian_states_list(); break; case 'IR': $states = edd_get_iranian_states_list(); break; case 'IT': $states = edd_get_italian_states_list(); break; case 'JP': $states = edd_get_japanese_states_list(); break; case 'MX': $states = edd_get_mexican_states_list(); break; case 'MY': $states = edd_get_malaysian_states_list(); break; case 'NP': $states = edd_get_nepalese_states_list(); break; case 'NZ': $states = edd_get_new_zealand_states_list(); break; case 'PE': $states = edd_get_peruvian_states_list(); break; case 'TH': $states = edd_get_thailand_states_list(); break; case 'TR': $states = edd_get_turkey_states_list(); break; case 'ZA': $states = edd_get_south_african_states_list(); break; case 'ES': $states = edd_get_spain_states_list(); break; default: $states = array(); break; } return apply_filters('edd_shop_states', $states); }
/** * Outputs the default credit card address fields * * @since 1.0 * @return void */ function edd_default_cc_address_fields() { ob_start(); ?> <fieldset id="edd_cc_address" class="cc-address"> <?php do_action('edd_cc_billing_top'); ?> <p id="edd-card-address-wrap"> <label class="edd-label"><?php _e('Billing Address', 'edd'); ?> </label> <span class="edd-description"><?php _e('The primary billing address for your credit card.', 'edd'); ?> </span> <input type="text" name="card_address" class="card-address edd-input required" placeholder="<?php _e('Address line 1', 'edd'); ?> "/> </p> <p id="edd-card-address-2-wrap"> <label class="edd-label"><?php _e('Billing Address Line 2 (optional)', 'edd'); ?> </label> <span class="edd-description"><?php _e('The suite, apt no, PO box, etc, associated with your billing address.', 'edd'); ?> </span> <input type="text" name="card_address_2" class="card-address-2 edd-input" placeholder="<?php _e('Address line 2', 'edd'); ?> "/> </p> <p id="edd-card-city-wrap"> <label class="edd-label"><?php _e('Billing City', 'edd'); ?> </label> <span class="edd-description"><?php _e('The city for your billing address.', 'edd'); ?> </span> <input type="text" name="card_city" class="card-city edd-input required" placeholder="<?php _e('City', 'edd'); ?> "/> </p> <p id="edd-card-country-wrap"> <label class="edd-label"><?php _e('Billing Country', 'edd'); ?> </label> <span class="edd-description"><?php _e('The country for your billing address.', 'edd'); ?> </span> <select name="billing_country" class="billing-country edd-select required"> <?php $countries = edd_get_country_list(); foreach ($countries as $country_code => $country) { echo '<option value="' . $country_code . '">' . $country . '</option>'; } ?> </select> </p> <p id="edd-card-state-wrap"> <label class="edd-label"><?php _e('Billing State / Province', 'edd'); ?> </label> <span class="edd-description"><?php _e('The state or province for your billing address.', 'edd'); ?> </span> <input type="text" size="6" name="card_state_other" id="card_state_other" class="card-state edd-input" placeholder="<?php _e('State / Province', 'edd'); ?> " style="display:none;"/> <select name="card_state_us" id="card_state_us" class="card-state edd-select required"> <?php $states = edd_get_states_list(); foreach ($states as $state_code => $state) { echo '<option value="' . $state_code . '">' . $state . '</option>'; } ?> </select> <select name="card_state_ca" id="card_state_ca" class="card-state edd-select required" style="display: none;"> <?php $provinces = edd_get_provinces_list(); foreach ($provinces as $province_code => $province) { echo '<option value="' . $province_code . '">' . $province . '</option>'; } ?> </select> </p> <p id="edd-card-zip-wrap"> <label class="edd-label"><?php _e('Billing Zip / Postal Code', 'edd'); ?> </label> <span class="edd-description"><?php _e('The zip or postal code for your billing address.', 'edd'); ?> </span> <input type="text" size="4" name="card_zip" class="card-zip edd-input required" placeholder="<?php _e('Zip / Postal code', 'edd'); ?> "/> </p> <?php do_action('edd_cc_billing_bottom'); ?> </fieldset> <?php echo ob_get_clean(); }
/** * Default CC Address fields * * Outputs the default credit card address fields * * @access private * @since 1.0 * @return void */ function edd_default_cc_address_fields() { ob_start(); ?> <fieldset id="edd_cc_address" class="cc-address"> <?php do_action('edd_cc_billing_top'); ?> <p> <input type="text" name="card_address" class="card-address edd-input required" placeholder="<?php _e('Address line 1', 'edd'); ?> "/> <label class="edd-label"><?php _e('Billing Address', 'edd'); ?> </label> </p> <p> <input type="text" name="card_address_2" class="card-address-2 edd-input" placeholder="<?php _e('Address line 2', 'edd'); ?> "/> <label class="edd-label"><?php _e('Billing Address Line 2', 'edd'); ?> </label> </p> <p> <input type="text" name="card_city" class="card-city edd-input required" placeholder="<?php _e('City', 'edd'); ?> "/> <label class="edd-label"><?php _e('Billing City', 'edd'); ?> </label> </p> <p> <select name="billing_country" class="billing-country edd-select required"> <?php $countries = edd_get_country_list(); foreach ($countries as $country_code => $country) { echo '<option value="' . $country_code . '">' . $country . '</option>'; } ?> </select> <label class="edd-label"><?php _e('Billing Country', 'edd'); ?> </label> </p> <p> <input type="text" size="6" name="card_state_other" id="card_state_other" class="card-state edd-input" placeholder="<?php _e('State / Province', 'edd'); ?> " style="display:none;"/> <select name="card_state_us" id="card_state_us" class="card-state edd-select required"> <?php $states = edd_get_states_list(); foreach ($states as $state_code => $state) { echo '<option value="' . $state_code . '">' . $state . '</option>'; } ?> </select> <select name="card_state_ca" id="card_state_ca" class="card-state edd-select required" style="display: none;"> <?php $provinces = edd_get_provinces_list(); foreach ($provinces as $province_code => $province) { echo '<option value="' . $province_code . '">' . $province . '</option>'; } ?> </select> <label class="edd-label"><?php _e('Billing State / Province', 'edd'); ?> </label> </p> <p> <input type="text" size="4" name="card_zip" class="card-zip edd-input required" placeholder="<?php _e('Zip / Postal code', 'edd'); ?> "/> <label class="edd-label"><?php _e('Billing Zip / Postal Code', 'edd'); ?> </label> </p> <?php do_action('edd_cc_billing_bottom'); ?> </fieldset> <?php echo ob_get_clean(); }
/** * Add the HTML fields. * * @since Astoundify Crowdfunding 0.1-alpha * * @return void */ function atcf_shipping_address_fields() { if (!atcf_shipping_cart_shipping()) { return; } ob_start(); ?> <script> jQuery(document).ready(function($) { $( 'body' ).change( 'select[name=shipping_country]', function() { if( $('select[name=shipping_country]').val() == 'US') { $('#shipping_state_other').css('display', 'none'); $('#shipping_state_us').css('display', ''); $('#shipping_state_ca').css('display', 'none'); } else if( $('select[name=shipping_country]').val() == 'CA') { $('#shipping_state_other').css('display', 'none'); $('#shipping_state_us').css('display', 'none'); $('#shipping_state_ca').css('display', ''); } else { $('#shipping_state_other').css('display', ''); $('#shipping_state_us').css('display', 'none'); $('#shipping_state_ca').css('display', 'none'); } }); }); </script> <fieldset id="atcf_shipping_address" class="atcf-shipping-address"> <legend><?php _e('Shipping Address', 'atcf'); ?> </legend> <p id="atcf-edd-address-1-wrap"> <label class="edd-label"><?php _e('Shipping Address', 'atcf'); ?> </label> <span class="edd-description"><?php _e('Where should we send any physical goods?', 'atcf'); ?> </span> <input type="text" name="shipping_address" class="shipping-address edd-input required" placeholder="<?php _e('Address line 1', 'atcf'); ?> "/> </p> <p id="atcf-edd-address-2-wrap"> <label class="edd-label"><?php _e('Shipping Address Line 2', 'atcf'); ?> </label> <input type="text" name="shipping_address_2" class="shipping-address-2 edd-input required" placeholder="<?php _e('Address line 2', 'atcf'); ?> "/> </p> <p id="atcf-edd-address-city"> <label class="edd-label"><?php _e('Shipping City', 'atcf'); ?> </label> <input type="text" name="shipping_city" class="shipping-city edd-input required" placeholder="<?php _e('City', 'atcf'); ?> "/> </p> <p> <label class="edd-label"><?php _e('Shipping Country', 'atcf'); ?> </label> <select name="shipping_country" class="shipping-country edd-select required"> <?php $countries = edd_get_country_list(); foreach ($countries as $country_code => $country) { echo '<option value="' . $country_code . '">' . $country . '</option>'; } ?> </select> </p> <p> <label class="edd-label"><?php _e('Shipping State / Province', 'atcf'); ?> </label> <input type="text" size="6" name="shipping_state_other" id="shipping_state_other" class="shipping-state edd-input" placeholder="<?php _e('State / Province', 'atcf'); ?> " style="display:none;"/> <select name="shipping_state_us" id="shipping_state_us" class="shipping-state edd-select required"> <?php $states = edd_get_states_list(); foreach ($states as $state_code => $state) { echo '<option value="' . $state_code . '">' . $state . '</option>'; } ?> </select> <select name="shipping_state_ca" id="shipping_state_ca" class="shipping-state edd-select required" style="display: none;"> <?php $provinces = edd_get_provinces_list(); foreach ($provinces as $province_code => $province) { echo '<option value="' . $province_code . '">' . $province . '</option>'; } ?> </select> </p> <p> <label class="edd-label"><?php _e('Shipping Zip / Postal Code', 'atcf'); ?> </label> <input type="text" size="4" name="shipping_zip" class="shipping-zip edd-input required" placeholder="<?php _e('Zip / Postal code', 'atcf'); ?> "/> </p> </fieldset> <?php echo ob_get_clean(); }