Version Description
Download this release
Release Info
Developer | cklosows |
Plugin | Easy Digital Downloads |
Version | 2.9.4 |
Comparing to | |
See all releases |
Code changes from version 2.9.3 to 2.9.4
- assets/js/edd-ajax.js +16 -7
- assets/js/edd-ajax.min.js +1 -1
- assets/js/edd-checkout-global.js +5 -1
- assets/js/edd-checkout-global.min.js +1 -1
- easy-digital-downloads.php +3 -3
- includes/actions.php +90 -0
- includes/admin/downloads/metabox.php +3 -3
- includes/admin/payments/actions.php +2 -0
- includes/admin/reporting/export/class-batch-export-file-downloads.php +16 -6
- includes/admin/settings/register-settings.php +9 -1
- includes/ajax-functions.php +97 -29
- includes/cart/actions.php +14 -3
- includes/cart/class-edd-cart.php +2 -2
- includes/checkout/functions.php +12 -3
- includes/checkout/template.php +13 -4
- includes/class-edd-cli.php +2 -2
- includes/class-edd-logging.php +3 -2
- includes/class-edd-session.php +0 -5
- includes/emails/class-edd-email-tags.php +2 -2
- includes/gateways/actions.php +14 -2
- includes/gateways/paypal-standard.php +13 -1
- includes/payments/class-edd-payment.php +5 -5
- includes/process-purchase.php +47 -0
- includes/template-functions.php +1 -1
- includes/user-functions.php +4 -0
- languages/easy-digital-downloads.pot +279 -205
- readme.txt +29 -2
- templates/checkout_cart.php +1 -1
- templates/shortcode-profile-editor.php +1 -1
- templates/widget-cart-item.php +1 -1
assets/js/edd-ajax.js
CHANGED
@@ -11,9 +11,11 @@ jQuery(document).ready(function ($) {
|
|
11 |
item = $this.data('cart-item'),
|
12 |
action = $this.data('action'),
|
13 |
id = $this.data('download-id'),
|
|
|
14 |
data = {
|
15 |
action: action,
|
16 |
-
cart_item: item
|
|
|
17 |
};
|
18 |
|
19 |
$.ajax({
|
@@ -46,7 +48,6 @@ jQuery(document).ready(function ($) {
|
|
46 |
});
|
47 |
});
|
48 |
|
49 |
-
|
50 |
// Check to see if the purchase form(s) for this download is present on this page
|
51 |
if( $( '[id^=edd_purchase_' + id + ']' ).length ) {
|
52 |
$( '[id^=edd_purchase_' + id + '] .edd_go_to_checkout' ).hide();
|
@@ -113,6 +114,7 @@ jQuery(document).ready(function ($) {
|
|
113 |
var download = $this.data('download-id');
|
114 |
var variable_price = $this.data('variable-price');
|
115 |
var price_mode = $this.data('price-mode');
|
|
|
116 |
var item_price_ids = [];
|
117 |
var free_items = true;
|
118 |
|
@@ -170,7 +172,8 @@ jQuery(document).ready(function ($) {
|
|
170 |
action: action,
|
171 |
download_id: download,
|
172 |
price_ids : item_price_ids,
|
173 |
-
post_data: $(form).serialize()
|
|
|
174 |
};
|
175 |
|
176 |
$.ajax({
|
@@ -289,8 +292,10 @@ jQuery(document).ready(function ($) {
|
|
289 |
$('#edd_checkout_form_wrap').on('click', '.edd_checkout_register_login', function () {
|
290 |
var $this = $(this),
|
291 |
data = {
|
292 |
-
action: $this.data('action')
|
|
|
293 |
};
|
|
|
294 |
// Show the ajax loader
|
295 |
$('.edd-cart-ajax').show();
|
296 |
|
@@ -318,7 +323,8 @@ jQuery(document).ready(function ($) {
|
|
318 |
action : 'edd_process_checkout_login',
|
319 |
edd_ajax : 1,
|
320 |
edd_user_login : $('#edd_login_fields #edd_user_login').val(),
|
321 |
-
edd_user_pass : $('#edd_login_fields #edd_user_pass').val()
|
|
|
322 |
};
|
323 |
|
324 |
$.post(edd_global_vars.ajaxurl, data, function(data) {
|
@@ -432,12 +438,14 @@ jQuery(document).ready(function ($) {
|
|
432 |
}
|
433 |
|
434 |
if( 'card_state' != $this.attr('id') ) {
|
|
|
435 |
|
436 |
// If the country field has changed, we need to update the state/province field
|
437 |
var postData = {
|
438 |
action: 'edd_get_shop_states',
|
439 |
country: $this.val(),
|
440 |
field_name: field_name,
|
|
|
441 |
};
|
442 |
|
443 |
$.ajax({
|
@@ -501,7 +509,8 @@ function edd_load_gateway( payment_mode ) {
|
|
501 |
jQuery('.edd-cart-ajax').show();
|
502 |
jQuery('#edd_purchase_form_wrap').html('<span class="edd-loading-ajax edd-loading"></span>');
|
503 |
|
504 |
-
var
|
|
|
505 |
|
506 |
if ( url.indexOf( '?' ) > 0 ) {
|
507 |
url = url + '&';
|
@@ -511,7 +520,7 @@ function edd_load_gateway( payment_mode ) {
|
|
511 |
|
512 |
url = url + 'payment-mode=' + payment_mode;
|
513 |
|
514 |
-
jQuery.post(url, { action: 'edd_load_gateway', edd_payment_mode: payment_mode },
|
515 |
function(response){
|
516 |
jQuery('#edd_purchase_form_wrap').html(response);
|
517 |
jQuery('.edd-no-js').hide();
|
11 |
item = $this.data('cart-item'),
|
12 |
action = $this.data('action'),
|
13 |
id = $this.data('download-id'),
|
14 |
+
nonce = $this.data('nonce'),
|
15 |
data = {
|
16 |
action: action,
|
17 |
+
cart_item: item,
|
18 |
+
nonce: nonce
|
19 |
};
|
20 |
|
21 |
$.ajax({
|
48 |
});
|
49 |
});
|
50 |
|
|
|
51 |
// Check to see if the purchase form(s) for this download is present on this page
|
52 |
if( $( '[id^=edd_purchase_' + id + ']' ).length ) {
|
53 |
$( '[id^=edd_purchase_' + id + '] .edd_go_to_checkout' ).hide();
|
114 |
var download = $this.data('download-id');
|
115 |
var variable_price = $this.data('variable-price');
|
116 |
var price_mode = $this.data('price-mode');
|
117 |
+
var nonce = $this.data('nonce');
|
118 |
var item_price_ids = [];
|
119 |
var free_items = true;
|
120 |
|
172 |
action: action,
|
173 |
download_id: download,
|
174 |
price_ids : item_price_ids,
|
175 |
+
post_data: $(form).serialize(),
|
176 |
+
nonce: nonce,
|
177 |
};
|
178 |
|
179 |
$.ajax({
|
292 |
$('#edd_checkout_form_wrap').on('click', '.edd_checkout_register_login', function () {
|
293 |
var $this = $(this),
|
294 |
data = {
|
295 |
+
action: $this.data('action'),
|
296 |
+
nonce: $this.data('nonce'),
|
297 |
};
|
298 |
+
|
299 |
// Show the ajax loader
|
300 |
$('.edd-cart-ajax').show();
|
301 |
|
323 |
action : 'edd_process_checkout_login',
|
324 |
edd_ajax : 1,
|
325 |
edd_user_login : $('#edd_login_fields #edd_user_login').val(),
|
326 |
+
edd_user_pass : $('#edd_login_fields #edd_user_pass').val(),
|
327 |
+
edd_login_nonce : $('#edd_login_nonce').val(),
|
328 |
};
|
329 |
|
330 |
$.post(edd_global_vars.ajaxurl, data, function(data) {
|
438 |
}
|
439 |
|
440 |
if( 'card_state' != $this.attr('id') ) {
|
441 |
+
var nonce = $(this).data('nonce');
|
442 |
|
443 |
// If the country field has changed, we need to update the state/province field
|
444 |
var postData = {
|
445 |
action: 'edd_get_shop_states',
|
446 |
country: $this.val(),
|
447 |
field_name: field_name,
|
448 |
+
nonce: nonce,
|
449 |
};
|
450 |
|
451 |
$.ajax({
|
509 |
jQuery('.edd-cart-ajax').show();
|
510 |
jQuery('#edd_purchase_form_wrap').html('<span class="edd-loading-ajax edd-loading"></span>');
|
511 |
|
512 |
+
var nonce = jQuery('#edd-gateway-' + payment_mode).data(payment_mode+'-nonce');
|
513 |
+
var url = edd_scripts.ajaxurl;
|
514 |
|
515 |
if ( url.indexOf( '?' ) > 0 ) {
|
516 |
url = url + '&';
|
520 |
|
521 |
url = url + 'payment-mode=' + payment_mode;
|
522 |
|
523 |
+
jQuery.post(url, { action: 'edd_load_gateway', edd_payment_mode: payment_mode, nonce: nonce },
|
524 |
function(response){
|
525 |
jQuery('#edd_purchase_form_wrap').html(response);
|
526 |
jQuery('.edd-no-js').hide();
|
assets/js/edd-ajax.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
var edd_scripts;function edd_load_gateway(payment_mode){jQuery(".edd-cart-ajax").show(),jQuery("#edd_purchase_form_wrap").html('<span class="edd-loading-ajax edd-loading"></span>');var url=edd_scripts.ajaxurl;0<url.indexOf("?")?url+="&":url+="?",url=url+"payment-mode="+payment_mode,jQuery.post(url,{action:"edd_load_gateway",edd_payment_mode:payment_mode},function(response){jQuery("#edd_purchase_form_wrap").html(response),jQuery(".edd-no-js").hide(),jQuery("body").trigger("edd_gateway_loaded",[payment_mode])})}jQuery(document).ready(function($){if($(".edd-no-js").hide(),$("a.edd-add-to-cart").addClass("edd-has-js"),$(document.body).on("click.eddRemoveFromCart",".edd-remove-from-cart",function(event){var $this=$(this),item=$this.data("cart-item"),action=$this.data("action"),id=$this.data("download-id"),data={action:action,cart_item:item};return $.ajax({type:"POST",data:data,dataType:"json",url:edd_scripts.ajaxurl,xhrFields:{withCredentials:!0},success:function(response){if(response.removed){if(parseInt(edd_scripts.position_in_cart,10)===parseInt(item,10)||edd_scripts.has_purchase_links)return window.location=window.location,!1;$(".edd-cart").each(function(){$(this).find("[data-cart-item='"+item+"']").parent().remove()}),$(".edd-cart").each(function(){var cart_item_counter=0;$(this).find("[data-cart-item]").each(function(){$(this).attr("data-cart-item",cart_item_counter),cart_item_counter+=1})}),$("[id^=edd_purchase_"+id+"]").length&&($("[id^=edd_purchase_"+id+"] .edd_go_to_checkout").hide(),$("[id^=edd_purchase_"+id+"] a.edd-add-to-cart").show().removeAttr("data-edd-loading"),"1"==edd_scripts.quantities_enabled&&$("[id^=edd_purchase_"+id+"] .edd_download_quantity_wrapper").show()),$("span.edd-cart-quantity").text(response.cart_quantity),$(document.body).trigger("edd_quantity_updated",[response.cart_quantity]),edd_scripts.taxes_enabled&&($(".cart_item.edd_subtotal span").html(response.subtotal),$(".cart_item.edd_cart_tax span").html(response.tax)),$(".cart_item.edd_total span").html(response.total),0==response.cart_quantity&&($(".cart_item.edd_subtotal,.edd-cart-number-of-items,.cart_item.edd_checkout,.cart_item.edd_cart_tax,.cart_item.edd_total").hide(),$(".edd-cart").each(function(){var cart_wrapper=$(this).parent();cart_wrapper&&(cart_wrapper.addClass("cart-empty"),cart_wrapper.removeClass("cart-not-empty")),$(this).append('<li class="cart_item empty">'+edd_scripts.empty_cart_message+"</li>")})),$(document.body).trigger("edd_cart_item_removed",[response])}}}).fail(function(response){window.console&&window.console.log&&console.log(response)}).done(function(response){}),!1}),$(document.body).on("click.eddAddToCart",".edd-add-to-cart",function(e){e.preventDefault();var $this=$(this),form=$this.closest("form");$this.prop("disabled",!0);$this.find(".edd-loading");var container=$this.closest("div");$this.attr("data-edd-loading","");form=$this.parents("form").last();var download=$this.data("download-id"),variable_price=$this.data("variable-price"),price_mode=$this.data("price-mode"),item_price_ids=[],free_items=!0;if("yes"==variable_price)if(0<form.find(".edd_price_option_"+download+'[type="hidden"]').length)item_price_ids[0]=$(".edd_price_option_"+download,form).val(),form.find(".edd-submit").data("price")&&0<form.find(".edd-submit").data("price")&&(free_items=!1);else{if(!form.find(".edd_price_option_"+download+":checked",form).length)return $this.removeAttr("data-edd-loading"),alert(edd_scripts.select_option),e.stopPropagation(),$this.prop("disabled",!1),!1;form.find(".edd_price_option_"+download+":checked",form).each(function(index){if(item_price_ids[index]=$(this).val(),!0===free_items){var item_price=$(this).data("price");item_price&&0<item_price&&(free_items=!1)}})}else item_price_ids[0]=download,$this.data("price")&&0<$this.data("price")&&(free_items=!1);if(free_items&&form.find(".edd_action_input").val("add_to_cart"),"straight_to_gateway"==form.find(".edd_action_input").val())return form.submit(),!0;var data={action:$this.data("action"),download_id:download,price_ids:item_price_ids,post_data:$(form).serialize()};return $.ajax({type:"POST",data:data,dataType:"json",url:edd_scripts.ajaxurl,xhrFields:{withCredentials:!0},success:function(response){var store_redirect="1"==edd_scripts.redirect_to_checkout,item_redirect="1"==form.find("#edd_redirect_to_checkout").val();if(store_redirect&&item_redirect||!store_redirect&&item_redirect)window.location=edd_scripts.checkout_page;else{"1"===edd_scripts.taxes_enabled&&($(".cart_item.edd_subtotal").show(),$(".cart_item.edd_cart_tax").show()),$(".cart_item.edd_total").show(),$(".cart_item.edd_checkout").show(),$(".cart_item.empty").length&&$(".cart_item.empty").hide(),$(".widget_edd_cart_widget .edd-cart").each(function(cart){var target=$(this).find(".edd-cart-meta:first");$(response.cart_item).insertBefore(target);var cart_wrapper=$(this).parent();cart_wrapper&&(cart_wrapper.addClass("cart-not-empty"),cart_wrapper.removeClass("cart-empty"))}),"1"===edd_scripts.taxes_enabled&&($(".edd-cart-meta.edd_subtotal span").html(response.subtotal),$(".edd-cart-meta.edd_cart_tax span").html(response.tax)),$(".edd-cart-meta.edd_total span").html(response.total);$(".edd-cart-item-title",response.cart_item).length;if($("span.edd-cart-quantity").each(function(){$(this).text(response.cart_quantity),$(document.body).trigger("edd_quantity_updated",[response.cart_quantity])}),"none"==$(".edd-cart-number-of-items").css("display")&&$(".edd-cart-number-of-items").show("slow"),"no"!=variable_price&&"multi"==price_mode||($("a.edd-add-to-cart",container).toggle(),$(".edd_go_to_checkout",container).css("display","inline-block")),"multi"==price_mode&&$this.removeAttr("data-edd-loading"),$(".edd_download_purchase_form").length&&("no"==variable_price||!form.find(".edd_price_option_"+download).is("input:hidden"))){var parent_form=$('.edd_download_purchase_form *[data-download-id="'+download+'"]').parents("form");$("a.edd-add-to-cart",parent_form).hide(),"multi"!=price_mode&&parent_form.find(".edd_download_quantity_wrapper").slideUp(),$(".edd_go_to_checkout",parent_form).show().removeAttr("data-edd-loading")}"incart"!=response&&($(".edd-cart-added-alert",container).fadeIn(),setTimeout(function(){$(".edd-cart-added-alert",container).fadeOut()},3e3)),$this.prop("disabled",!1),$(document.body).trigger("edd_cart_item_added",[response])}}}).fail(function(response){window.console&&window.console.log&&console.log(response)}).done(function(response){}),!1}),$("#edd_checkout_form_wrap").on("click",".edd_checkout_register_login",function(){var data={action:$(this).data("action")};return $(".edd-cart-ajax").show(),$.post(edd_scripts.ajaxurl,data,function(checkout_response){$("#edd_checkout_login_register").html(edd_scripts.loading),$("#edd_checkout_login_register").html(checkout_response),$(".edd-cart-ajax").hide()}),!1}),$(document).on("click","#edd_purchase_form #edd_login_fields input[type=submit]",function(e){e.preventDefault();var complete_purchase_val=$(this).val();$(this).val(edd_global_vars.purchase_loading),$(this).after('<span class="edd-loading-ajax edd-loading"></span>');var data={action:"edd_process_checkout_login",edd_ajax:1,edd_user_login:$("#edd_login_fields #edd_user_login").val(),edd_user_pass:$("#edd_login_fields #edd_user_pass").val()};$.post(edd_global_vars.ajaxurl,data,function(data){"success"==$.trim(data)?($(".edd_errors").remove(),window.location=edd_scripts.checkout_page):($("#edd_login_fields input[type=submit]").val(complete_purchase_val),$(".edd-loading-ajax").remove(),$(".edd_errors").remove(),$("#edd-user-login-submit").before(data))})}),$("select#edd-gateway, input.edd-gateway").change(function(e){var payment_mode=$("#edd-gateway option:selected, input.edd-gateway:checked").val();return"0"==payment_mode||edd_load_gateway(payment_mode),!1}),"1"==edd_scripts.is_checkout){var chosen_gateway=!1,ajax_needed=!1;$("select#edd-gateway, input.edd-gateway").length&&(chosen_gateway=$("meta[name='edd-chosen-gateway']").attr("content"),ajax_needed=!0),chosen_gateway||(chosen_gateway=edd_scripts.default_gateway),ajax_needed?setTimeout(function(){edd_load_gateway(chosen_gateway)},200):$("body").trigger("edd_gateway_loaded",[chosen_gateway])}$(document).on("click","#edd_purchase_form #edd_purchase_submit [type=submit]",function(e){var eddPurchaseform=document.getElementById("edd_purchase_form");if("function"!=typeof eddPurchaseform.checkValidity||!1!==eddPurchaseform.checkValidity()){e.preventDefault();var complete_purchase_val=$(this).val();$(this).val(edd_global_vars.purchase_loading),$(this).prop("disabled",!0),$(this).after('<span class="edd-loading-ajax edd-loading"></span>'),$.post(edd_global_vars.ajaxurl,$("#edd_purchase_form").serialize()+"&action=edd_process_checkout&edd_ajax=true",function(data){"success"==$.trim(data)?($(".edd_errors").remove(),$(".edd-error").hide(),$(eddPurchaseform).submit()):($("#edd-purchase-button").val(complete_purchase_val),$(".edd-loading-ajax").remove(),$(".edd_errors").remove(),$(".edd-error").hide(),$(edd_global_vars.checkout_error_anchor).before(data),$("#edd-purchase-button").prop("disabled",!1),$(document.body).trigger("edd_checkout_error",[data]))})}}),$(document.body).on("change","#edd_cc_address input.card_state, #edd_cc_address select, #edd_address_country",function(){var $form,$this=$(this),is_checkout="undefined"!=typeof edd_global_vars,field_name="card_state";"edd_address_country"==$(this).attr("id")&&(field_name="edd_address_state");if("card_state"!=$this.attr("id")){var postData={action:"edd_get_shop_states",country:$this.val(),field_name:field_name};$.ajax({type:"POST",data:postData,url:edd_scripts.ajaxurl,xhrFields:{withCredentials:!0},success:function(response){$form=is_checkout?$("#edd_purchase_form"):$this.closest("form");var state_inputs='input[name="card_state"], select[name="card_state"], input[name="edd_address_state"], select[name="edd_address_state"]';if("nostates"==$.trim(response)){$form.find(state_inputs).replaceWith('<input type="text" name="card_state" class="card-state edd-input required" value=""/>')}else $form.find(state_inputs).replaceWith(response);is_checkout&&$(document.body).trigger("edd_cart_billing_address_updated",[response])}}).fail(function(data){window.console&&window.console.log&&console.log(data)}).done(function(data){is_checkout&&recalculate_taxes()})}else is_checkout&&recalculate_taxes();return!1}),$(document.body).on("change","#edd_cc_address input[name=card_zip]",function(){"undefined"!=typeof edd_global_vars&&recalculate_taxes()})});
|
1 |
+
var edd_scripts;function edd_load_gateway(payment_mode){jQuery(".edd-cart-ajax").show(),jQuery("#edd_purchase_form_wrap").html('<span class="edd-loading-ajax edd-loading"></span>');var nonce=jQuery("#edd-gateway-"+payment_mode).data(payment_mode+"-nonce"),url=edd_scripts.ajaxurl;0<url.indexOf("?")?url+="&":url+="?",url=url+"payment-mode="+payment_mode,jQuery.post(url,{action:"edd_load_gateway",edd_payment_mode:payment_mode,nonce:nonce},function(response){jQuery("#edd_purchase_form_wrap").html(response),jQuery(".edd-no-js").hide(),jQuery("body").trigger("edd_gateway_loaded",[payment_mode])})}jQuery(document).ready(function($){if($(".edd-no-js").hide(),$("a.edd-add-to-cart").addClass("edd-has-js"),$(document.body).on("click.eddRemoveFromCart",".edd-remove-from-cart",function(event){var $this=$(this),item=$this.data("cart-item"),action=$this.data("action"),id=$this.data("download-id"),nonce=$this.data("nonce"),data={action:action,cart_item:item,nonce:nonce};return $.ajax({type:"POST",data:data,dataType:"json",url:edd_scripts.ajaxurl,xhrFields:{withCredentials:!0},success:function(response){if(response.removed){if(parseInt(edd_scripts.position_in_cart,10)===parseInt(item,10)||edd_scripts.has_purchase_links)return window.location=window.location,!1;$(".edd-cart").each(function(){$(this).find("[data-cart-item='"+item+"']").parent().remove()}),$(".edd-cart").each(function(){var cart_item_counter=0;$(this).find("[data-cart-item]").each(function(){$(this).attr("data-cart-item",cart_item_counter),cart_item_counter+=1})}),$("[id^=edd_purchase_"+id+"]").length&&($("[id^=edd_purchase_"+id+"] .edd_go_to_checkout").hide(),$("[id^=edd_purchase_"+id+"] a.edd-add-to-cart").show().removeAttr("data-edd-loading"),"1"==edd_scripts.quantities_enabled&&$("[id^=edd_purchase_"+id+"] .edd_download_quantity_wrapper").show()),$("span.edd-cart-quantity").text(response.cart_quantity),$(document.body).trigger("edd_quantity_updated",[response.cart_quantity]),edd_scripts.taxes_enabled&&($(".cart_item.edd_subtotal span").html(response.subtotal),$(".cart_item.edd_cart_tax span").html(response.tax)),$(".cart_item.edd_total span").html(response.total),0==response.cart_quantity&&($(".cart_item.edd_subtotal,.edd-cart-number-of-items,.cart_item.edd_checkout,.cart_item.edd_cart_tax,.cart_item.edd_total").hide(),$(".edd-cart").each(function(){var cart_wrapper=$(this).parent();cart_wrapper&&(cart_wrapper.addClass("cart-empty"),cart_wrapper.removeClass("cart-not-empty")),$(this).append('<li class="cart_item empty">'+edd_scripts.empty_cart_message+"</li>")})),$(document.body).trigger("edd_cart_item_removed",[response])}}}).fail(function(response){window.console&&window.console.log&&console.log(response)}).done(function(response){}),!1}),$(document.body).on("click.eddAddToCart",".edd-add-to-cart",function(e){e.preventDefault();var $this=$(this),form=$this.closest("form");$this.prop("disabled",!0);$this.find(".edd-loading");var container=$this.closest("div");$this.attr("data-edd-loading","");form=$this.parents("form").last();var download=$this.data("download-id"),variable_price=$this.data("variable-price"),price_mode=$this.data("price-mode"),nonce=$this.data("nonce"),item_price_ids=[],free_items=!0;if("yes"==variable_price)if(0<form.find(".edd_price_option_"+download+'[type="hidden"]').length)item_price_ids[0]=$(".edd_price_option_"+download,form).val(),form.find(".edd-submit").data("price")&&0<form.find(".edd-submit").data("price")&&(free_items=!1);else{if(!form.find(".edd_price_option_"+download+":checked",form).length)return $this.removeAttr("data-edd-loading"),alert(edd_scripts.select_option),e.stopPropagation(),$this.prop("disabled",!1),!1;form.find(".edd_price_option_"+download+":checked",form).each(function(index){if(item_price_ids[index]=$(this).val(),!0===free_items){var item_price=$(this).data("price");item_price&&0<item_price&&(free_items=!1)}})}else item_price_ids[0]=download,$this.data("price")&&0<$this.data("price")&&(free_items=!1);if(free_items&&form.find(".edd_action_input").val("add_to_cart"),"straight_to_gateway"==form.find(".edd_action_input").val())return form.submit(),!0;var data={action:$this.data("action"),download_id:download,price_ids:item_price_ids,post_data:$(form).serialize(),nonce:nonce};return $.ajax({type:"POST",data:data,dataType:"json",url:edd_scripts.ajaxurl,xhrFields:{withCredentials:!0},success:function(response){var store_redirect="1"==edd_scripts.redirect_to_checkout,item_redirect="1"==form.find("#edd_redirect_to_checkout").val();if(store_redirect&&item_redirect||!store_redirect&&item_redirect)window.location=edd_scripts.checkout_page;else{"1"===edd_scripts.taxes_enabled&&($(".cart_item.edd_subtotal").show(),$(".cart_item.edd_cart_tax").show()),$(".cart_item.edd_total").show(),$(".cart_item.edd_checkout").show(),$(".cart_item.empty").length&&$(".cart_item.empty").hide(),$(".widget_edd_cart_widget .edd-cart").each(function(cart){var target=$(this).find(".edd-cart-meta:first");$(response.cart_item).insertBefore(target);var cart_wrapper=$(this).parent();cart_wrapper&&(cart_wrapper.addClass("cart-not-empty"),cart_wrapper.removeClass("cart-empty"))}),"1"===edd_scripts.taxes_enabled&&($(".edd-cart-meta.edd_subtotal span").html(response.subtotal),$(".edd-cart-meta.edd_cart_tax span").html(response.tax)),$(".edd-cart-meta.edd_total span").html(response.total);$(".edd-cart-item-title",response.cart_item).length;if($("span.edd-cart-quantity").each(function(){$(this).text(response.cart_quantity),$(document.body).trigger("edd_quantity_updated",[response.cart_quantity])}),"none"==$(".edd-cart-number-of-items").css("display")&&$(".edd-cart-number-of-items").show("slow"),"no"!=variable_price&&"multi"==price_mode||($("a.edd-add-to-cart",container).toggle(),$(".edd_go_to_checkout",container).css("display","inline-block")),"multi"==price_mode&&$this.removeAttr("data-edd-loading"),$(".edd_download_purchase_form").length&&("no"==variable_price||!form.find(".edd_price_option_"+download).is("input:hidden"))){var parent_form=$('.edd_download_purchase_form *[data-download-id="'+download+'"]').parents("form");$("a.edd-add-to-cart",parent_form).hide(),"multi"!=price_mode&&parent_form.find(".edd_download_quantity_wrapper").slideUp(),$(".edd_go_to_checkout",parent_form).show().removeAttr("data-edd-loading")}"incart"!=response&&($(".edd-cart-added-alert",container).fadeIn(),setTimeout(function(){$(".edd-cart-added-alert",container).fadeOut()},3e3)),$this.prop("disabled",!1),$(document.body).trigger("edd_cart_item_added",[response])}}}).fail(function(response){window.console&&window.console.log&&console.log(response)}).done(function(response){}),!1}),$("#edd_checkout_form_wrap").on("click",".edd_checkout_register_login",function(){var $this=$(this),data={action:$this.data("action"),nonce:$this.data("nonce")};return $(".edd-cart-ajax").show(),$.post(edd_scripts.ajaxurl,data,function(checkout_response){$("#edd_checkout_login_register").html(edd_scripts.loading),$("#edd_checkout_login_register").html(checkout_response),$(".edd-cart-ajax").hide()}),!1}),$(document).on("click","#edd_purchase_form #edd_login_fields input[type=submit]",function(e){e.preventDefault();var complete_purchase_val=$(this).val();$(this).val(edd_global_vars.purchase_loading),$(this).after('<span class="edd-loading-ajax edd-loading"></span>');var data={action:"edd_process_checkout_login",edd_ajax:1,edd_user_login:$("#edd_login_fields #edd_user_login").val(),edd_user_pass:$("#edd_login_fields #edd_user_pass").val(),edd_login_nonce:$("#edd_login_nonce").val()};$.post(edd_global_vars.ajaxurl,data,function(data){"success"==$.trim(data)?($(".edd_errors").remove(),window.location=edd_scripts.checkout_page):($("#edd_login_fields input[type=submit]").val(complete_purchase_val),$(".edd-loading-ajax").remove(),$(".edd_errors").remove(),$("#edd-user-login-submit").before(data))})}),$("select#edd-gateway, input.edd-gateway").change(function(e){var payment_mode=$("#edd-gateway option:selected, input.edd-gateway:checked").val();return"0"==payment_mode||edd_load_gateway(payment_mode),!1}),"1"==edd_scripts.is_checkout){var chosen_gateway=!1,ajax_needed=!1;$("select#edd-gateway, input.edd-gateway").length&&(chosen_gateway=$("meta[name='edd-chosen-gateway']").attr("content"),ajax_needed=!0),chosen_gateway||(chosen_gateway=edd_scripts.default_gateway),ajax_needed?setTimeout(function(){edd_load_gateway(chosen_gateway)},200):$("body").trigger("edd_gateway_loaded",[chosen_gateway])}$(document).on("click","#edd_purchase_form #edd_purchase_submit [type=submit]",function(e){var eddPurchaseform=document.getElementById("edd_purchase_form");if("function"!=typeof eddPurchaseform.checkValidity||!1!==eddPurchaseform.checkValidity()){e.preventDefault();var complete_purchase_val=$(this).val();$(this).val(edd_global_vars.purchase_loading),$(this).prop("disabled",!0),$(this).after('<span class="edd-loading-ajax edd-loading"></span>'),$.post(edd_global_vars.ajaxurl,$("#edd_purchase_form").serialize()+"&action=edd_process_checkout&edd_ajax=true",function(data){"success"==$.trim(data)?($(".edd_errors").remove(),$(".edd-error").hide(),$(eddPurchaseform).submit()):($("#edd-purchase-button").val(complete_purchase_val),$(".edd-loading-ajax").remove(),$(".edd_errors").remove(),$(".edd-error").hide(),$(edd_global_vars.checkout_error_anchor).before(data),$("#edd-purchase-button").prop("disabled",!1),$(document.body).trigger("edd_checkout_error",[data]))})}}),$(document.body).on("change","#edd_cc_address input.card_state, #edd_cc_address select, #edd_address_country",function(){var $form,$this=$(this),is_checkout="undefined"!=typeof edd_global_vars,field_name="card_state";"edd_address_country"==$(this).attr("id")&&(field_name="edd_address_state");if("card_state"!=$this.attr("id")){var nonce=$(this).data("nonce"),postData={action:"edd_get_shop_states",country:$this.val(),field_name:field_name,nonce:nonce};$.ajax({type:"POST",data:postData,url:edd_scripts.ajaxurl,xhrFields:{withCredentials:!0},success:function(response){$form=is_checkout?$("#edd_purchase_form"):$this.closest("form");var state_inputs='input[name="card_state"], select[name="card_state"], input[name="edd_address_state"], select[name="edd_address_state"]';if("nostates"==$.trim(response)){$form.find(state_inputs).replaceWith('<input type="text" name="card_state" class="card-state edd-input required" value=""/>')}else $form.find(state_inputs).replaceWith(response);is_checkout&&$(document.body).trigger("edd_cart_billing_address_updated",[response])}}).fail(function(data){window.console&&window.console.log&&console.log(data)}).done(function(data){is_checkout&&recalculate_taxes()})}else is_checkout&&recalculate_taxes();return!1}),$(document.body).on("change","#edd_cc_address input[name=card_zip]",function(){"undefined"!=typeof edd_global_vars&&recalculate_taxes()})});
|
assets/js/edd-checkout-global.js
CHANGED
@@ -352,9 +352,12 @@ function recalculate_taxes(state) {
|
|
352 |
action: 'edd_recalculate_taxes',
|
353 |
billing_country: $edd_cc_address.find('#billing_country').val(),
|
354 |
state: state,
|
355 |
-
card_zip: $edd_cc_address.find('input[name=card_zip]').val()
|
|
|
356 |
};
|
357 |
|
|
|
|
|
358 |
var current_ajax_count = ++ajax_tax_count;
|
359 |
jQuery.ajax({
|
360 |
type: "POST",
|
@@ -376,6 +379,7 @@ function recalculate_taxes(state) {
|
|
376 |
tax_data.response = tax_response;
|
377 |
jQuery('body').trigger('edd_taxes_recalculated', [ tax_data ]);
|
378 |
}
|
|
|
379 |
}
|
380 |
}).fail(function (data) {
|
381 |
if ( window.console && window.console.log ) {
|
352 |
action: 'edd_recalculate_taxes',
|
353 |
billing_country: $edd_cc_address.find('#billing_country').val(),
|
354 |
state: state,
|
355 |
+
card_zip: $edd_cc_address.find('input[name=card_zip]').val(),
|
356 |
+
nonce: jQuery('#edd-checkout-address-fields-nonce').val(),
|
357 |
};
|
358 |
|
359 |
+
jQuery('#edd_purchase_submit [type=submit]').after('<span class="edd-loading-ajax edd-recalculate-taxes-loading edd-loading"></span>');
|
360 |
+
|
361 |
var current_ajax_count = ++ajax_tax_count;
|
362 |
jQuery.ajax({
|
363 |
type: "POST",
|
379 |
tax_data.response = tax_response;
|
380 |
jQuery('body').trigger('edd_taxes_recalculated', [ tax_data ]);
|
381 |
}
|
382 |
+
jQuery('.edd-recalculate-taxes-loading').remove();
|
383 |
}
|
384 |
}).fail(function (data) {
|
385 |
if ( window.console && window.console.log ) {
|
assets/js/edd-checkout-global.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
window.EDD_Checkout=function($){"use strict";var $body,$form,$edd_cart_amount,$checkout_form_wrap;function apply_discount(event){event.preventDefault();$(this);var discount_code=$("#edd-discount").val(),edd_discount_loader=$("#edd-discount-loader");if(""==discount_code||discount_code==edd_global_vars.enter_discount)return!1;var postData={action:"edd_apply_discount",code:discount_code,form:$("#edd_purchase_form").serialize()};return $("#edd-discount-error-wrap").html("").hide(),edd_discount_loader.show(),$.ajax({type:"POST",data:postData,dataType:"json",url:edd_global_vars.ajaxurl,xhrFields:{withCredentials:!0},success:function(discount_response){if(discount_response)if("valid"==discount_response.msg){$(".edd_cart_discount").html(discount_response.html),$(".edd_cart_discount_row").show(),$(".edd_cart_amount").each(function(){$(this).text(discount_response.total),$(this).data("total",discount_response.total_plain)}),$("#edd-discount",$checkout_form_wrap).val(""),recalculate_taxes();var inputs=$("#edd_cc_fields .edd-input, #edd_cc_fields .edd-select,#edd_cc_address .edd-input, #edd_cc_address .edd-select,#edd_payment_mode_select .edd-input, #edd_payment_mode_select .edd-select");"0.00"==discount_response.total_plain?($("#edd_cc_fields,#edd_cc_address,#edd_payment_mode_select").slideUp(),inputs.removeAttr("required"),$('input[name="edd-gateway"]').val("manual")):(inputs.is(".card-address-2")||inputs.attr("required","required"),$("#edd_cc_fields,#edd_cc_address").slideDown()),$body.trigger("edd_discount_applied",[discount_response])}else $("#edd-discount-error-wrap").html('<span class="edd_error">'+discount_response.msg+"</span>"),$("#edd-discount-error-wrap").show(),$body.trigger("edd_discount_invalid",[discount_response]);else window.console&&window.console.log&&console.log(discount_response),$body.trigger("edd_discount_failed",[discount_response]);edd_discount_loader.hide()}}).fail(function(data){window.console&&window.console.log&&console.log(data)}),!1}function remove_discount(event){var postData={action:"edd_remove_discount",code:$(this).data("code")};return $.ajax({type:"POST",data:postData,dataType:"json",url:edd_global_vars.ajaxurl,xhrFields:{withCredentials:!0},success:function(discount_response){var zero="0"+edd_global_vars.decimal_separator+"00";$(".edd_cart_amount").each(function(){edd_global_vars.currency_sign+zero!=$(this).text()&&zero+edd_global_vars.currency_sign!=$(this).text()||window.location.reload(),$(this).text(discount_response.total),$(this).data("total",discount_response.total_plain)}),$(".edd_cart_discount").html(discount_response.html),discount_response.discounts||$(".edd_cart_discount_row").hide(),recalculate_taxes(),$("#edd_cc_fields,#edd_cc_address").slideDown(),$body.trigger("edd_discount_removed",[discount_response])}}).fail(function(data){window.console&&window.console.log&&console.log(data)}),!1}function update_item_quantities(event){var $this=$(this),quantity=$this.val(),key=$this.data("key"),download_id=$this.closest(".edd_cart_item").data("download-id"),options=$this.parent().find('input[name="edd-cart-download-'+key+'-options"]').val(),edd_cc_address=$("#edd_cc_address"),postData={action:"edd_update_quantity",quantity:quantity,download_id:download_id,options:options,billing_country:edd_cc_address.find("#billing_country").val(),card_state:edd_cc_address.find("#card_state").val()};return $.ajax({type:"POST",data:postData,dataType:"json",url:edd_global_vars.ajaxurl,xhrFields:{withCredentials:!0},success:function(response){$(".edd_cart_subtotal_amount").each(function(){$(this).text(response.subtotal)}),$(".edd_cart_tax_amount").each(function(){$(this).text(response.taxes)}),$(".edd_cart_amount").each(function(){$(this).text(response.total),$body.trigger("edd_quantity_updated",[response])})}}).fail(function(data){window.console&&window.console.log&&console.log(data)}),!1}return{init:function(){$body=$(document.body),$form=$("#edd_purchase_form"),$edd_cart_amount=$(".edd_cart_amount"),$edd_cart_amount.text(),$checkout_form_wrap=$("#edd_checkout_form_wrap"),$body.on("edd_gateway_loaded",function(e){var form,card_number,card_cvc,card_expiry;card_number=(form=$form).find(".card-number"),card_cvc=form.find(".card-cvc"),card_expiry=form.find(".card-expiry"),card_number.length&&"function"==typeof card_number.payment&&(card_number.payment("formatCardNumber"),card_cvc.payment("formatCardCVC"),card_expiry.payment("formatCardExpiry"))}),$body.on("keyup change",".edd-do-validate .card-number",function(){var field,card_field;field=$(this),(card_field=field).validateCreditCard(function(result){var $card_type=$(".card-type");null==result.card_type?($card_type.removeClass().addClass("off card-type"),card_field.removeClass("valid"),card_field.addClass("error")):($card_type.removeClass("off"),$card_type.addClass(result.card_type.name),result.length_valid&&result.luhn_valid?(card_field.addClass("valid"),card_field.removeClass("error")):(card_field.removeClass("valid"),card_field.addClass("error")))})}),$body.on("blur change",".card-name",function(){var name_field=$(this);name_field.validateCreditCard(function(result){null!=result.card_type?(name_field.removeClass("valid").addClass("error"),$("#edd-purchase-button").attr("disabled","disabled")):(name_field.removeClass("error").addClass("valid"),$("#edd-purchase-button").removeAttr("disabled"))})}),$body.on("submit","#edd_payment_mode",function(){if(0==$("#edd-gateway option:selected").val())return alert(edd_global_vars.no_gateway),!1}),$body.on("click","#edd_payment_mode_select input",function(){$("#edd_payment_mode_select label.edd-gateway-option-selected").removeClass("edd-gateway-option-selected"),$("#edd_payment_mode_select input:checked").parent().addClass("edd-gateway-option-selected")}),$checkout_form_wrap.on("click",".edd-apply-discount",apply_discount),$checkout_form_wrap.on("keypress","#edd-discount",function(event){if("13"==event.keyCode)return!1}),$checkout_form_wrap.on("keyup","#edd-discount",function(event){"13"==event.keyCode&&$checkout_form_wrap.find(".edd-apply-discount").trigger("click")}),$body.on("click",".edd_discount_remove",remove_discount),$body.on("click",".edd_discount_link",function(e){e.preventDefault(),$(".edd_discount_link").parent().hide(),$("#edd-discount-code-wrap").show().find("#edd-discount").focus()}),$body.find("#edd-discount-code-wrap").hide(),$body.find("#edd_show_discount").show(),$body.on("change",".edd-item-quantity",update_item_quantities),$body.on("click",".edd-amazon-logout #Logout",function(e){e.preventDefault(),amazon.Login.logout(),window.location=edd_amazon.checkoutUri})},recalculate_taxes:recalculate_taxes}}(window.jQuery),window.jQuery(document).ready(EDD_Checkout.init);var ajax_tax_count=0;function recalculate_taxes(state){if("1"==edd_global_vars.taxes_enabled){var $edd_cc_address=jQuery("#edd_cc_address");state||(state=$edd_cc_address.find("#card_state").val());var postData={action:"edd_recalculate_taxes",billing_country:$edd_cc_address.find("#billing_country").val(),state:state,card_zip:$edd_cc_address.find("input[name=card_zip]").val()}
|
1 |
+
window.EDD_Checkout=function($){"use strict";var $body,$form,$edd_cart_amount,$checkout_form_wrap;function apply_discount(event){event.preventDefault();$(this);var discount_code=$("#edd-discount").val(),edd_discount_loader=$("#edd-discount-loader");if(""==discount_code||discount_code==edd_global_vars.enter_discount)return!1;var postData={action:"edd_apply_discount",code:discount_code,form:$("#edd_purchase_form").serialize()};return $("#edd-discount-error-wrap").html("").hide(),edd_discount_loader.show(),$.ajax({type:"POST",data:postData,dataType:"json",url:edd_global_vars.ajaxurl,xhrFields:{withCredentials:!0},success:function(discount_response){if(discount_response)if("valid"==discount_response.msg){$(".edd_cart_discount").html(discount_response.html),$(".edd_cart_discount_row").show(),$(".edd_cart_amount").each(function(){$(this).text(discount_response.total),$(this).data("total",discount_response.total_plain)}),$("#edd-discount",$checkout_form_wrap).val(""),recalculate_taxes();var inputs=$("#edd_cc_fields .edd-input, #edd_cc_fields .edd-select,#edd_cc_address .edd-input, #edd_cc_address .edd-select,#edd_payment_mode_select .edd-input, #edd_payment_mode_select .edd-select");"0.00"==discount_response.total_plain?($("#edd_cc_fields,#edd_cc_address,#edd_payment_mode_select").slideUp(),inputs.removeAttr("required"),$('input[name="edd-gateway"]').val("manual")):(inputs.is(".card-address-2")||inputs.attr("required","required"),$("#edd_cc_fields,#edd_cc_address").slideDown()),$body.trigger("edd_discount_applied",[discount_response])}else $("#edd-discount-error-wrap").html('<span class="edd_error">'+discount_response.msg+"</span>"),$("#edd-discount-error-wrap").show(),$body.trigger("edd_discount_invalid",[discount_response]);else window.console&&window.console.log&&console.log(discount_response),$body.trigger("edd_discount_failed",[discount_response]);edd_discount_loader.hide()}}).fail(function(data){window.console&&window.console.log&&console.log(data)}),!1}function remove_discount(event){var postData={action:"edd_remove_discount",code:$(this).data("code")};return $.ajax({type:"POST",data:postData,dataType:"json",url:edd_global_vars.ajaxurl,xhrFields:{withCredentials:!0},success:function(discount_response){var zero="0"+edd_global_vars.decimal_separator+"00";$(".edd_cart_amount").each(function(){edd_global_vars.currency_sign+zero!=$(this).text()&&zero+edd_global_vars.currency_sign!=$(this).text()||window.location.reload(),$(this).text(discount_response.total),$(this).data("total",discount_response.total_plain)}),$(".edd_cart_discount").html(discount_response.html),discount_response.discounts||$(".edd_cart_discount_row").hide(),recalculate_taxes(),$("#edd_cc_fields,#edd_cc_address").slideDown(),$body.trigger("edd_discount_removed",[discount_response])}}).fail(function(data){window.console&&window.console.log&&console.log(data)}),!1}function update_item_quantities(event){var $this=$(this),quantity=$this.val(),key=$this.data("key"),download_id=$this.closest(".edd_cart_item").data("download-id"),options=$this.parent().find('input[name="edd-cart-download-'+key+'-options"]').val(),edd_cc_address=$("#edd_cc_address"),postData={action:"edd_update_quantity",quantity:quantity,download_id:download_id,options:options,billing_country:edd_cc_address.find("#billing_country").val(),card_state:edd_cc_address.find("#card_state").val()};return $.ajax({type:"POST",data:postData,dataType:"json",url:edd_global_vars.ajaxurl,xhrFields:{withCredentials:!0},success:function(response){$(".edd_cart_subtotal_amount").each(function(){$(this).text(response.subtotal)}),$(".edd_cart_tax_amount").each(function(){$(this).text(response.taxes)}),$(".edd_cart_amount").each(function(){$(this).text(response.total),$body.trigger("edd_quantity_updated",[response])})}}).fail(function(data){window.console&&window.console.log&&console.log(data)}),!1}return{init:function(){$body=$(document.body),$form=$("#edd_purchase_form"),$edd_cart_amount=$(".edd_cart_amount"),$edd_cart_amount.text(),$checkout_form_wrap=$("#edd_checkout_form_wrap"),$body.on("edd_gateway_loaded",function(e){var form,card_number,card_cvc,card_expiry;card_number=(form=$form).find(".card-number"),card_cvc=form.find(".card-cvc"),card_expiry=form.find(".card-expiry"),card_number.length&&"function"==typeof card_number.payment&&(card_number.payment("formatCardNumber"),card_cvc.payment("formatCardCVC"),card_expiry.payment("formatCardExpiry"))}),$body.on("keyup change",".edd-do-validate .card-number",function(){var field,card_field;field=$(this),(card_field=field).validateCreditCard(function(result){var $card_type=$(".card-type");null==result.card_type?($card_type.removeClass().addClass("off card-type"),card_field.removeClass("valid"),card_field.addClass("error")):($card_type.removeClass("off"),$card_type.addClass(result.card_type.name),result.length_valid&&result.luhn_valid?(card_field.addClass("valid"),card_field.removeClass("error")):(card_field.removeClass("valid"),card_field.addClass("error")))})}),$body.on("blur change",".card-name",function(){var name_field=$(this);name_field.validateCreditCard(function(result){null!=result.card_type?(name_field.removeClass("valid").addClass("error"),$("#edd-purchase-button").attr("disabled","disabled")):(name_field.removeClass("error").addClass("valid"),$("#edd-purchase-button").removeAttr("disabled"))})}),$body.on("submit","#edd_payment_mode",function(){if(0==$("#edd-gateway option:selected").val())return alert(edd_global_vars.no_gateway),!1}),$body.on("click","#edd_payment_mode_select input",function(){$("#edd_payment_mode_select label.edd-gateway-option-selected").removeClass("edd-gateway-option-selected"),$("#edd_payment_mode_select input:checked").parent().addClass("edd-gateway-option-selected")}),$checkout_form_wrap.on("click",".edd-apply-discount",apply_discount),$checkout_form_wrap.on("keypress","#edd-discount",function(event){if("13"==event.keyCode)return!1}),$checkout_form_wrap.on("keyup","#edd-discount",function(event){"13"==event.keyCode&&$checkout_form_wrap.find(".edd-apply-discount").trigger("click")}),$body.on("click",".edd_discount_remove",remove_discount),$body.on("click",".edd_discount_link",function(e){e.preventDefault(),$(".edd_discount_link").parent().hide(),$("#edd-discount-code-wrap").show().find("#edd-discount").focus()}),$body.find("#edd-discount-code-wrap").hide(),$body.find("#edd_show_discount").show(),$body.on("change",".edd-item-quantity",update_item_quantities),$body.on("click",".edd-amazon-logout #Logout",function(e){e.preventDefault(),amazon.Login.logout(),window.location=edd_amazon.checkoutUri})},recalculate_taxes:recalculate_taxes}}(window.jQuery),window.jQuery(document).ready(EDD_Checkout.init);var ajax_tax_count=0;function recalculate_taxes(state){if("1"==edd_global_vars.taxes_enabled){var $edd_cc_address=jQuery("#edd_cc_address");state||(state=$edd_cc_address.find("#card_state").val());var postData={action:"edd_recalculate_taxes",billing_country:$edd_cc_address.find("#billing_country").val(),state:state,card_zip:$edd_cc_address.find("input[name=card_zip]").val(),nonce:jQuery("#edd-checkout-address-fields-nonce").val()};jQuery("#edd_purchase_submit [type=submit]").after('<span class="edd-loading-ajax edd-recalculate-taxes-loading edd-loading"></span>');var current_ajax_count=++ajax_tax_count;jQuery.ajax({type:"POST",data:postData,dataType:"json",url:edd_global_vars.ajaxurl,xhrFields:{withCredentials:!0},success:function(tax_response){if(current_ajax_count===ajax_tax_count){jQuery("#edd_checkout_cart_form").replaceWith(tax_response.html),jQuery(".edd_cart_amount").html(tax_response.total);var tax_data=new Object;tax_data.postdata=postData,tax_data.response=tax_response,jQuery("body").trigger("edd_taxes_recalculated",[tax_data])}jQuery(".edd-recalculate-taxes-loading").remove()}}).fail(function(data){window.console&&window.console.log&&(console.log(data),current_ajax_count===ajax_tax_count&&jQuery("body").trigger("edd_taxes_recalculated",[tax_data]))})}}
|
easy-digital-downloads.php
CHANGED
@@ -5,7 +5,7 @@
|
|
5 |
* Description: The easiest way to sell digital products with WordPress.
|
6 |
* Author: Easy Digital Downloads
|
7 |
* Author URI: https://easydigitaldownloads.com
|
8 |
-
* Version: 2.9.
|
9 |
* Text Domain: easy-digital-downloads
|
10 |
* Domain Path: languages
|
11 |
*
|
@@ -25,7 +25,7 @@
|
|
25 |
* @package EDD
|
26 |
* @category Core
|
27 |
* @author Pippin Williamson
|
28 |
-
* @version 2.9.
|
29 |
*/
|
30 |
|
31 |
// Exit if accessed directly.
|
@@ -206,7 +206,7 @@ final class Easy_Digital_Downloads {
|
|
206 |
|
207 |
// Plugin version.
|
208 |
if ( ! defined( 'EDD_VERSION' ) ) {
|
209 |
-
define( 'EDD_VERSION', '2.9.
|
210 |
}
|
211 |
|
212 |
// Plugin Folder Path.
|
5 |
* Description: The easiest way to sell digital products with WordPress.
|
6 |
* Author: Easy Digital Downloads
|
7 |
* Author URI: https://easydigitaldownloads.com
|
8 |
+
* Version: 2.9.4
|
9 |
* Text Domain: easy-digital-downloads
|
10 |
* Domain Path: languages
|
11 |
*
|
25 |
* @package EDD
|
26 |
* @category Core
|
27 |
* @author Pippin Williamson
|
28 |
+
* @version 2.9.4
|
29 |
*/
|
30 |
|
31 |
// Exit if accessed directly.
|
206 |
|
207 |
// Plugin version.
|
208 |
if ( ! defined( 'EDD_VERSION' ) ) {
|
209 |
+
define( 'EDD_VERSION', '2.9.4' );
|
210 |
}
|
211 |
|
212 |
// Plugin Folder Path.
|
includes/actions.php
CHANGED
@@ -22,6 +22,13 @@ if ( ! defined( 'ABSPATH' ) ) exit;
|
|
22 |
*/
|
23 |
function edd_get_actions() {
|
24 |
$key = ! empty( $_GET['edd_action'] ) ? sanitize_key( $_GET['edd_action'] ) : false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
if ( ! empty( $key ) ) {
|
26 |
do_action( "edd_{$key}" , $_GET );
|
27 |
}
|
@@ -38,8 +45,91 @@ add_action( 'init', 'edd_get_actions' );
|
|
38 |
*/
|
39 |
function edd_post_actions() {
|
40 |
$key = ! empty( $_POST['edd_action'] ) ? sanitize_key( $_POST['edd_action'] ) : false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
41 |
if ( ! empty( $key ) ) {
|
42 |
do_action( "edd_{$key}", $_POST );
|
43 |
}
|
44 |
}
|
45 |
add_action( 'init', 'edd_post_actions' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
*/
|
23 |
function edd_get_actions() {
|
24 |
$key = ! empty( $_GET['edd_action'] ) ? sanitize_key( $_GET['edd_action'] ) : false;
|
25 |
+
|
26 |
+
$is_delayed_action = edd_is_delayed_action( $key );
|
27 |
+
|
28 |
+
if ( $is_delayed_action ) {
|
29 |
+
return;
|
30 |
+
}
|
31 |
+
|
32 |
if ( ! empty( $key ) ) {
|
33 |
do_action( "edd_{$key}" , $_GET );
|
34 |
}
|
45 |
*/
|
46 |
function edd_post_actions() {
|
47 |
$key = ! empty( $_POST['edd_action'] ) ? sanitize_key( $_POST['edd_action'] ) : false;
|
48 |
+
|
49 |
+
$is_delayed_action = edd_is_delayed_action( $key );
|
50 |
+
|
51 |
+
if ( $is_delayed_action ) {
|
52 |
+
return;
|
53 |
+
}
|
54 |
+
|
55 |
if ( ! empty( $key ) ) {
|
56 |
do_action( "edd_{$key}", $_POST );
|
57 |
}
|
58 |
}
|
59 |
add_action( 'init', 'edd_post_actions' );
|
60 |
+
|
61 |
+
/**
|
62 |
+
* Call any actions that should have been delayed, in order to be sure that all necessary information
|
63 |
+
* has been loaded by WP Core.
|
64 |
+
*
|
65 |
+
* Hooks EDD actions, when present in the $_GET superglobal. Every edd_action
|
66 |
+
* present in $_POST is called using WordPress's do_action function. These
|
67 |
+
* functions are called on template_redirect.
|
68 |
+
*
|
69 |
+
* @since 2.9.4
|
70 |
+
* @return void
|
71 |
+
*/
|
72 |
+
function edd_delayed_get_actions() {
|
73 |
+
$key = ! empty( $_GET['edd_action'] ) ? sanitize_key( $_GET['edd_action'] ) : false;
|
74 |
+
$is_delayed_action = edd_is_delayed_action( $key );
|
75 |
+
|
76 |
+
if ( ! $is_delayed_action ) {
|
77 |
+
return;
|
78 |
+
}
|
79 |
+
|
80 |
+
if ( ! empty( $key ) ) {
|
81 |
+
do_action( "edd_{$key}", $_GET );
|
82 |
+
}
|
83 |
+
}
|
84 |
+
add_action( 'template_redirect', 'edd_delayed_get_actions' );
|
85 |
+
|
86 |
+
/**
|
87 |
+
* Call any actions that should have been delayed, in order to be sure that all necessary information
|
88 |
+
* has been loaded by WP Core.
|
89 |
+
*
|
90 |
+
* Hooks EDD actions, when present in the $_POST superglobal. Every edd_action
|
91 |
+
* present in $_POST is called using WordPress's do_action function. These
|
92 |
+
* functions are called on template_redirect.
|
93 |
+
*
|
94 |
+
* @since 2.9.4
|
95 |
+
* @return void
|
96 |
+
*/
|
97 |
+
function edd_delayed_post_actions() {
|
98 |
+
$key = ! empty( $_POST['edd_action'] ) ? sanitize_key( $_POST['edd_action'] ) : false;
|
99 |
+
$is_delayed_action = edd_is_delayed_action( $key );
|
100 |
+
|
101 |
+
if ( ! $is_delayed_action ) {
|
102 |
+
return;
|
103 |
+
}
|
104 |
+
|
105 |
+
if ( ! empty( $key ) ) {
|
106 |
+
do_action( "edd_{$key}", $_POST );
|
107 |
+
}
|
108 |
+
}
|
109 |
+
add_action( 'template_redirect', 'edd_delayed_post_actions' );
|
110 |
+
|
111 |
+
/**
|
112 |
+
* Get the list of actions that EDD has determined need to be delayed past init.
|
113 |
+
*
|
114 |
+
* @since 2.9.4
|
115 |
+
*
|
116 |
+
* @return array
|
117 |
+
*/
|
118 |
+
function edd_delayed_actions_list() {
|
119 |
+
return (array) apply_filters( 'edd_delayed_actions', array(
|
120 |
+
'add_to_cart'
|
121 |
+
) );
|
122 |
+
}
|
123 |
+
|
124 |
+
/**
|
125 |
+
* Determine if the requested action needs to be delayed or not.
|
126 |
+
*
|
127 |
+
* @since 2.9.4
|
128 |
+
*
|
129 |
+
* @param string $action
|
130 |
+
*
|
131 |
+
* @return bool
|
132 |
+
*/
|
133 |
+
function edd_is_delayed_action( $action = '' ) {
|
134 |
+
return in_array( $action, edd_delayed_actions_list() );
|
135 |
+
}
|
includes/admin/downloads/metabox.php
CHANGED
@@ -967,7 +967,7 @@ function edd_render_dowwn_tax_options( $post_id = 0 ) {
|
|
967 |
* @return void
|
968 |
*/
|
969 |
function edd_render_down_tax_options( $post_id = 0 ) {
|
970 |
-
if( ! current_user_can( '
|
971 |
return;
|
972 |
}
|
973 |
|
@@ -1036,7 +1036,7 @@ function edd_render_meta_box_shortcode() {
|
|
1036 |
?>
|
1037 |
<p>
|
1038 |
<strong><?php _e( 'Purchase Shortcode:', 'easy-digital-downloads' ); ?></strong>
|
1039 |
-
<span alt="f223" class="edd-help-tip dashicons dashicons-editor-help" title="<?php _e( '<strong>
|
1040 |
</p>
|
1041 |
<input type="text" id="edd-purchase-shortcode" class="widefat" readonly="readonly" value="<?php echo htmlentities( $shortcode ); ?>">
|
1042 |
<?php
|
@@ -1313,4 +1313,4 @@ function edd_hijack_edd_download_price_table_head( $arg1, $arg2, $arg3 ) {
|
|
1313 |
}
|
1314 |
}
|
1315 |
}
|
1316 |
-
add_action( 'edd_download_price_table_row', 'edd_hijack_edd_download_price_table_head', -1, 3 );
|
967 |
* @return void
|
968 |
*/
|
969 |
function edd_render_down_tax_options( $post_id = 0 ) {
|
970 |
+
if( ! current_user_can( 'view_shop_reports' ) || ! edd_use_taxes() ) {
|
971 |
return;
|
972 |
}
|
973 |
|
1036 |
?>
|
1037 |
<p>
|
1038 |
<strong><?php _e( 'Purchase Shortcode:', 'easy-digital-downloads' ); ?></strong>
|
1039 |
+
<span alt="f223" class="edd-help-tip dashicons dashicons-editor-help" title="<?php _e( '<strong>Purchase Shortcode</strong>: Use this shortcode to output a purchase link for this product in the location of your choosing.', 'easy-digital-downloads' ); ?>"></span>
|
1040 |
</p>
|
1041 |
<input type="text" id="edd-purchase-shortcode" class="widefat" readonly="readonly" value="<?php echo htmlentities( $shortcode ); ?>">
|
1042 |
<?php
|
1313 |
}
|
1314 |
}
|
1315 |
}
|
1316 |
+
add_action( 'edd_download_price_table_row', 'edd_hijack_edd_download_price_table_head', -1, 3 );
|
includes/admin/payments/actions.php
CHANGED
@@ -191,6 +191,8 @@ function edd_update_payment_details( $data ) {
|
|
191 |
$customer = new EDD_Customer( $curr_customer_id );
|
192 |
edd_set_error( 'edd-payment-new-customer-fail', __( 'Error creating new customer', 'easy-digital-downloads' ) );
|
193 |
}
|
|
|
|
|
194 |
}
|
195 |
|
196 |
$new_customer_id = $customer->id;
|
191 |
$customer = new EDD_Customer( $curr_customer_id );
|
192 |
edd_set_error( 'edd-payment-new-customer-fail', __( 'Error creating new customer', 'easy-digital-downloads' ) );
|
193 |
}
|
194 |
+
} else {
|
195 |
+
wp_die( sprintf( __( 'A customer with the email address %s already exists. Please go back and use the "Assign to another customer" link to assign this payment to them.', 'easy-digital-downloads' ), $email ) );
|
196 |
}
|
197 |
|
198 |
$new_customer_id = $customer->id;
|
includes/admin/reporting/export/class-batch-export-file-downloads.php
CHANGED
@@ -87,12 +87,22 @@ class EDD_Batch_File_Downloads_Export extends EDD_Batch_Export {
|
|
87 |
|
88 |
if ( $logs ) {
|
89 |
foreach ( $logs as $log ) {
|
90 |
-
$
|
91 |
-
$
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
96 |
|
97 |
$data[] = array(
|
98 |
'date' => $log->post_date,
|
87 |
|
88 |
if ( $logs ) {
|
89 |
foreach ( $logs as $log ) {
|
90 |
+
$customer_id = get_post_meta( $log->ID, '_edd_log_customer_id', true );
|
91 |
+
$customer = false;
|
92 |
+
if ( ! empty( $customer_id ) ) {
|
93 |
+
$customer = new EDD_Customer( $customer_id );
|
94 |
+
}
|
95 |
+
|
96 |
+
$files = edd_get_download_files( $log->post_parent );
|
97 |
+
$file_id = (int) get_post_meta( $log->ID, '_edd_log_file_id', true );
|
98 |
+
$file_name = isset( $files[ $file_id ]['name'] ) ? $files[ $file_id ]['name'] : null;
|
99 |
+
|
100 |
+
if ( ! empty( $customer ) ) {
|
101 |
+
$user = ! empty( $customer->name ) ? $customer->name : $customer->email;
|
102 |
+
} else {
|
103 |
+
$payment_id = get_post_meta( $log->ID, '_edd_log_payment_id', true );
|
104 |
+
$user = edd_get_payment_user_email( $payment_id );
|
105 |
+
}
|
106 |
|
107 |
$data[] = array(
|
108 |
'date' => $log->post_date,
|
includes/admin/settings/register-settings.php
CHANGED
@@ -1188,6 +1188,15 @@ function edd_settings_sanitize_taxes( $input ) {
|
|
1188 |
|
1189 |
$new_rates = ! empty( $_POST['tax_rates'] ) ? array_values( $_POST['tax_rates'] ) : array();
|
1190 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1191 |
update_option( 'edd_tax_rates', $new_rates );
|
1192 |
|
1193 |
return $input;
|
@@ -2119,7 +2128,6 @@ function edd_shop_states_callback($args) {
|
|
2119 |
*/
|
2120 |
function edd_tax_rates_callback($args) {
|
2121 |
$rates = edd_get_tax_rates();
|
2122 |
-
|
2123 |
$class = edd_sanitize_html_class( $args['field_class'] );
|
2124 |
|
2125 |
ob_start(); ?>
|
1188 |
|
1189 |
$new_rates = ! empty( $_POST['tax_rates'] ) ? array_values( $_POST['tax_rates'] ) : array();
|
1190 |
|
1191 |
+
foreach ( $new_rates as $key => $rate ) {
|
1192 |
+
$rate = array_filter( $rate );
|
1193 |
+
if ( empty( $rate ) ) {
|
1194 |
+
unset( $new_rates[ $key ] );
|
1195 |
+
}
|
1196 |
+
}
|
1197 |
+
|
1198 |
+
$new_rates = ! empty( $new_rates ) ? array_values( $new_rates ) : array();
|
1199 |
+
|
1200 |
update_option( 'edd_tax_rates', $new_rates );
|
1201 |
|
1202 |
return $input;
|
2128 |
*/
|
2129 |
function edd_tax_rates_callback($args) {
|
2130 |
$rates = edd_get_tax_rates();
|
|
|
2131 |
$class = edd_sanitize_html_class( $args['field_class'] );
|
2132 |
|
2133 |
ob_start(); ?>
|
includes/ajax-functions.php
CHANGED
@@ -139,22 +139,38 @@ function edd_get_ajax_url() {
|
|
139 |
* @return void
|
140 |
*/
|
141 |
function edd_ajax_remove_from_cart() {
|
142 |
-
if ( isset( $_POST['
|
|
|
|
|
143 |
|
144 |
-
|
145 |
|
146 |
-
$return = array(
|
147 |
-
'removed' => 1,
|
148 |
-
'subtotal' => html_entity_decode( edd_currency_filter( edd_format_amount( edd_get_cart_subtotal() ) ), ENT_COMPAT, 'UTF-8' ),
|
149 |
-
'total' => html_entity_decode( edd_currency_filter( edd_format_amount( edd_get_cart_total() ) ), ENT_COMPAT, 'UTF-8' ),
|
150 |
-
'cart_quantity' => html_entity_decode( edd_get_cart_quantity() ),
|
151 |
-
);
|
152 |
|
153 |
-
|
154 |
-
|
155 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
156 |
}
|
157 |
|
|
|
|
|
158 |
echo json_encode( $return );
|
159 |
|
160 |
}
|
@@ -170,7 +186,20 @@ add_action( 'wp_ajax_nopriv_edd_remove_from_cart', 'edd_ajax_remove_from_cart' )
|
|
170 |
* @return void
|
171 |
*/
|
172 |
function edd_ajax_add_to_cart() {
|
173 |
-
if ( isset( $_POST['
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
174 |
$to_add = array();
|
175 |
|
176 |
if ( isset( $_POST['price_ids'] ) && is_array( $_POST['price_ids'] ) ) {
|
@@ -223,6 +252,8 @@ function edd_ajax_add_to_cart() {
|
|
223 |
$return['tax'] = html_entity_decode( edd_currency_filter( edd_format_amount( $cart_tax ) ), ENT_COMPAT, 'UTF-8' );
|
224 |
}
|
225 |
|
|
|
|
|
226 |
echo json_encode( $return );
|
227 |
}
|
228 |
edd_die();
|
@@ -370,7 +401,15 @@ add_action( 'wp_ajax_nopriv_edd_remove_discount', 'edd_ajax_remove_discount' );
|
|
370 |
* @return void
|
371 |
*/
|
372 |
function edd_load_checkout_login_fields() {
|
373 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
374 |
edd_die();
|
375 |
}
|
376 |
add_action('wp_ajax_nopriv_checkout_login', 'edd_load_checkout_login_fields');
|
@@ -382,7 +421,15 @@ add_action('wp_ajax_nopriv_checkout_login', 'edd_load_checkout_login_fields');
|
|
382 |
* @return void
|
383 |
*/
|
384 |
function edd_load_checkout_register_fields() {
|
385 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
386 |
edd_die();
|
387 |
}
|
388 |
add_action('wp_ajax_nopriv_checkout_register', 'edd_load_checkout_register_fields');
|
@@ -420,6 +467,17 @@ add_action( 'wp_ajax_nopriv_edd_get_download_title', 'edd_ajax_get_download_titl
|
|
420 |
* @return void
|
421 |
*/
|
422 |
function edd_ajax_recalculate_taxes() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
423 |
if ( ! edd_get_cart_contents() ) {
|
424 |
return false;
|
425 |
}
|
@@ -458,27 +516,37 @@ function edd_ajax_get_states_field() {
|
|
458 |
if( empty( $_POST['country'] ) ) {
|
459 |
$_POST['country'] = edd_get_shop_country();
|
460 |
}
|
461 |
-
$states = edd_get_shop_states( $_POST['country'] );
|
462 |
|
463 |
-
if( !
|
|
|
|
|
464 |
|
465 |
-
|
466 |
-
|
467 |
-
'id' => $_POST['field_name'],
|
468 |
-
'class' => $_POST['field_name'] . ' edd-select',
|
469 |
-
'options' => $states,
|
470 |
-
'show_option_all' => false,
|
471 |
-
'show_option_none' => false
|
472 |
-
);
|
473 |
|
474 |
-
|
|
|
475 |
|
476 |
-
|
477 |
|
478 |
-
|
479 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
480 |
|
481 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
482 |
|
483 |
edd_die();
|
484 |
}
|
139 |
* @return void
|
140 |
*/
|
141 |
function edd_ajax_remove_from_cart() {
|
142 |
+
if ( ! isset( $_POST['nonce'] ) ) {
|
143 |
+
edd_debug_log( __( 'Missing nonce when removing an item from the cart. Please read the following for more information: https://easydigitaldownloads.com/development/2018/07/05/important-update-to-ajax-requests-in-easy-digital-downloads-2-9-4', 'easy-digital-downloads' ), true );
|
144 |
+
}
|
145 |
|
146 |
+
if ( isset( $_POST['cart_item'] ) && isset( $_POST['nonce'] ) ) {
|
147 |
|
|
|
|
|
|
|
|
|
|
|
|
|
148 |
|
149 |
+
$cart_item = absint( $_POST['cart_item'] );
|
150 |
+
$nonce = sanitize_text_field( $_POST['nonce'] );
|
151 |
+
|
152 |
+
$nonce_verified = wp_verify_nonce( $nonce, 'edd-remove-cart-widget-item' );
|
153 |
+
|
154 |
+
if ( false === $nonce_verified ) {
|
155 |
+
$return = array( 'removed' => 0 );
|
156 |
+
} else {
|
157 |
+
edd_remove_from_cart( $cart_item );
|
158 |
+
|
159 |
+
$return = array(
|
160 |
+
'removed' => 1,
|
161 |
+
'subtotal' => html_entity_decode( edd_currency_filter( edd_format_amount( edd_get_cart_subtotal() ) ), ENT_COMPAT, 'UTF-8' ),
|
162 |
+
'total' => html_entity_decode( edd_currency_filter( edd_format_amount( edd_get_cart_total() ) ), ENT_COMPAT, 'UTF-8' ),
|
163 |
+
'cart_quantity' => html_entity_decode( edd_get_cart_quantity() ),
|
164 |
+
);
|
165 |
+
|
166 |
+
if ( edd_use_taxes() ) {
|
167 |
+
$cart_tax = (float) edd_get_cart_tax();
|
168 |
+
$return['tax'] = html_entity_decode( edd_currency_filter( edd_format_amount( $cart_tax ) ), ENT_COMPAT, 'UTF-8' );
|
169 |
+
}
|
170 |
}
|
171 |
|
172 |
+
$return = apply_filters( 'edd_ajax_remove_from_cart_response', $return );
|
173 |
+
|
174 |
echo json_encode( $return );
|
175 |
|
176 |
}
|
186 |
* @return void
|
187 |
*/
|
188 |
function edd_ajax_add_to_cart() {
|
189 |
+
if ( ! isset( $_POST['nonce'] ) ) {
|
190 |
+
edd_debug_log( __( 'Missing nonce when adding an item to the cart. Please read the following for more information: https://easydigitaldownloads.com/development/2018/07/05/important-update-to-ajax-requests-in-easy-digital-downloads-2-9-4', 'easy-digital-downloads' ), true );
|
191 |
+
}
|
192 |
+
|
193 |
+
if ( isset( $_POST['download_id'] ) && isset( $_POST['nonce'] ) ) {
|
194 |
+
$download_id = absint( $_POST['download_id'] );
|
195 |
+
$nonce = sanitize_text_field( $_POST['nonce'] );
|
196 |
+
|
197 |
+
$nonce_verified = wp_verify_nonce( $nonce, 'edd-add-to-cart-' . $download_id );
|
198 |
+
|
199 |
+
if ( false === $nonce_verified ) {
|
200 |
+
edd_die( '', '', 403 );
|
201 |
+
}
|
202 |
+
|
203 |
$to_add = array();
|
204 |
|
205 |
if ( isset( $_POST['price_ids'] ) && is_array( $_POST['price_ids'] ) ) {
|
252 |
$return['tax'] = html_entity_decode( edd_currency_filter( edd_format_amount( $cart_tax ) ), ENT_COMPAT, 'UTF-8' );
|
253 |
}
|
254 |
|
255 |
+
$return = apply_filters( 'edd_ajax_add_to_cart_response', $return );
|
256 |
+
|
257 |
echo json_encode( $return );
|
258 |
}
|
259 |
edd_die();
|
401 |
* @return void
|
402 |
*/
|
403 |
function edd_load_checkout_login_fields() {
|
404 |
+
$action = sanitize_text_field( $_POST['action'] );
|
405 |
+
$nonce = sanitize_text_field( $_POST['nonce'] );
|
406 |
+
|
407 |
+
$nonce_verified = wp_verify_nonce( $nonce, 'edd_' . $action );
|
408 |
+
|
409 |
+
if ( $nonce_verified ) {
|
410 |
+
do_action( 'edd_purchase_form_login_fields' );
|
411 |
+
}
|
412 |
+
|
413 |
edd_die();
|
414 |
}
|
415 |
add_action('wp_ajax_nopriv_checkout_login', 'edd_load_checkout_login_fields');
|
421 |
* @return void
|
422 |
*/
|
423 |
function edd_load_checkout_register_fields() {
|
424 |
+
$action = sanitize_text_field( $_POST['action'] );
|
425 |
+
$nonce = sanitize_text_field( $_POST['nonce'] );
|
426 |
+
|
427 |
+
$nonce_verified = wp_verify_nonce( $nonce, 'edd_' . $action );
|
428 |
+
|
429 |
+
if ( $nonce_verified ) {
|
430 |
+
do_action( 'edd_purchase_form_register_fields' );
|
431 |
+
}
|
432 |
+
|
433 |
edd_die();
|
434 |
}
|
435 |
add_action('wp_ajax_nopriv_checkout_register', 'edd_load_checkout_register_fields');
|
467 |
* @return void
|
468 |
*/
|
469 |
function edd_ajax_recalculate_taxes() {
|
470 |
+
if ( ! isset( $_POST['nonce'] ) ) {
|
471 |
+
edd_debug_log( __( 'Missing nonce when recalculating taxes. Please read the following for more information: https://easydigitaldownloads.com/development/2018/07/05/important-update-to-ajax-requests-in-easy-digital-downloads-2-9-4', 'easy-digital-downloads' ), true );
|
472 |
+
}
|
473 |
+
|
474 |
+
$nonce = isset( $_POST['nonce'] ) ? sanitize_text_field( $_POST['nonce'] ) : '';
|
475 |
+
$nonce_verified = wp_verify_nonce( $nonce, 'edd-checkout-address-fields' );
|
476 |
+
|
477 |
+
if ( false === $nonce_verified ) {
|
478 |
+
return false;
|
479 |
+
}
|
480 |
+
|
481 |
if ( ! edd_get_cart_contents() ) {
|
482 |
return false;
|
483 |
}
|
516 |
if( empty( $_POST['country'] ) ) {
|
517 |
$_POST['country'] = edd_get_shop_country();
|
518 |
}
|
|
|
519 |
|
520 |
+
if ( ! isset( $_POST['nonce'] ) ) {
|
521 |
+
edd_debug_log( __( 'Missing nonce when retrieving state list. Please read the following for more information: https://easydigitaldownloads.com/development/2018/07/05/important-update-to-ajax-requests-in-easy-digital-downloads-2-9-4', 'easy-digital-downloads' ), true );
|
522 |
+
}
|
523 |
|
524 |
+
$nonce = isset( $_POST['nonce'] ) ? sanitize_text_field( $_POST['nonce'] ) : '';
|
525 |
+
$nonce_verified = wp_verify_nonce( $nonce, 'edd-country-field-nonce' );
|
|
|
|
|
|
|
|
|
|
|
|
|
526 |
|
527 |
+
if ( false !== $nonce_verified ) {
|
528 |
+
$states = edd_get_shop_states( $_POST['country'] );
|
529 |
|
530 |
+
if( ! empty( $states ) ) {
|
531 |
|
532 |
+
$args = array(
|
533 |
+
'name' => $_POST['field_name'],
|
534 |
+
'id' => $_POST['field_name'],
|
535 |
+
'class' => $_POST['field_name'] . ' edd-select',
|
536 |
+
'options' => $states,
|
537 |
+
'show_option_all' => false,
|
538 |
+
'show_option_none' => false
|
539 |
+
);
|
540 |
|
541 |
+
$response = EDD()->html->select( $args );
|
542 |
+
|
543 |
+
} else {
|
544 |
+
|
545 |
+
$response = 'nostates';
|
546 |
+
}
|
547 |
+
|
548 |
+
echo $response;
|
549 |
+
}
|
550 |
|
551 |
edd_die();
|
552 |
}
|
includes/cart/actions.php
CHANGED
@@ -84,8 +84,8 @@ function edd_process_add_to_cart( $data ) {
|
|
84 |
$query_part = strpos( $query_args, "?" );
|
85 |
$url_parameters = '';
|
86 |
|
87 |
-
if ( false !== $query_part ) {
|
88 |
-
$url_parameters = substr( $query_args, $query_part );
|
89 |
}
|
90 |
|
91 |
wp_redirect( edd_get_checkout_uri() . $url_parameters, 303 );
|
@@ -105,7 +105,18 @@ add_action( 'edd_add_to_cart', 'edd_process_add_to_cart' );
|
|
105 |
*/
|
106 |
function edd_process_remove_from_cart( $data ) {
|
107 |
$cart_key = absint( $_GET['cart_item'] );
|
108 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
109 |
wp_redirect( remove_query_arg( array( 'edd_action', 'cart_item', 'nocache' ) ) ); edd_die();
|
110 |
}
|
111 |
add_action( 'edd_remove', 'edd_process_remove_from_cart' );
|
84 |
$query_part = strpos( $query_args, "?" );
|
85 |
$url_parameters = '';
|
86 |
|
87 |
+
if ( false !== $query_part ) {
|
88 |
+
$url_parameters = substr( $query_args, $query_part );
|
89 |
}
|
90 |
|
91 |
wp_redirect( edd_get_checkout_uri() . $url_parameters, 303 );
|
105 |
*/
|
106 |
function edd_process_remove_from_cart( $data ) {
|
107 |
$cart_key = absint( $_GET['cart_item'] );
|
108 |
+
|
109 |
+
if ( ! isset( $_GET['edd_remove_from_cart_nonce'] ) ) {
|
110 |
+
edd_debug_log( __( 'Missing nonce when removing an item from the cart. Please read the following for more information: https://easydigitaldownloads.com/development/2018/07/05/important-update-to-ajax-requests-in-easy-digital-downloads-2-9-4', 'easy-digital-downloads' ), true );
|
111 |
+
}
|
112 |
+
|
113 |
+
$nonce = ! empty( $_GET['edd_remove_from_cart_nonce'] ) ? sanitize_text_field( $_GET['edd_remove_from_cart_nonce'] ) : '';
|
114 |
+
|
115 |
+
$nonce_verified = wp_verify_nonce( $nonce, 'edd-remove-from-cart-' . $cart_key );
|
116 |
+
if ( false !== $nonce_verified ) {
|
117 |
+
edd_remove_from_cart( $cart_key );
|
118 |
+
}
|
119 |
+
|
120 |
wp_redirect( remove_query_arg( array( 'edd_action', 'cart_item', 'nocache' ) ) ); edd_die();
|
121 |
}
|
122 |
add_action( 'edd_remove', 'edd_process_remove_from_cart' );
|
includes/cart/class-edd-cart.php
CHANGED
@@ -198,7 +198,7 @@ class EDD_Cart {
|
|
198 |
|
199 |
do_action( 'edd_cart_contents_loaded' );
|
200 |
|
201 |
-
return $this->contents;
|
202 |
}
|
203 |
|
204 |
/**
|
@@ -358,7 +358,7 @@ class EDD_Cart {
|
|
358 |
* @return boolean
|
359 |
*/
|
360 |
public function is_empty() {
|
361 |
-
return 0 ===
|
362 |
}
|
363 |
|
364 |
/**
|
198 |
|
199 |
do_action( 'edd_cart_contents_loaded' );
|
200 |
|
201 |
+
return (array) $this->contents;
|
202 |
}
|
203 |
|
204 |
/**
|
358 |
* @return boolean
|
359 |
*/
|
360 |
public function is_empty() {
|
361 |
+
return 0 === count( (array) $this->get_contents() );
|
362 |
}
|
363 |
|
364 |
/**
|
includes/checkout/functions.php
CHANGED
@@ -19,7 +19,6 @@ if ( ! defined( 'ABSPATH' ) ) exit;
|
|
19 |
* @return bool True if on the Checkout page, false otherwise
|
20 |
*/
|
21 |
function edd_is_checkout() {
|
22 |
-
|
23 |
global $wp_query;
|
24 |
|
25 |
$is_object_set = isset( $wp_query->queried_object );
|
@@ -117,8 +116,18 @@ function edd_send_to_success_page( $query_string = null ) {
|
|
117 |
* @return mixed Full URL to the checkout page, if present | null if it doesn't exist
|
118 |
*/
|
119 |
function edd_get_checkout_uri( $args = array() ) {
|
120 |
-
$uri =
|
121 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
122 |
|
123 |
if ( ! empty( $args ) ) {
|
124 |
// Check for backward compatibility
|
19 |
* @return bool True if on the Checkout page, false otherwise
|
20 |
*/
|
21 |
function edd_is_checkout() {
|
|
|
22 |
global $wp_query;
|
23 |
|
24 |
$is_object_set = isset( $wp_query->queried_object );
|
116 |
* @return mixed Full URL to the checkout page, if present | null if it doesn't exist
|
117 |
*/
|
118 |
function edd_get_checkout_uri( $args = array() ) {
|
119 |
+
$uri = false;
|
120 |
+
|
121 |
+
if ( edd_is_checkout() ) {
|
122 |
+
global $post;
|
123 |
+
$uri = $post instanceof WP_Post ? get_permalink( $post->ID ) : NULL;
|
124 |
+
}
|
125 |
+
|
126 |
+
// If we are not on a checkout page, determine the URI from the default.
|
127 |
+
if ( empty( $uri ) ) {
|
128 |
+
$uri = edd_get_option( 'purchase_page', false );
|
129 |
+
$uri = isset( $uri ) ? get_permalink( $uri ) : NULL;
|
130 |
+
}
|
131 |
|
132 |
if ( ! empty( $args ) ) {
|
133 |
// Check for backward compatibility
|
includes/checkout/template.php
CHANGED
@@ -390,7 +390,7 @@ function edd_default_cc_address_fields() {
|
|
390 |
<?php } ?>
|
391 |
</label>
|
392 |
<span class="edd-description"><?php _e( 'The country for your billing address.', 'easy-digital-downloads' ); ?></span>
|
393 |
-
<select name="billing_country" id="billing_country" class="billing_country edd-select<?php if( edd_field_is_required( 'billing_country' ) ) { echo ' required'; } ?>"<?php if( edd_field_is_required( 'billing_country' ) ) { echo ' required '; } ?>>
|
394 |
<?php
|
395 |
|
396 |
$selected_country = edd_get_shop_country();
|
@@ -436,6 +436,7 @@ function edd_default_cc_address_fields() {
|
|
436 |
<?php endif; ?>
|
437 |
</p>
|
438 |
<?php do_action( 'edd_cc_billing_bottom' ); ?>
|
|
|
439 |
</fieldset>
|
440 |
<?php
|
441 |
echo ob_get_clean();
|
@@ -471,7 +472,12 @@ function edd_get_register_fields() {
|
|
471 |
<fieldset id="edd_register_fields">
|
472 |
|
473 |
<?php if( $show_register_form == 'both' ) { ?>
|
474 |
-
<p id="edd-login-account-wrap"
|
|
|
|
|
|
|
|
|
|
|
475 |
<?php } ?>
|
476 |
|
477 |
<?php do_action('edd_register_fields_before'); ?>
|
@@ -545,7 +551,7 @@ function edd_get_login_fields() {
|
|
545 |
<?php if( $show_register_form == 'both' ) { ?>
|
546 |
<p id="edd-new-account-wrap">
|
547 |
<?php _e( 'Need to create an account?', 'easy-digital-downloads' ); ?>
|
548 |
-
<a href="<?php echo esc_url( remove_query_arg('login') ); ?>" class="edd_checkout_register_login" data-action="checkout_register">
|
549 |
<?php _e( 'Register', 'easy-digital-downloads' ); if(!edd_no_guest_checkout()) { echo ' ' . __( 'or checkout as a guest.', 'easy-digital-downloads' ); } ?>
|
550 |
</a>
|
551 |
</p>
|
@@ -574,6 +580,7 @@ function edd_get_login_fields() {
|
|
574 |
</p>
|
575 |
<p id="edd-user-login-submit">
|
576 |
<input type="submit" class="edd-submit button <?php echo $color; ?>" name="edd_login_submit" value="<?php _e( 'Login', 'easy-digital-downloads' ); ?>"/>
|
|
|
577 |
</p>
|
578 |
<?php do_action('edd_checkout_login_fields_after'); ?>
|
579 |
</fieldset><!--end #edd_login_fields-->
|
@@ -614,9 +621,10 @@ function edd_payment_mode_select() {
|
|
614 |
$label = apply_filters( 'edd_gateway_checkout_label_' . $gateway_id, $gateway['checkout_label'] );
|
615 |
$checked = checked( $gateway_id, $chosen_gateway, false );
|
616 |
$checked_class = $checked ? ' edd-gateway-option-selected' : '';
|
|
|
617 |
|
618 |
echo '<label for="edd-gateway-' . esc_attr( $gateway_id ) . '" class="edd-gateway-option' . $checked_class . '" id="edd-gateway-option-' . esc_attr( $gateway_id ) . '">';
|
619 |
-
echo '<input type="radio" name="payment-mode" class="edd-gateway" id="edd-gateway-' . esc_attr( $gateway_id ) . '" value="' . esc_attr( $gateway_id ) . '"' . $checked . '>' . esc_html( $label );
|
620 |
echo '</label>';
|
621 |
|
622 |
endforeach;
|
@@ -1020,6 +1028,7 @@ function edd_checkout_hidden_fields() {
|
|
1020 |
<?php } ?>
|
1021 |
<input type="hidden" name="edd_action" value="purchase"/>
|
1022 |
<input type="hidden" name="edd-gateway" value="<?php echo edd_get_chosen_gateway(); ?>" />
|
|
|
1023 |
<?php
|
1024 |
}
|
1025 |
|
390 |
<?php } ?>
|
391 |
</label>
|
392 |
<span class="edd-description"><?php _e( 'The country for your billing address.', 'easy-digital-downloads' ); ?></span>
|
393 |
+
<select name="billing_country" id="billing_country" data-nonce="<?php echo wp_create_nonce( 'edd-country-field-nonce' ); ?>" class="billing_country edd-select<?php if( edd_field_is_required( 'billing_country' ) ) { echo ' required'; } ?>"<?php if( edd_field_is_required( 'billing_country' ) ) { echo ' required '; } ?>>
|
394 |
<?php
|
395 |
|
396 |
$selected_country = edd_get_shop_country();
|
436 |
<?php endif; ?>
|
437 |
</p>
|
438 |
<?php do_action( 'edd_cc_billing_bottom' ); ?>
|
439 |
+
<?php wp_nonce_field( 'edd-checkout-address-fields', 'edd-checkout-address-fields-nonce', false, true ); ?>
|
440 |
</fieldset>
|
441 |
<?php
|
442 |
echo ob_get_clean();
|
472 |
<fieldset id="edd_register_fields">
|
473 |
|
474 |
<?php if( $show_register_form == 'both' ) { ?>
|
475 |
+
<p id="edd-login-account-wrap">
|
476 |
+
<?php _e( 'Already have an account?', 'easy-digital-downloads' ); ?>
|
477 |
+
<a href="<?php echo esc_url( add_query_arg( 'login', 1 ) ); ?>" class="edd_checkout_register_login" data-action="checkout_login" data-nonce="<?php echo wp_create_nonce( 'edd_checkout_login' ); ?>">
|
478 |
+
<?php _e( 'Login', 'easy-digital-downloads' ); ?>
|
479 |
+
</a>
|
480 |
+
</p>
|
481 |
<?php } ?>
|
482 |
|
483 |
<?php do_action('edd_register_fields_before'); ?>
|
551 |
<?php if( $show_register_form == 'both' ) { ?>
|
552 |
<p id="edd-new-account-wrap">
|
553 |
<?php _e( 'Need to create an account?', 'easy-digital-downloads' ); ?>
|
554 |
+
<a href="<?php echo esc_url( remove_query_arg('login') ); ?>" class="edd_checkout_register_login" data-action="checkout_register" data-nonce="<?php echo wp_create_nonce( 'edd_checkout_register' ); ?>">
|
555 |
<?php _e( 'Register', 'easy-digital-downloads' ); if(!edd_no_guest_checkout()) { echo ' ' . __( 'or checkout as a guest.', 'easy-digital-downloads' ); } ?>
|
556 |
</a>
|
557 |
</p>
|
580 |
</p>
|
581 |
<p id="edd-user-login-submit">
|
582 |
<input type="submit" class="edd-submit button <?php echo $color; ?>" name="edd_login_submit" value="<?php _e( 'Login', 'easy-digital-downloads' ); ?>"/>
|
583 |
+
<?php wp_nonce_field( 'edd-login-form', 'edd_login_nonce', false, true ); ?>
|
584 |
</p>
|
585 |
<?php do_action('edd_checkout_login_fields_after'); ?>
|
586 |
</fieldset><!--end #edd_login_fields-->
|
621 |
$label = apply_filters( 'edd_gateway_checkout_label_' . $gateway_id, $gateway['checkout_label'] );
|
622 |
$checked = checked( $gateway_id, $chosen_gateway, false );
|
623 |
$checked_class = $checked ? ' edd-gateway-option-selected' : '';
|
624 |
+
$nonce = ' data-' . esc_attr( $gateway_id ) . '-nonce="' . wp_create_nonce( 'edd-gateway-selected-' . esc_attr( $gateway_id ) ) .'"';
|
625 |
|
626 |
echo '<label for="edd-gateway-' . esc_attr( $gateway_id ) . '" class="edd-gateway-option' . $checked_class . '" id="edd-gateway-option-' . esc_attr( $gateway_id ) . '">';
|
627 |
+
echo '<input type="radio" name="payment-mode" class="edd-gateway" id="edd-gateway-' . esc_attr( $gateway_id ) . '" value="' . esc_attr( $gateway_id ) . '"' . $checked . $nonce . '>' . esc_html( $label );
|
628 |
echo '</label>';
|
629 |
|
630 |
endforeach;
|
1028 |
<?php } ?>
|
1029 |
<input type="hidden" name="edd_action" value="purchase"/>
|
1030 |
<input type="hidden" name="edd-gateway" value="<?php echo edd_get_chosen_gateway(); ?>" />
|
1031 |
+
<?php wp_nonce_field( 'edd-process-checkout', 'edd-process-checkout-nonce', false, true ); ?>
|
1032 |
<?php
|
1033 |
}
|
1034 |
|
includes/class-edd-cli.php
CHANGED
@@ -659,7 +659,7 @@ class EDD_CLI extends WP_CLI_Command {
|
|
659 |
'price' => edd_sanitize_amount( $item_price ),
|
660 |
'quantity' => 1,
|
661 |
'discount' => 0,
|
662 |
-
'tax' => $
|
663 |
);
|
664 |
|
665 |
$final_downloads[$key] = $item_number;
|
@@ -705,7 +705,7 @@ class EDD_CLI extends WP_CLI_Command {
|
|
705 |
|
706 |
$purchase_data = array(
|
707 |
'price' => edd_sanitize_amount( $total ),
|
708 |
-
'tax' =>
|
709 |
'purchase_key' => strtolower( md5( uniqid() ) ),
|
710 |
'user_email' => $email,
|
711 |
'user_info' => $user_info,
|
659 |
'price' => edd_sanitize_amount( $item_price ),
|
660 |
'quantity' => 1,
|
661 |
'discount' => 0,
|
662 |
+
'tax' => edd_calculate_tax( $item_price ),
|
663 |
);
|
664 |
|
665 |
$final_downloads[$key] = $item_number;
|
705 |
|
706 |
$purchase_data = array(
|
707 |
'price' => edd_sanitize_amount( $total ),
|
708 |
+
'tax' => edd_calculate_tax( $total ),
|
709 |
'purchase_key' => strtolower( md5( uniqid() ) ),
|
710 |
'user_email' => $email,
|
711 |
'user_info' => $user_info,
|
includes/class-edd-logging.php
CHANGED
@@ -514,15 +514,16 @@ function edd_record_log( $title = '', $message = '', $parent = 0, $type = null )
|
|
514 |
* Logs a message to the debug log file
|
515 |
*
|
516 |
* @since 2.8.7
|
|
|
517 |
*
|
518 |
* @param string $message
|
519 |
* @global $edd_logs EDD Logs Object
|
520 |
* @return void
|
521 |
*/
|
522 |
-
function edd_debug_log( $message = '' ) {
|
523 |
global $edd_logs;
|
524 |
|
525 |
-
if( edd_is_debug_mode() ) {
|
526 |
|
527 |
$edd_logs->log_to_file( $message );
|
528 |
|
514 |
* Logs a message to the debug log file
|
515 |
*
|
516 |
* @since 2.8.7
|
517 |
+
* @since 2.9.4 Added the 'force' option.
|
518 |
*
|
519 |
* @param string $message
|
520 |
* @global $edd_logs EDD Logs Object
|
521 |
* @return void
|
522 |
*/
|
523 |
+
function edd_debug_log( $message = '', $force = false ) {
|
524 |
global $edd_logs;
|
525 |
|
526 |
+
if ( edd_is_debug_mode() || $force ) {
|
527 |
|
528 |
$edd_logs->log_to_file( $message );
|
529 |
|
includes/class-edd-session.php
CHANGED
@@ -354,11 +354,6 @@ class EDD_Session {
|
|
354 |
$start_session = false;
|
355 |
}
|
356 |
|
357 |
-
if( is_admin() && false === strpos( $uri, 'wp-admin/admin-ajax.php' ) ) {
|
358 |
-
// We do not want to start sessions in the admin unless we're processing an ajax request
|
359 |
-
$start_session = false;
|
360 |
-
}
|
361 |
-
|
362 |
if( false !== strpos( $uri, 'wp_scrape_key' ) ) {
|
363 |
// Starting sessions while saving the file editor can break the save process, so don't start
|
364 |
$start_session = false;
|
354 |
$start_session = false;
|
355 |
}
|
356 |
|
|
|
|
|
|
|
|
|
|
|
357 |
if( false !== strpos( $uri, 'wp_scrape_key' ) ) {
|
358 |
// Starting sessions while saving the file editor can break the save process, so don't start
|
359 |
$start_session = false;
|
includes/emails/class-edd-email-tags.php
CHANGED
@@ -34,7 +34,7 @@ class EDD_Email_Template_Tags {
|
|
34 |
*
|
35 |
* @since 1.9
|
36 |
*/
|
37 |
-
private $tags;
|
38 |
|
39 |
/**
|
40 |
* Payment ID
|
@@ -205,7 +205,7 @@ function edd_get_emails_tags_list() {
|
|
205 |
$list = '';
|
206 |
|
207 |
// Get all tags
|
208 |
-
$email_tags = edd_get_email_tags();
|
209 |
|
210 |
// Check
|
211 |
if ( count( $email_tags ) > 0 ) {
|
34 |
*
|
35 |
* @since 1.9
|
36 |
*/
|
37 |
+
private $tags = array();
|
38 |
|
39 |
/**
|
40 |
* Payment ID
|
205 |
$list = '';
|
206 |
|
207 |
// Get all tags
|
208 |
+
$email_tags = (array) edd_get_email_tags();
|
209 |
|
210 |
// Check
|
211 |
if ( count( $email_tags ) > 0 ) {
|
includes/gateways/actions.php
CHANGED
@@ -33,8 +33,20 @@ add_action( 'edd_gateway_select', 'edd_process_gateway_select' );
|
|
33 |
* @return void
|
34 |
*/
|
35 |
function edd_load_ajax_gateway() {
|
36 |
-
if ( isset( $_POST['
|
37 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
38 |
exit();
|
39 |
}
|
40 |
}
|
33 |
* @return void
|
34 |
*/
|
35 |
function edd_load_ajax_gateway() {
|
36 |
+
if ( ! isset( $_POST['nonce'] ) ) {
|
37 |
+
edd_debug_log( __( 'Missing nonce when loading the gateway fields. Please read the following for more information: https://easydigitaldownloads.com/development/2018/07/05/important-update-to-ajax-requests-in-easy-digital-downloads-2-9-4', 'easy-digital-downloads' ), true );
|
38 |
+
}
|
39 |
+
|
40 |
+
if ( isset( $_POST['edd_payment_mode'] ) && isset( $_POST['nonce'] ) ) {
|
41 |
+
$payment_mode = sanitize_text_field( $_POST['edd_payment_mode'] );
|
42 |
+
$nonce = sanitize_text_field( $_POST['nonce'] );
|
43 |
+
|
44 |
+
$nonce_verified = wp_verify_nonce( $nonce, 'edd-gateway-selected-' . $payment_mode );
|
45 |
+
|
46 |
+
if ( false !== $nonce_verified ) {
|
47 |
+
do_action( 'edd_purchase_form' );
|
48 |
+
}
|
49 |
+
|
50 |
exit();
|
51 |
}
|
52 |
}
|
includes/gateways/paypal-standard.php
CHANGED
@@ -334,10 +334,22 @@ add_action( 'edd_gateway_paypal', 'edd_process_paypal_purchase' );
|
|
334 |
*/
|
335 |
function edd_listen_for_paypal_ipn() {
|
336 |
// Regular PayPal IPN
|
337 |
-
if ( isset( $_GET['edd-listener'] ) && $_GET['edd-listener']
|
338 |
|
339 |
edd_debug_log( 'PayPal IPN endpoint loaded' );
|
340 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
341 |
do_action( 'edd_verify_paypal_ipn' );
|
342 |
}
|
343 |
}
|
334 |
*/
|
335 |
function edd_listen_for_paypal_ipn() {
|
336 |
// Regular PayPal IPN
|
337 |
+
if ( isset( $_GET['edd-listener'] ) && 'ipn' === strtolower( $_GET['edd-listener'] ) ) {
|
338 |
|
339 |
edd_debug_log( 'PayPal IPN endpoint loaded' );
|
340 |
|
341 |
+
/**
|
342 |
+
* This is necessary to delay execution of PayPal PDT and to avoid a race condition causing the order status
|
343 |
+
* updates to be triggered twice.
|
344 |
+
*
|
345 |
+
* @since 2.9.4
|
346 |
+
* @see https://github.com/easydigitaldownloads/easy-digital-downloads/issues/6605
|
347 |
+
*/
|
348 |
+
$token = edd_get_option( 'paypal_identity_token' );
|
349 |
+
if ( $token ) {
|
350 |
+
sleep( 5 );
|
351 |
+
}
|
352 |
+
|
353 |
do_action( 'edd_verify_paypal_ipn' );
|
354 |
}
|
355 |
}
|
includes/payments/class-edd-payment.php
CHANGED
@@ -1402,6 +1402,11 @@ class EDD_Payment {
|
|
1402 |
|
1403 |
$merged_item = array_merge( $current_args, $args );
|
1404 |
|
|
|
|
|
|
|
|
|
|
|
1405 |
// Sort the current and new args, and checksum them. If no changes. No need to fire a modification.
|
1406 |
ksort( $current_args );
|
1407 |
ksort( $merged_item );
|
@@ -1410,11 +1415,6 @@ class EDD_Payment {
|
|
1410 |
return false;
|
1411 |
}
|
1412 |
|
1413 |
-
// Format the item_price correctly now
|
1414 |
-
$merged_item['item_price'] = edd_sanitize_amount( $merged_item['item_price'] );
|
1415 |
-
|
1416 |
-
$new_subtotal = floatval( $merged_item['item_price'] ) * $merged_item['quantity'];
|
1417 |
-
$merged_item['price'] = $new_subtotal + $merged_item['tax'];
|
1418 |
$this->cart_details[ $cart_index ] = $merged_item;
|
1419 |
$modified_download = $merged_item;
|
1420 |
$modified_download['action'] = 'modify';
|
1402 |
|
1403 |
$merged_item = array_merge( $current_args, $args );
|
1404 |
|
1405 |
+
// Format the item_price correctly now
|
1406 |
+
$merged_item['item_price'] = edd_sanitize_amount( $merged_item['item_price'] );
|
1407 |
+
$new_subtotal = floatval( $merged_item['item_price'] ) * $merged_item['quantity'];
|
1408 |
+
$merged_item['price'] = edd_prices_include_tax() ? $new_subtotal : $new_subtotal + $merged_item['tax'];
|
1409 |
+
|
1410 |
// Sort the current and new args, and checksum them. If no changes. No need to fire a modification.
|
1411 |
ksort( $current_args );
|
1412 |
ksort( $merged_item );
|
1415 |
return false;
|
1416 |
}
|
1417 |
|
|
|
|
|
|
|
|
|
|
|
1418 |
$this->cart_details[ $cart_index ] = $merged_item;
|
1419 |
$modified_download = $merged_item;
|
1420 |
$modified_download['action'] = 'modify';
|
includes/process-purchase.php
CHANGED
@@ -39,6 +39,19 @@ function edd_process_purchase_form() {
|
|
39 |
|
40 |
$is_ajax = isset( $_POST['edd_ajax'] );
|
41 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
42 |
// Process the login form
|
43 |
if ( isset( $_POST['edd_login_submit'] ) ) {
|
44 |
edd_process_purchase_login();
|
@@ -216,6 +229,23 @@ function edd_process_purchase_login() {
|
|
216 |
|
217 |
$is_ajax = isset( $_POST['edd_ajax'] );
|
218 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
219 |
$user_data = edd_purchase_form_validate_user_login();
|
220 |
|
221 |
if ( edd_get_errors() || $user_data['user_id'] < 1 ) {
|
@@ -577,6 +607,15 @@ function edd_purchase_form_validate_new_user() {
|
|
577 |
} else {
|
578 |
if ( edd_no_guest_checkout() ) {
|
579 |
edd_set_error( 'registration_required', __( 'You must register or login to complete your purchase', 'easy-digital-downloads' ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
580 |
}
|
581 |
}
|
582 |
|
@@ -728,6 +767,14 @@ function edd_purchase_form_validate_guest_user() {
|
|
728 |
} else {
|
729 |
// All is good to go
|
730 |
$valid_user_data['user_email'] = $guest_email;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
731 |
}
|
732 |
} else {
|
733 |
// No email
|
39 |
|
40 |
$is_ajax = isset( $_POST['edd_ajax'] );
|
41 |
|
42 |
+
if ( $is_ajax ) {
|
43 |
+
if ( ! isset( $_POST['edd-process-checkout-nonce'] ) ) {
|
44 |
+
edd_debug_log( __( 'Missing nonce when processing checkout. Please read the following for more information: https://easydigitaldownloads.com/development/2018/07/05/important-update-to-ajax-requests-in-easy-digital-downloads-2-9-4', 'easy-digital-downloads' ), true );
|
45 |
+
}
|
46 |
+
|
47 |
+
$nonce = isset( $_POST['edd-process-checkout-nonce'] ) ? sanitize_text_field( $_POST['edd-process-checkout-nonce'] ) : '';
|
48 |
+
$nonce_verified = wp_verify_nonce( $nonce, 'edd-process-checkout' );
|
49 |
+
|
50 |
+
if ( false === $nonce_verified ) {
|
51 |
+
edd_set_error( 'checkout-nonce-error', __( 'Error processing purchase. Please reload the page and try again.', 'easy-digital-downloads' ) );
|
52 |
+
}
|
53 |
+
}
|
54 |
+
|
55 |
// Process the login form
|
56 |
if ( isset( $_POST['edd_login_submit'] ) ) {
|
57 |
edd_process_purchase_login();
|
229 |
|
230 |
$is_ajax = isset( $_POST['edd_ajax'] );
|
231 |
|
232 |
+
if ( ! isset( $_POST['edd_login_nonce'] ) ) {
|
233 |
+
edd_debug_log( __( 'Missing nonce when processing login during checkout. Please read the following for more information: https://easydigitaldownloads.com/development/2018/07/05/important-update-to-ajax-requests-in-easy-digital-downloads-2-9-4', 'easy-digital-downloads' ), true );
|
234 |
+
}
|
235 |
+
|
236 |
+
$nonce = isset( $_POST['edd_login_nonce'] ) ? sanitize_text_field( $_POST['edd_login_nonce'] ) : '';
|
237 |
+
$nonce_verified = wp_verify_nonce( $nonce, 'edd-login-form' );
|
238 |
+
if ( false === $nonce_verified ) {
|
239 |
+
edd_set_error( 'edd-login-nonce-failed', __( 'Error processing login. Nonce failed.', 'easy-digital-downloads' ) );
|
240 |
+
|
241 |
+
if ( $is_ajax ) {
|
242 |
+
do_action( 'edd_ajax_checkout_errors' );
|
243 |
+
edd_die();
|
244 |
+
} else {
|
245 |
+
wp_redirect( $_SERVER['HTTP_REFERER'] ); exit;
|
246 |
+
}
|
247 |
+
}
|
248 |
+
|
249 |
$user_data = edd_purchase_form_validate_user_login();
|
250 |
|
251 |
if ( edd_get_errors() || $user_data['user_id'] < 1 ) {
|
607 |
} else {
|
608 |
if ( edd_no_guest_checkout() ) {
|
609 |
edd_set_error( 'registration_required', __( 'You must register or login to complete your purchase', 'easy-digital-downloads' ) );
|
610 |
+
} else {
|
611 |
+
// If the entered email is attached to a user account, they must log in. Otherwise you can add purchases/CC to an account you do not own.
|
612 |
+
$user = get_user_by( 'email', $user_email );
|
613 |
+
|
614 |
+
if ( $user ) {
|
615 |
+
edd_set_error( 'login_required', __( 'You must login to complete your purchase', 'easy-digital-downloads' ) );
|
616 |
+
} else {
|
617 |
+
edd_set_error( 'registration_required', __( 'You must register or login to complete your purchase', 'easy-digital-downloads' ) );
|
618 |
+
}
|
619 |
}
|
620 |
}
|
621 |
|
767 |
} else {
|
768 |
// All is good to go
|
769 |
$valid_user_data['user_email'] = $guest_email;
|
770 |
+
|
771 |
+
// We have a valid email, but if that email is attached to a user account, they must log in. Otherwise you can add purchases/CC to an account you do not own.
|
772 |
+
$user = get_user_by( 'email', $guest_email );
|
773 |
+
|
774 |
+
if ( $user ) {
|
775 |
+
edd_set_error( 'login_required', __( 'You must login to complete your purchase', 'easy-digital-downloads' ) );
|
776 |
+
}
|
777 |
+
|
778 |
}
|
779 |
} else {
|
780 |
// No email
|
includes/template-functions.php
CHANGED
@@ -184,7 +184,7 @@ function edd_get_purchase_link( $args = array() ) {
|
|
184 |
|
185 |
if ( ! edd_is_ajax_disabled() ) {
|
186 |
|
187 |
-
echo '<a href="#" class="edd-add-to-cart ' . esc_attr( $class ) . '" data-action="edd_add_to_cart" data-download-id="' . esc_attr( $download->ID ) . '" ' . $data_variable . ' ' . $type . ' ' . $data_price . ' ' . $button_display . '><span class="edd-add-to-cart-label">' . $args['text'] . '</span> <span class="edd-loading" aria-label="' . esc_attr__( 'Loading', 'easy-digital-downloads' ) . '"></span></a>';
|
188 |
|
189 |
}
|
190 |
|
184 |
|
185 |
if ( ! edd_is_ajax_disabled() ) {
|
186 |
|
187 |
+
echo '<a href="#" class="edd-add-to-cart ' . esc_attr( $class ) . '" data-nonce="' . wp_create_nonce( 'edd-add-to-cart-' . $download->ID ) . '" data-action="edd_add_to_cart" data-download-id="' . esc_attr( $download->ID ) . '" ' . $data_variable . ' ' . $type . ' ' . $data_price . ' ' . $button_display . '><span class="edd-add-to-cart-label">' . $args['text'] . '</span> <span class="edd-loading" aria-label="' . esc_attr__( 'Loading', 'easy-digital-downloads' ) . '"></span></a>';
|
188 |
|
189 |
}
|
190 |
|
includes/user-functions.php
CHANGED
@@ -483,6 +483,10 @@ function edd_add_past_purchases_to_new_user( $user_id ) {
|
|
483 |
|
484 |
$email = get_the_author_meta( 'user_email', $user_id );
|
485 |
|
|
|
|
|
|
|
|
|
486 |
$payments = edd_get_payments( array( 's' => $email, 'output' => 'payments' ) );
|
487 |
|
488 |
if( $payments ) {
|
483 |
|
484 |
$email = get_the_author_meta( 'user_email', $user_id );
|
485 |
|
486 |
+
if ( empty( $email ) ) {
|
487 |
+
return;
|
488 |
+
}
|
489 |
+
|
490 |
$payments = edd_get_payments( array( 's' => $email, 'output' => 'payments' ) );
|
491 |
|
492 |
if( $payments ) {
|
languages/easy-digital-downloads.pot
CHANGED
@@ -2,9 +2,9 @@
|
|
2 |
# This file is distributed under the same license as the Easy Digital Downloads package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: Easy Digital Downloads 2.9.
|
6 |
"Report-Msgid-Bugs-To: https://easydigitaldownloads.com/\n"
|
7 |
-
"POT-Creation-Date: 2018-
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=utf-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
@@ -59,11 +59,11 @@ msgstr ""
|
|
59 |
#: includes/admin/import/class-batch-import-payments.php:76
|
60 |
#: includes/admin/import/class-batch-import.php:156
|
61 |
#: includes/admin/payments/actions.php:25
|
62 |
-
#: includes/admin/payments/actions.php:
|
63 |
-
#: includes/admin/payments/actions.php:
|
64 |
-
#: includes/admin/payments/actions.php:
|
65 |
-
#: includes/admin/payments/actions.php:
|
66 |
-
#: includes/admin/payments/actions.php:
|
67 |
#: includes/admin/payments/view-order-details.php:22
|
68 |
#: includes/admin/payments/view-order-details.php:32
|
69 |
#: includes/admin/reporting/class-api-requests-logs-list-table.php:142
|
@@ -98,8 +98,8 @@ msgstr ""
|
|
98 |
#: includes/error-tracking.php:40 includes/gateways/functions.php:221
|
99 |
#: includes/gateways/manual.php:33 includes/gateways/paypal-standard.php:168
|
100 |
#: includes/process-download.php:293 includes/process-download.php:881
|
101 |
-
#: includes/query-filters.php:48 includes/user-functions.php:
|
102 |
-
#: includes/user-functions.php:
|
103 |
msgid "Error"
|
104 |
msgstr ""
|
105 |
|
@@ -196,7 +196,7 @@ msgstr ""
|
|
196 |
|
197 |
#: includes/admin/admin-pages.php:43 includes/admin/plugins.php:57
|
198 |
#: includes/admin/settings/contextual-help.php:87
|
199 |
-
#: includes/admin/settings/register-settings.php:
|
200 |
msgid "Extensions"
|
201 |
msgstr ""
|
202 |
|
@@ -226,7 +226,7 @@ msgid "Revoke"
|
|
226 |
msgstr ""
|
227 |
|
228 |
#: includes/admin/class-api-keys-table.php:170
|
229 |
-
#: includes/checkout/template.php:
|
230 |
#: templates/shortcode-register.php:20
|
231 |
msgid "Username"
|
232 |
msgstr ""
|
@@ -515,7 +515,7 @@ msgid "An error has occured. Please try again."
|
|
515 |
msgstr ""
|
516 |
|
517 |
#: includes/admin/customers/customer-actions.php:207
|
518 |
-
#: includes/user-functions.php:
|
519 |
msgid "Nonce verification failed."
|
520 |
msgstr ""
|
521 |
|
@@ -639,7 +639,7 @@ msgid "City"
|
|
639 |
msgstr ""
|
640 |
|
641 |
#: includes/admin/customers/customers.php:269
|
642 |
-
#: includes/admin/settings/register-settings.php:
|
643 |
#: includes/admin/tools.php:695 includes/checkout/template.php:435
|
644 |
#: templates/shortcode-profile-editor.php:171
|
645 |
msgid "State / Province"
|
@@ -744,7 +744,7 @@ msgstr ""
|
|
744 |
#: includes/admin/downloads/metabox.php:698
|
745 |
#: includes/admin/downloads/metabox.php:823
|
746 |
#: includes/admin/payments/view-order-details.php:490
|
747 |
-
#: includes/admin/settings/register-settings.php:
|
748 |
#: templates/checkout_cart.php:57 templates/checkout_cart.php:75
|
749 |
#: templates/shortcode-profile-editor.php:123
|
750 |
msgid "Remove"
|
@@ -1253,13 +1253,13 @@ msgstr ""
|
|
1253 |
|
1254 |
#: includes/admin/discounts/contextual-help.php:38
|
1255 |
#: includes/admin/settings/contextual-help.php:42
|
1256 |
-
#: includes/admin/settings/register-settings.php:
|
1257 |
-
#: includes/admin/settings/register-settings.php:1377
|
1258 |
-
#: includes/admin/settings/register-settings.php:1382
|
1259 |
#: includes/admin/settings/register-settings.php:1386
|
1260 |
#: includes/admin/settings/register-settings.php:1391
|
1261 |
-
#: includes/admin/settings/register-settings.php:
|
1262 |
-
#: includes/admin/settings/register-settings.php:
|
|
|
|
|
1263 |
#: includes/admin/tools.php:68
|
1264 |
msgid "General"
|
1265 |
msgstr ""
|
@@ -1765,7 +1765,7 @@ msgstr ""
|
|
1765 |
|
1766 |
#: includes/admin/downloads/metabox.php:1031
|
1767 |
#: includes/admin/settings/register-settings.php:744
|
1768 |
-
#: includes/admin/thickbox.php:59 includes/checkout/template.php:
|
1769 |
#: includes/shortcodes.php:49 includes/template-functions.php:78
|
1770 |
msgid "Purchase"
|
1771 |
msgstr ""
|
@@ -1776,8 +1776,8 @@ msgstr ""
|
|
1776 |
|
1777 |
#: includes/admin/downloads/metabox.php:1039
|
1778 |
msgid ""
|
1779 |
-
"<strong>
|
1780 |
-
"link for this product in the location of your choosing."
|
1781 |
msgstr ""
|
1782 |
|
1783 |
#: includes/admin/downloads/metabox.php:1060
|
@@ -1910,10 +1910,10 @@ msgid "Import complete! <a href=\"%s\">View imported %s</a>."
|
|
1910 |
msgstr ""
|
1911 |
|
1912 |
#: includes/admin/payments/actions.php:25
|
1913 |
-
#: includes/admin/payments/actions.php:
|
1914 |
-
#: includes/admin/payments/actions.php:
|
1915 |
-
#: includes/admin/payments/actions.php:
|
1916 |
-
#: includes/admin/payments/actions.php:
|
1917 |
msgid "You do not have permission to edit this payment record"
|
1918 |
msgstr ""
|
1919 |
|
@@ -1925,7 +1925,13 @@ msgstr ""
|
|
1925 |
msgid "Error creating new customer"
|
1926 |
msgstr ""
|
1927 |
|
1928 |
-
#: includes/admin/payments/actions.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
1929 |
msgid "Error Updating Payment"
|
1930 |
msgstr ""
|
1931 |
|
@@ -2605,7 +2611,7 @@ msgstr ""
|
|
2605 |
|
2606 |
#: includes/admin/reporting/class-export-payments.php:68
|
2607 |
#: includes/admin/reporting/export/class-batch-export-payments.php:49
|
2608 |
-
#: includes/admin/settings/register-settings.php:
|
2609 |
#: includes/admin/tools.php:713 templates/shortcode-profile-editor.php:162
|
2610 |
msgid "Country"
|
2611 |
msgstr ""
|
@@ -2870,7 +2876,7 @@ msgstr ""
|
|
2870 |
|
2871 |
#: includes/admin/reporting/export/class-batch-export-payments.php:62
|
2872 |
#: includes/admin/settings/register-settings.php:352
|
2873 |
-
#: includes/admin/settings/register-settings.php:
|
2874 |
msgid "Currency"
|
2875 |
msgstr ""
|
2876 |
|
@@ -3002,7 +3008,7 @@ msgid "Refresh Reports"
|
|
3002 |
msgstr ""
|
3003 |
|
3004 |
#: includes/admin/reporting/logs.php:144
|
3005 |
-
#: includes/admin/settings/register-settings.php:
|
3006 |
#: includes/privacy-functions.php:544
|
3007 |
msgid "File Downloads"
|
3008 |
msgstr ""
|
@@ -3033,7 +3039,7 @@ msgstr ""
|
|
3033 |
|
3034 |
#: includes/admin/reporting/reports.php:59
|
3035 |
#: includes/admin/settings/contextual-help.php:71
|
3036 |
-
#: includes/admin/settings/register-settings.php:
|
3037 |
msgid "Taxes"
|
3038 |
msgstr ""
|
3039 |
|
@@ -3180,7 +3186,7 @@ msgstr ""
|
|
3180 |
|
3181 |
#: includes/admin/settings/contextual-help.php:48
|
3182 |
#: includes/admin/settings/register-settings.php:420
|
3183 |
-
#: includes/admin/settings/register-settings.php:
|
3184 |
msgid "Payment Gateways"
|
3185 |
msgstr ""
|
3186 |
|
@@ -3209,7 +3215,7 @@ msgid ""
|
|
3209 |
msgstr ""
|
3210 |
|
3211 |
#: includes/admin/settings/contextual-help.php:57
|
3212 |
-
#: includes/admin/settings/register-settings.php:
|
3213 |
msgid "Emails"
|
3214 |
msgstr ""
|
3215 |
|
@@ -3229,7 +3235,7 @@ msgid ""
|
|
3229 |
msgstr ""
|
3230 |
|
3231 |
#: includes/admin/settings/contextual-help.php:65
|
3232 |
-
#: includes/admin/settings/register-settings.php:
|
3233 |
msgid "Styles"
|
3234 |
msgstr ""
|
3235 |
|
@@ -3312,7 +3318,7 @@ msgid ""
|
|
3312 |
msgstr ""
|
3313 |
|
3314 |
#: includes/admin/settings/contextual-help.php:93
|
3315 |
-
#: includes/admin/settings/register-settings.php:
|
3316 |
msgid "Miscellaneous"
|
3317 |
msgstr ""
|
3318 |
|
@@ -3489,7 +3495,7 @@ msgid "The symbol (usually , or .) to separate decimal points."
|
|
3489 |
msgstr ""
|
3490 |
|
3491 |
#: includes/admin/settings/register-settings.php:388
|
3492 |
-
#: includes/admin/settings/register-settings.php:
|
3493 |
msgid "API"
|
3494 |
msgstr ""
|
3495 |
|
@@ -3992,7 +3998,7 @@ msgid "The button label for completing a free purchase."
|
|
3992 |
msgstr ""
|
3993 |
|
3994 |
#: includes/admin/settings/register-settings.php:751
|
3995 |
-
#: includes/checkout/template.php:
|
3996 |
msgid "Free Download"
|
3997 |
msgstr ""
|
3998 |
|
@@ -4251,186 +4257,186 @@ msgstr ""
|
|
4251 |
msgid "Settings updated."
|
4252 |
msgstr ""
|
4253 |
|
4254 |
-
#: includes/admin/settings/register-settings.php:
|
4255 |
msgid "Error setting default gateway. No gateways are enabled."
|
4256 |
msgstr ""
|
4257 |
|
4258 |
-
#: includes/admin/settings/register-settings.php:
|
4259 |
msgid "%s could not be set as the default gateway. It must first be enabled."
|
4260 |
msgstr ""
|
4261 |
|
4262 |
-
#: includes/admin/settings/register-settings.php:
|
4263 |
msgid "Privacy"
|
4264 |
msgstr ""
|
4265 |
|
4266 |
-
#: includes/admin/settings/register-settings.php:
|
4267 |
msgid "Licenses"
|
4268 |
msgstr ""
|
4269 |
|
4270 |
-
#: includes/admin/settings/register-settings.php:
|
4271 |
msgid "Misc"
|
4272 |
msgstr ""
|
4273 |
|
4274 |
-
#: includes/admin/settings/register-settings.php:
|
4275 |
#: includes/gateways/functions.php:25 includes/gateways/paypal-standard.php:33
|
4276 |
msgid "PayPal Standard"
|
4277 |
msgstr ""
|
4278 |
|
4279 |
-
#: includes/admin/settings/register-settings.php:
|
4280 |
msgid "Purchase Receipts"
|
4281 |
msgstr ""
|
4282 |
|
4283 |
-
#: includes/admin/settings/register-settings.php:
|
4284 |
msgid "New Sale Notifications"
|
4285 |
msgstr ""
|
4286 |
|
4287 |
-
#: includes/admin/settings/register-settings.php:
|
4288 |
msgid "Main"
|
4289 |
msgstr ""
|
4290 |
|
4291 |
-
#: includes/admin/settings/register-settings.php:
|
4292 |
#: templates/widget-cart-checkout.php:6 templates/widget-cart-empty.php:7
|
4293 |
msgid "Checkout"
|
4294 |
msgstr ""
|
4295 |
|
4296 |
-
#: includes/admin/settings/register-settings.php:
|
4297 |
msgid "Button Text"
|
4298 |
msgstr ""
|
4299 |
|
4300 |
-
#: includes/admin/settings/register-settings.php:
|
4301 |
msgid "Accounting"
|
4302 |
msgstr ""
|
4303 |
|
4304 |
-
#: includes/admin/settings/register-settings.php:
|
4305 |
msgid "Terms of Agreement"
|
4306 |
msgstr ""
|
4307 |
|
4308 |
-
#: includes/admin/settings/register-settings.php:
|
4309 |
msgid "Export & Erase"
|
4310 |
msgstr ""
|
4311 |
|
4312 |
-
#: includes/admin/settings/register-settings.php:
|
4313 |
msgid ""
|
4314 |
"Don't see what you need? More Payment Gateway options are available <a "
|
4315 |
"href=\"%s\">here</a>."
|
4316 |
msgstr ""
|
4317 |
|
4318 |
-
#: includes/admin/settings/register-settings.php:
|
4319 |
msgid "The callback function used for the %s setting is missing."
|
4320 |
msgstr ""
|
4321 |
|
4322 |
-
#: includes/admin/settings/register-settings.php:
|
4323 |
msgid "Upload File"
|
4324 |
msgstr ""
|
4325 |
|
4326 |
-
#: includes/admin/settings/register-settings.php:
|
4327 |
msgid "Country Wide"
|
4328 |
msgstr ""
|
4329 |
|
4330 |
-
#: includes/admin/settings/register-settings.php:
|
4331 |
msgid "Rate"
|
4332 |
msgstr ""
|
4333 |
|
4334 |
-
#: includes/admin/settings/register-settings.php:
|
4335 |
msgid ""
|
4336 |
"<strong>Regional tax rates: </strong>When a customer enters an address on "
|
4337 |
"checkout that matches the specified region for this tax rate, the cart tax "
|
4338 |
"will adjust automatically. Enter a percentage, such as 6.5 for 6.5%."
|
4339 |
msgstr ""
|
4340 |
|
4341 |
-
#: includes/admin/settings/register-settings.php:
|
4342 |
-
#: includes/admin/settings/register-settings.php:
|
4343 |
msgid "Choose a country"
|
4344 |
msgstr ""
|
4345 |
|
4346 |
-
#: includes/admin/settings/register-settings.php:
|
4347 |
msgid "Choose a state"
|
4348 |
msgstr ""
|
4349 |
|
4350 |
-
#: includes/admin/settings/register-settings.php:
|
4351 |
-
#: includes/admin/settings/register-settings.php:
|
4352 |
msgid "Apply to whole country"
|
4353 |
msgstr ""
|
4354 |
|
4355 |
-
#: includes/admin/settings/register-settings.php:
|
4356 |
-
#: includes/admin/settings/register-settings.php:
|
4357 |
msgid "Remove Rate"
|
4358 |
msgstr ""
|
4359 |
|
4360 |
-
#: includes/admin/settings/register-settings.php:
|
4361 |
msgid "Add Tax Rate"
|
4362 |
msgstr ""
|
4363 |
|
4364 |
-
#: includes/admin/settings/register-settings.php:
|
4365 |
msgid ""
|
4366 |
"Your license key expired on %s. Please <a href=\"%s\" "
|
4367 |
"target=\"_blank\">renew your license key</a>."
|
4368 |
msgstr ""
|
4369 |
|
4370 |
-
#: includes/admin/settings/register-settings.php:
|
4371 |
msgid ""
|
4372 |
"Your license key has been disabled. Please <a href=\"%s\" "
|
4373 |
"target=\"_blank\">contact support</a> for more information."
|
4374 |
msgstr ""
|
4375 |
|
4376 |
-
#: includes/admin/settings/register-settings.php:
|
4377 |
msgid ""
|
4378 |
"Invalid license. Please <a href=\"%s\" target=\"_blank\">visit your account "
|
4379 |
"page</a> and verify it."
|
4380 |
msgstr ""
|
4381 |
|
4382 |
-
#: includes/admin/settings/register-settings.php:
|
4383 |
msgid ""
|
4384 |
"Your %s is not active for this URL. Please <a href=\"%s\" "
|
4385 |
"target=\"_blank\">visit your account page</a> to manage your license key "
|
4386 |
"URLs."
|
4387 |
msgstr ""
|
4388 |
|
4389 |
-
#: includes/admin/settings/register-settings.php:
|
4390 |
msgid "This appears to be an invalid license key for %s."
|
4391 |
msgstr ""
|
4392 |
|
4393 |
-
#: includes/admin/settings/register-settings.php:
|
4394 |
msgid ""
|
4395 |
"Your license key has reached its activation limit. <a href=\"%s\">View "
|
4396 |
"possible upgrades</a> now."
|
4397 |
msgstr ""
|
4398 |
|
4399 |
-
#: includes/admin/settings/register-settings.php:
|
4400 |
msgid ""
|
4401 |
"The key you entered belongs to a bundle, please use the product specific "
|
4402 |
"license key."
|
4403 |
msgstr ""
|
4404 |
|
4405 |
-
#: includes/admin/settings/register-settings.php:
|
4406 |
msgid "unknown_error"
|
4407 |
msgstr ""
|
4408 |
|
4409 |
-
#: includes/admin/settings/register-settings.php:
|
4410 |
msgid ""
|
4411 |
"There was an error with this license key: %s. Please <a href=\"%s\">contact "
|
4412 |
"our support team</a>."
|
4413 |
msgstr ""
|
4414 |
|
4415 |
-
#: includes/admin/settings/register-settings.php:
|
4416 |
msgid "License key never expires."
|
4417 |
msgstr ""
|
4418 |
|
4419 |
-
#: includes/admin/settings/register-settings.php:
|
4420 |
msgid ""
|
4421 |
"Your license key expires soon! It expires on %s. <a href=\"%s\" "
|
4422 |
"target=\"_blank\">Renew your license key</a>."
|
4423 |
msgstr ""
|
4424 |
|
4425 |
-
#: includes/admin/settings/register-settings.php:
|
4426 |
msgid "Your license key expires on %s."
|
4427 |
msgstr ""
|
4428 |
|
4429 |
-
#: includes/admin/settings/register-settings.php:
|
4430 |
msgid "To receive updates, please enter your valid %s license key."
|
4431 |
msgstr ""
|
4432 |
|
4433 |
-
#: includes/admin/settings/register-settings.php:
|
4434 |
msgid "Deactivate License"
|
4435 |
msgstr ""
|
4436 |
|
@@ -5055,16 +5061,48 @@ msgstr ""
|
|
5055 |
msgid "Step %d of approximately %d running"
|
5056 |
msgstr ""
|
5057 |
|
5058 |
-
#: includes/ajax-functions.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5059 |
msgid "No results found"
|
5060 |
msgstr ""
|
5061 |
|
5062 |
-
#: includes/ajax-functions.php:
|
5063 |
#: includes/class-edd-html-elements.php:339
|
5064 |
msgid "No users found"
|
5065 |
msgstr ""
|
5066 |
|
5067 |
-
#: includes/ajax-functions.php:
|
5068 |
msgid "All Prices"
|
5069 |
msgstr ""
|
5070 |
|
@@ -5126,27 +5164,27 @@ msgstr ""
|
|
5126 |
msgid "No download logs found!"
|
5127 |
msgstr ""
|
5128 |
|
5129 |
-
#: includes/api/class-edd-api.php:1932 includes/user-functions.php:
|
5130 |
msgid "Easy Digital Downloads API Keys"
|
5131 |
msgstr ""
|
5132 |
|
5133 |
-
#: includes/api/class-edd-api.php:1941 includes/user-functions.php:
|
5134 |
msgid "Generate API Key"
|
5135 |
msgstr ""
|
5136 |
|
5137 |
-
#: includes/api/class-edd-api.php:1943 includes/user-functions.php:
|
5138 |
msgid "Public key:"
|
5139 |
msgstr ""
|
5140 |
|
5141 |
-
#: includes/api/class-edd-api.php:1944 includes/user-functions.php:
|
5142 |
msgid "Secret key:"
|
5143 |
msgstr ""
|
5144 |
|
5145 |
-
#: includes/api/class-edd-api.php:1945 includes/user-functions.php:
|
5146 |
msgid "Token:"
|
5147 |
msgstr ""
|
5148 |
|
5149 |
-
#: includes/api/class-edd-api.php:1947 includes/user-functions.php:
|
5150 |
msgid "Revoke API Keys"
|
5151 |
msgstr ""
|
5152 |
|
@@ -5343,122 +5381,122 @@ msgstr ""
|
|
5343 |
msgid "The state or province for your billing address."
|
5344 |
msgstr ""
|
5345 |
|
5346 |
-
#: includes/checkout/template.php:
|
5347 |
msgid "Already have an account?"
|
5348 |
msgstr ""
|
5349 |
|
5350 |
-
#: includes/checkout/template.php:
|
5351 |
msgid "Login"
|
5352 |
msgstr ""
|
5353 |
|
5354 |
-
#: includes/checkout/template.php:
|
5355 |
msgid "Create an account"
|
5356 |
msgstr ""
|
5357 |
|
5358 |
-
#: includes/checkout/template.php:
|
5359 |
msgid "(optional)"
|
5360 |
msgstr ""
|
5361 |
|
5362 |
-
#: includes/checkout/template.php:
|
5363 |
msgid "The username you will use to log into your account."
|
5364 |
msgstr ""
|
5365 |
|
5366 |
-
#: includes/checkout/template.php:
|
5367 |
-
#: includes/checkout/template.php:
|
5368 |
#: templates/shortcode-register.php:30
|
5369 |
msgid "Password"
|
5370 |
msgstr ""
|
5371 |
|
5372 |
-
#: includes/checkout/template.php:
|
5373 |
msgid "The password used to access your account."
|
5374 |
msgstr ""
|
5375 |
|
5376 |
-
#: includes/checkout/template.php:
|
5377 |
msgid "Password Again"
|
5378 |
msgstr ""
|
5379 |
|
5380 |
-
#: includes/checkout/template.php:
|
5381 |
msgid "Confirm your password."
|
5382 |
msgstr ""
|
5383 |
|
5384 |
-
#: includes/checkout/template.php:
|
5385 |
msgid "Confirm password"
|
5386 |
msgstr ""
|
5387 |
|
5388 |
-
#: includes/checkout/template.php:
|
5389 |
msgid "Need to create an account?"
|
5390 |
msgstr ""
|
5391 |
|
5392 |
-
#: includes/checkout/template.php:
|
5393 |
msgid "Register"
|
5394 |
msgstr ""
|
5395 |
|
5396 |
-
#: includes/checkout/template.php:
|
5397 |
msgid "or checkout as a guest."
|
5398 |
msgstr ""
|
5399 |
|
5400 |
-
#: includes/checkout/template.php:
|
5401 |
msgid "Username or Email"
|
5402 |
msgstr ""
|
5403 |
|
5404 |
-
#: includes/checkout/template.php:
|
5405 |
msgid "Your username or email address"
|
5406 |
msgstr ""
|
5407 |
|
5408 |
-
#: includes/checkout/template.php:
|
5409 |
msgid "Your password"
|
5410 |
msgstr ""
|
5411 |
|
5412 |
-
#: includes/checkout/template.php:
|
5413 |
msgid "Select Payment Method"
|
5414 |
msgstr ""
|
5415 |
|
5416 |
-
#: includes/checkout/template.php:
|
5417 |
msgid "Have a discount code?"
|
5418 |
msgstr ""
|
5419 |
|
5420 |
-
#: includes/checkout/template.php:
|
5421 |
msgid "Discount"
|
5422 |
msgstr ""
|
5423 |
|
5424 |
-
#: includes/checkout/template.php:
|
5425 |
msgid "Enter a coupon code if you have one."
|
5426 |
msgstr ""
|
5427 |
|
5428 |
-
#: includes/checkout/template.php:
|
5429 |
#: includes/scripts.php:67
|
5430 |
msgid "Enter discount"
|
5431 |
msgstr ""
|
5432 |
|
5433 |
-
#: includes/checkout/template.php:
|
5434 |
msgid "Agree to Terms?"
|
5435 |
msgstr ""
|
5436 |
|
5437 |
-
#: includes/checkout/template.php:
|
5438 |
msgid "Show Terms"
|
5439 |
msgstr ""
|
5440 |
|
5441 |
-
#: includes/checkout/template.php:
|
5442 |
msgid "Hide Terms"
|
5443 |
msgstr ""
|
5444 |
|
5445 |
-
#: includes/checkout/template.php:
|
5446 |
msgid "Show Privacy Policy"
|
5447 |
msgstr ""
|
5448 |
|
5449 |
-
#: includes/checkout/template.php:
|
5450 |
msgid "Hide Privacy Policy"
|
5451 |
msgstr ""
|
5452 |
|
5453 |
-
#: includes/checkout/template.php:
|
5454 |
msgid "Purchase Total:"
|
5455 |
msgstr ""
|
5456 |
|
5457 |
-
#: includes/checkout/template.php:
|
5458 |
msgid "Go back"
|
5459 |
msgstr ""
|
5460 |
|
5461 |
-
#: includes/checkout/template.php:
|
5462 |
msgid "Next"
|
5463 |
msgstr ""
|
5464 |
|
@@ -5622,8 +5660,8 @@ msgstr ""
|
|
5622 |
msgid "Customer User ID: %s"
|
5623 |
msgstr ""
|
5624 |
|
5625 |
-
#: includes/class-edd-cli.php:334 includes/user-functions.php:
|
5626 |
-
#: includes/user-functions.php:
|
5627 |
msgid "Username: %s"
|
5628 |
msgstr ""
|
5629 |
|
@@ -6410,7 +6448,15 @@ msgstr ""
|
|
6410 |
msgid "Receipt"
|
6411 |
msgstr ""
|
6412 |
|
6413 |
-
#: includes/gateways/actions.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6414 |
msgid "You must enable a payment gateway to use Easy Digital Downloads"
|
6415 |
msgstr ""
|
6416 |
|
@@ -6521,12 +6567,12 @@ msgstr ""
|
|
6521 |
|
6522 |
#: includes/gateways/amazon-payments.php:1094
|
6523 |
#: includes/gateways/amazon-payments.php:1148
|
6524 |
-
#: includes/gateways/paypal-standard.php:
|
6525 |
-
#: includes/gateways/paypal-standard.php:
|
6526 |
-
#: includes/gateways/paypal-standard.php:
|
6527 |
-
#: includes/gateways/paypal-standard.php:
|
6528 |
-
#: includes/gateways/paypal-standard.php:
|
6529 |
-
#: includes/gateways/paypal-standard.php:
|
6530 |
msgid "IPN Error"
|
6531 |
msgstr ""
|
6532 |
|
@@ -6684,44 +6730,44 @@ msgstr ""
|
|
6684 |
msgid "Payment creation failed before sending buyer to PayPal. Payment data: %s"
|
6685 |
msgstr ""
|
6686 |
|
6687 |
-
#: includes/gateways/paypal-standard.php:
|
6688 |
-
#: includes/gateways/paypal-standard.php:
|
6689 |
msgid "Invalid IPN verification response. IPN data: %s"
|
6690 |
msgstr ""
|
6691 |
|
6692 |
-
#: includes/gateways/paypal-standard.php:
|
6693 |
msgid "Invalid business email in IPN response. IPN data: %s"
|
6694 |
msgstr ""
|
6695 |
|
6696 |
-
#: includes/gateways/paypal-standard.php:
|
6697 |
msgid "Payment failed due to invalid PayPal business email."
|
6698 |
msgstr ""
|
6699 |
|
6700 |
-
#: includes/gateways/paypal-standard.php:
|
6701 |
msgid "Invalid currency in IPN response. IPN data: %s"
|
6702 |
msgstr ""
|
6703 |
|
6704 |
-
#: includes/gateways/paypal-standard.php:
|
6705 |
msgid "Payment failed due to invalid currency in PayPal IPN."
|
6706 |
msgstr ""
|
6707 |
|
6708 |
-
#: includes/gateways/paypal-standard.php:
|
6709 |
msgid "Invalid payment amount in IPN response. IPN data: %s"
|
6710 |
msgstr ""
|
6711 |
|
6712 |
-
#: includes/gateways/paypal-standard.php:
|
6713 |
msgid "Payment failed due to invalid amount in PayPal IPN."
|
6714 |
msgstr ""
|
6715 |
|
6716 |
-
#: includes/gateways/paypal-standard.php:
|
6717 |
msgid "Invalid purchase key in IPN response. IPN data: %s"
|
6718 |
msgstr ""
|
6719 |
|
6720 |
-
#: includes/gateways/paypal-standard.php:
|
6721 |
msgid "Payment failed due to invalid purchase key in PayPal IPN."
|
6722 |
msgstr ""
|
6723 |
|
6724 |
-
#: includes/gateways/paypal-standard.php:
|
6725 |
#: tests/helpers/class-helper-payment.php:131
|
6726 |
#: tests/helpers/class-helper-payment.php:234
|
6727 |
#: tests/helpers/class-helper-payment.php:342
|
@@ -6732,79 +6778,79 @@ msgstr ""
|
|
6732 |
msgid "PayPal Transaction ID: %s"
|
6733 |
msgstr ""
|
6734 |
|
6735 |
-
#: includes/gateways/paypal-standard.php:
|
6736 |
msgid "Payment made via eCheck and will clear automatically in 5-8 days"
|
6737 |
msgstr ""
|
6738 |
|
6739 |
-
#: includes/gateways/paypal-standard.php:
|
6740 |
msgid ""
|
6741 |
"Payment requires a confirmed customer address and must be accepted manually "
|
6742 |
"through PayPal"
|
6743 |
msgstr ""
|
6744 |
|
6745 |
-
#: includes/gateways/paypal-standard.php:
|
6746 |
msgid ""
|
6747 |
"Payment must be accepted manually through PayPal due to international "
|
6748 |
"account regulations"
|
6749 |
msgstr ""
|
6750 |
|
6751 |
-
#: includes/gateways/paypal-standard.php:
|
6752 |
msgid ""
|
6753 |
"Payment received in non-shop currency and must be accepted manually through "
|
6754 |
"PayPal"
|
6755 |
msgstr ""
|
6756 |
|
6757 |
-
#: includes/gateways/paypal-standard.php:
|
6758 |
msgid ""
|
6759 |
"Payment is being reviewed by PayPal staff as high-risk or in possible "
|
6760 |
"violation of government regulations"
|
6761 |
msgstr ""
|
6762 |
|
6763 |
-
#: includes/gateways/paypal-standard.php:
|
6764 |
msgid "Payment was sent to non-confirmed or non-registered email address."
|
6765 |
msgstr ""
|
6766 |
|
6767 |
-
#: includes/gateways/paypal-standard.php:
|
6768 |
msgid "PayPal account must be upgraded before this payment can be accepted"
|
6769 |
msgstr ""
|
6770 |
|
6771 |
-
#: includes/gateways/paypal-standard.php:
|
6772 |
msgid ""
|
6773 |
"PayPal account is not verified. Verify account in order to accept this "
|
6774 |
"payment"
|
6775 |
msgstr ""
|
6776 |
|
6777 |
-
#: includes/gateways/paypal-standard.php:
|
6778 |
msgid ""
|
6779 |
"Payment is pending for unknown reasons. Contact PayPal support for "
|
6780 |
"assistance"
|
6781 |
msgstr ""
|
6782 |
|
6783 |
-
#: includes/gateways/paypal-standard.php:
|
6784 |
msgid "Partial PayPal refund processed: %s"
|
6785 |
msgstr ""
|
6786 |
|
6787 |
-
#: includes/gateways/paypal-standard.php:
|
6788 |
msgid "PayPal Payment #%s Refunded for reason: %s"
|
6789 |
msgstr ""
|
6790 |
|
6791 |
-
#: includes/gateways/paypal-standard.php:
|
6792 |
msgid "PayPal Refund Transaction ID: %s"
|
6793 |
msgstr ""
|
6794 |
|
6795 |
-
#: includes/gateways/paypal-standard.php:
|
6796 |
msgid "Refund Payment in PayPal"
|
6797 |
msgstr ""
|
6798 |
|
6799 |
-
#: includes/gateways/paypal-standard.php:
|
6800 |
msgid "PayPal refund failed for unknown reason."
|
6801 |
msgstr ""
|
6802 |
|
6803 |
-
#: includes/gateways/paypal-standard.php:
|
6804 |
msgid "PayPal refund transaction ID: %s"
|
6805 |
msgstr ""
|
6806 |
|
6807 |
-
#: includes/gateways/paypal-standard.php:
|
6808 |
msgid "PayPal refund failed: %s"
|
6809 |
msgstr ""
|
6810 |
|
@@ -6824,16 +6870,16 @@ msgstr ""
|
|
6824 |
msgid "The password you entered is incorrect"
|
6825 |
msgstr ""
|
6826 |
|
6827 |
-
#: includes/login-register.php:93 includes/process-purchase.php:
|
6828 |
msgid "The username you entered does not exist"
|
6829 |
msgstr ""
|
6830 |
|
6831 |
#: includes/login-register.php:147 includes/login-register.php:155
|
6832 |
-
#: includes/process-purchase.php:
|
6833 |
msgid "Invalid username"
|
6834 |
msgstr ""
|
6835 |
|
6836 |
-
#: includes/login-register.php:151 includes/process-purchase.php:
|
6837 |
msgid "Username already taken"
|
6838 |
msgstr ""
|
6839 |
|
@@ -6841,8 +6887,8 @@ msgstr ""
|
|
6841 |
msgid "Email address already taken"
|
6842 |
msgstr ""
|
6843 |
|
6844 |
-
#: includes/login-register.php:163 includes/process-purchase.php:
|
6845 |
-
#: includes/process-purchase.php:
|
6846 |
msgid "Invalid email"
|
6847 |
msgstr ""
|
6848 |
|
@@ -7565,105 +7611,133 @@ msgstr ""
|
|
7565 |
msgid "Your cart is empty"
|
7566 |
msgstr ""
|
7567 |
|
7568 |
-
#: includes/process-purchase.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7569 |
msgid "The email address %s is already in use."
|
7570 |
msgstr ""
|
7571 |
|
7572 |
-
#: includes/process-purchase.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7573 |
msgid "The selected payment gateway is not enabled"
|
7574 |
msgstr ""
|
7575 |
|
7576 |
-
#: includes/process-purchase.php:
|
7577 |
msgid "One or more of the discounts you entered is invalid"
|
7578 |
msgstr ""
|
7579 |
|
7580 |
-
#: includes/process-purchase.php:
|
7581 |
msgid "You must agree to the terms of use"
|
7582 |
msgstr ""
|
7583 |
|
7584 |
-
#: includes/process-purchase.php:
|
7585 |
msgid "You must agree to the privacy policy"
|
7586 |
msgstr ""
|
7587 |
|
7588 |
-
#: includes/process-purchase.php:
|
7589 |
msgid "Please enter a valid email address"
|
7590 |
msgstr ""
|
7591 |
|
7592 |
-
#: includes/process-purchase.php:
|
7593 |
msgid "Please enter your first name"
|
7594 |
msgstr ""
|
7595 |
|
7596 |
-
#: includes/process-purchase.php:
|
7597 |
msgid "Please enter your zip / postal code"
|
7598 |
msgstr ""
|
7599 |
|
7600 |
-
#: includes/process-purchase.php:
|
7601 |
msgid "Please enter your billing city"
|
7602 |
msgstr ""
|
7603 |
|
7604 |
-
#: includes/process-purchase.php:
|
7605 |
msgid "Please select your billing country"
|
7606 |
msgstr ""
|
7607 |
|
7608 |
-
#: includes/process-purchase.php:
|
7609 |
msgid "Please enter billing state / province"
|
7610 |
msgstr ""
|
7611 |
|
7612 |
-
#: includes/process-purchase.php:
|
7613 |
msgid "The user information is invalid"
|
7614 |
msgstr ""
|
7615 |
|
7616 |
-
#: includes/process-purchase.php:
|
7617 |
msgid "Invalid username. Only lowercase letters (a-z) and numbers are allowed"
|
7618 |
msgstr ""
|
7619 |
|
7620 |
-
#: includes/process-purchase.php:
|
7621 |
msgid "You must register or login to complete your purchase"
|
7622 |
msgstr ""
|
7623 |
|
7624 |
-
#: includes/process-purchase.php:
|
|
|
|
|
|
|
|
|
7625 |
msgid ""
|
7626 |
"Email already used. Login or use a different email to complete your "
|
7627 |
"purchase."
|
7628 |
msgstr ""
|
7629 |
|
7630 |
-
#: includes/process-purchase.php:
|
7631 |
msgid "Enter an email"
|
7632 |
msgstr ""
|
7633 |
|
7634 |
-
#: includes/process-purchase.php:
|
7635 |
msgid "Passwords don't match"
|
7636 |
msgstr ""
|
7637 |
|
7638 |
-
#: includes/process-purchase.php:
|
7639 |
msgid "Enter a password"
|
7640 |
msgstr ""
|
7641 |
|
7642 |
-
#: includes/process-purchase.php:
|
7643 |
msgid "Enter the password confirmation"
|
7644 |
msgstr ""
|
7645 |
|
7646 |
-
#: includes/process-purchase.php:
|
7647 |
msgid "You must log in or register to complete your purchase"
|
7648 |
msgstr ""
|
7649 |
|
7650 |
-
#: includes/process-purchase.php:
|
7651 |
msgid "The password you entered is incorrect. %sReset Password%s"
|
7652 |
msgstr ""
|
7653 |
|
7654 |
-
#: includes/process-purchase.php:
|
7655 |
msgid "You must be logged into an account to purchase"
|
7656 |
msgstr ""
|
7657 |
|
7658 |
-
#: includes/process-purchase.php:
|
7659 |
msgid "The zip / postal code you entered for your billing address is invalid"
|
7660 |
msgstr ""
|
7661 |
|
7662 |
-
#: includes/process-purchase.php:
|
7663 |
msgid "An internal error has occurred, please try again or contact support."
|
7664 |
msgstr ""
|
7665 |
|
7666 |
-
#: includes/process-purchase.php:
|
7667 |
msgid "There was an error completing your purchase. Please try again."
|
7668 |
msgstr ""
|
7669 |
|
@@ -7925,51 +7999,51 @@ msgstr ""
|
|
7925 |
msgid "Plain Text"
|
7926 |
msgstr ""
|
7927 |
|
7928 |
-
#: includes/user-functions.php:
|
7929 |
msgid "[%s] New User Registration"
|
7930 |
msgstr ""
|
7931 |
|
7932 |
-
#: includes/user-functions.php:
|
7933 |
msgid "New user registration"
|
7934 |
msgstr ""
|
7935 |
|
7936 |
-
#: includes/user-functions.php:
|
7937 |
msgid "E-mail: %s"
|
7938 |
msgstr ""
|
7939 |
|
7940 |
-
#: includes/user-functions.php:
|
7941 |
msgid "[%s] Your username and password"
|
7942 |
msgstr ""
|
7943 |
|
7944 |
-
#: includes/user-functions.php:
|
7945 |
msgid "Your account info"
|
7946 |
msgstr ""
|
7947 |
|
7948 |
-
#: includes/user-functions.php:
|
7949 |
msgid "Password entered at checkout"
|
7950 |
msgstr ""
|
7951 |
|
7952 |
-
#: includes/user-functions.php:
|
7953 |
msgid "Password entered at registration"
|
7954 |
msgstr ""
|
7955 |
|
7956 |
-
#: includes/user-functions.php:
|
7957 |
msgid "Password: %s"
|
7958 |
msgstr ""
|
7959 |
|
7960 |
-
#: includes/user-functions.php:
|
7961 |
msgid "Click here to log in"
|
7962 |
msgstr ""
|
7963 |
|
7964 |
-
#: includes/user-functions.php:
|
7965 |
msgid "To log in, visit: %s"
|
7966 |
msgstr ""
|
7967 |
|
7968 |
-
#: includes/user-functions.php:
|
7969 |
msgid "Verify your account"
|
7970 |
msgstr ""
|
7971 |
|
7972 |
-
#: includes/user-functions.php:
|
7973 |
msgid ""
|
7974 |
"Hello %s,\n"
|
7975 |
"\n"
|
@@ -7979,33 +8053,33 @@ msgid ""
|
|
7979 |
"Link missing? Visit the following URL: %s"
|
7980 |
msgstr ""
|
7981 |
|
7982 |
-
#: includes/user-functions.php:
|
7983 |
msgid ""
|
7984 |
"Sorry but your account verification link has expired. <a href=\"%s\">Click "
|
7985 |
"here</a> to request a new verification URL."
|
7986 |
msgstr ""
|
7987 |
|
7988 |
-
#: includes/user-functions.php:
|
7989 |
msgid "You must be logged in to verify your account."
|
7990 |
msgstr ""
|
7991 |
|
7992 |
-
#: includes/user-functions.php:
|
7993 |
msgid "Notice"
|
7994 |
msgstr ""
|
7995 |
|
7996 |
-
#: includes/user-functions.php:
|
7997 |
msgid "Your account has already been verified."
|
7998 |
msgstr ""
|
7999 |
|
8000 |
-
#: includes/user-functions.php:
|
8001 |
msgid "Invalid verification token provided."
|
8002 |
msgstr ""
|
8003 |
|
8004 |
-
#: includes/user-functions.php:
|
8005 |
msgid "Easy Digital Downloads <a href=\"%s\">iOS App</a>"
|
8006 |
msgstr ""
|
8007 |
|
8008 |
-
#: includes/user-functions.php:
|
8009 |
msgid "Add to iOS App"
|
8010 |
msgstr ""
|
8011 |
|
@@ -8391,12 +8465,12 @@ msgctxt ""
|
|
8391 |
msgid "%s Payments"
|
8392 |
msgstr ""
|
8393 |
|
8394 |
-
#: includes/checkout/template.php:
|
8395 |
msgctxt "Entering a discount code"
|
8396 |
msgid "Click to enter it"
|
8397 |
msgstr ""
|
8398 |
|
8399 |
-
#: includes/checkout/template.php:
|
8400 |
msgctxt "Apply discount at checkout"
|
8401 |
msgid "Apply"
|
8402 |
msgstr ""
|
2 |
# This file is distributed under the same license as the Easy Digital Downloads package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: Easy Digital Downloads 2.9.4\n"
|
6 |
"Report-Msgid-Bugs-To: https://easydigitaldownloads.com/\n"
|
7 |
+
"POT-Creation-Date: 2018-07-09 21:34:14+00:00\n"
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=utf-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
59 |
#: includes/admin/import/class-batch-import-payments.php:76
|
60 |
#: includes/admin/import/class-batch-import.php:156
|
61 |
#: includes/admin/payments/actions.php:25
|
62 |
+
#: includes/admin/payments/actions.php:295
|
63 |
+
#: includes/admin/payments/actions.php:318
|
64 |
+
#: includes/admin/payments/actions.php:334
|
65 |
+
#: includes/admin/payments/actions.php:361
|
66 |
+
#: includes/admin/payments/actions.php:381
|
67 |
#: includes/admin/payments/view-order-details.php:22
|
68 |
#: includes/admin/payments/view-order-details.php:32
|
69 |
#: includes/admin/reporting/class-api-requests-logs-list-table.php:142
|
98 |
#: includes/error-tracking.php:40 includes/gateways/functions.php:221
|
99 |
#: includes/gateways/manual.php:33 includes/gateways/paypal-standard.php:168
|
100 |
#: includes/process-download.php:293 includes/process-download.php:881
|
101 |
+
#: includes/query-filters.php:48 includes/user-functions.php:895
|
102 |
+
#: includes/user-functions.php:920 includes/user-functions.php:973
|
103 |
msgid "Error"
|
104 |
msgstr ""
|
105 |
|
196 |
|
197 |
#: includes/admin/admin-pages.php:43 includes/admin/plugins.php:57
|
198 |
#: includes/admin/settings/contextual-help.php:87
|
199 |
+
#: includes/admin/settings/register-settings.php:1338
|
200 |
msgid "Extensions"
|
201 |
msgstr ""
|
202 |
|
226 |
msgstr ""
|
227 |
|
228 |
#: includes/admin/class-api-keys-table.php:170
|
229 |
+
#: includes/checkout/template.php:490 includes/checkout/template.php:496
|
230 |
#: templates/shortcode-register.php:20
|
231 |
msgid "Username"
|
232 |
msgstr ""
|
515 |
msgstr ""
|
516 |
|
517 |
#: includes/admin/customers/customer-actions.php:207
|
518 |
+
#: includes/user-functions.php:920
|
519 |
msgid "Nonce verification failed."
|
520 |
msgstr ""
|
521 |
|
639 |
msgstr ""
|
640 |
|
641 |
#: includes/admin/customers/customers.php:269
|
642 |
+
#: includes/admin/settings/register-settings.php:2139
|
643 |
#: includes/admin/tools.php:695 includes/checkout/template.php:435
|
644 |
#: templates/shortcode-profile-editor.php:171
|
645 |
msgid "State / Province"
|
744 |
#: includes/admin/downloads/metabox.php:698
|
745 |
#: includes/admin/downloads/metabox.php:823
|
746 |
#: includes/admin/payments/view-order-details.php:490
|
747 |
+
#: includes/admin/settings/register-settings.php:2142 includes/scripts.php:227
|
748 |
#: templates/checkout_cart.php:57 templates/checkout_cart.php:75
|
749 |
#: templates/shortcode-profile-editor.php:123
|
750 |
msgid "Remove"
|
1253 |
|
1254 |
#: includes/admin/discounts/contextual-help.php:38
|
1255 |
#: includes/admin/settings/contextual-help.php:42
|
1256 |
+
#: includes/admin/settings/register-settings.php:1330
|
|
|
|
|
1257 |
#: includes/admin/settings/register-settings.php:1386
|
1258 |
#: includes/admin/settings/register-settings.php:1391
|
1259 |
+
#: includes/admin/settings/register-settings.php:1395
|
1260 |
+
#: includes/admin/settings/register-settings.php:1400
|
1261 |
+
#: includes/admin/settings/register-settings.php:1403
|
1262 |
+
#: includes/admin/settings/register-settings.php:1418
|
1263 |
#: includes/admin/tools.php:68
|
1264 |
msgid "General"
|
1265 |
msgstr ""
|
1765 |
|
1766 |
#: includes/admin/downloads/metabox.php:1031
|
1767 |
#: includes/admin/settings/register-settings.php:744
|
1768 |
+
#: includes/admin/thickbox.php:59 includes/checkout/template.php:984
|
1769 |
#: includes/shortcodes.php:49 includes/template-functions.php:78
|
1770 |
msgid "Purchase"
|
1771 |
msgstr ""
|
1776 |
|
1777 |
#: includes/admin/downloads/metabox.php:1039
|
1778 |
msgid ""
|
1779 |
+
"<strong>Purchase Shortcode</strong>: Use this shortcode to output a "
|
1780 |
+
"purchase link for this product in the location of your choosing."
|
1781 |
msgstr ""
|
1782 |
|
1783 |
#: includes/admin/downloads/metabox.php:1060
|
1910 |
msgstr ""
|
1911 |
|
1912 |
#: includes/admin/payments/actions.php:25
|
1913 |
+
#: includes/admin/payments/actions.php:318
|
1914 |
+
#: includes/admin/payments/actions.php:334
|
1915 |
+
#: includes/admin/payments/actions.php:361
|
1916 |
+
#: includes/admin/payments/actions.php:381 includes/emails/actions.php:53
|
1917 |
msgid "You do not have permission to edit this payment record"
|
1918 |
msgstr ""
|
1919 |
|
1925 |
msgid "Error creating new customer"
|
1926 |
msgstr ""
|
1927 |
|
1928 |
+
#: includes/admin/payments/actions.php:195
|
1929 |
+
msgid ""
|
1930 |
+
"A customer with the email address %s already exists. Please go back and use "
|
1931 |
+
"the \"Assign to another customer\" link to assign this payment to them."
|
1932 |
+
msgstr ""
|
1933 |
+
|
1934 |
+
#: includes/admin/payments/actions.php:295
|
1935 |
msgid "Error Updating Payment"
|
1936 |
msgstr ""
|
1937 |
|
2611 |
|
2612 |
#: includes/admin/reporting/class-export-payments.php:68
|
2613 |
#: includes/admin/reporting/export/class-batch-export-payments.php:49
|
2614 |
+
#: includes/admin/settings/register-settings.php:2138
|
2615 |
#: includes/admin/tools.php:713 templates/shortcode-profile-editor.php:162
|
2616 |
msgid "Country"
|
2617 |
msgstr ""
|
2876 |
|
2877 |
#: includes/admin/reporting/export/class-batch-export-payments.php:62
|
2878 |
#: includes/admin/settings/register-settings.php:352
|
2879 |
+
#: includes/admin/settings/register-settings.php:1387
|
2880 |
msgid "Currency"
|
2881 |
msgstr ""
|
2882 |
|
3008 |
msgstr ""
|
3009 |
|
3010 |
#: includes/admin/reporting/logs.php:144
|
3011 |
+
#: includes/admin/settings/register-settings.php:1413
|
3012 |
#: includes/privacy-functions.php:544
|
3013 |
msgid "File Downloads"
|
3014 |
msgstr ""
|
3039 |
|
3040 |
#: includes/admin/reporting/reports.php:59
|
3041 |
#: includes/admin/settings/contextual-help.php:71
|
3042 |
+
#: includes/admin/settings/register-settings.php:1334
|
3043 |
msgid "Taxes"
|
3044 |
msgstr ""
|
3045 |
|
3186 |
|
3187 |
#: includes/admin/settings/contextual-help.php:48
|
3188 |
#: includes/admin/settings/register-settings.php:420
|
3189 |
+
#: includes/admin/settings/register-settings.php:1331
|
3190 |
msgid "Payment Gateways"
|
3191 |
msgstr ""
|
3192 |
|
3215 |
msgstr ""
|
3216 |
|
3217 |
#: includes/admin/settings/contextual-help.php:57
|
3218 |
+
#: includes/admin/settings/register-settings.php:1332
|
3219 |
msgid "Emails"
|
3220 |
msgstr ""
|
3221 |
|
3235 |
msgstr ""
|
3236 |
|
3237 |
#: includes/admin/settings/contextual-help.php:65
|
3238 |
+
#: includes/admin/settings/register-settings.php:1333
|
3239 |
msgid "Styles"
|
3240 |
msgstr ""
|
3241 |
|
3318 |
msgstr ""
|
3319 |
|
3320 |
#: includes/admin/settings/contextual-help.php:93
|
3321 |
+
#: includes/admin/settings/register-settings.php:1410
|
3322 |
msgid "Miscellaneous"
|
3323 |
msgstr ""
|
3324 |
|
3495 |
msgstr ""
|
3496 |
|
3497 |
#: includes/admin/settings/register-settings.php:388
|
3498 |
+
#: includes/admin/settings/register-settings.php:1388
|
3499 |
msgid "API"
|
3500 |
msgstr ""
|
3501 |
|
3998 |
msgstr ""
|
3999 |
|
4000 |
#: includes/admin/settings/register-settings.php:751
|
4001 |
+
#: includes/checkout/template.php:987
|
4002 |
msgid "Free Download"
|
4003 |
msgstr ""
|
4004 |
|
4257 |
msgid "Settings updated."
|
4258 |
msgstr ""
|
4259 |
|
4260 |
+
#: includes/admin/settings/register-settings.php:1223
|
4261 |
msgid "Error setting default gateway. No gateways are enabled."
|
4262 |
msgstr ""
|
4263 |
|
4264 |
+
#: includes/admin/settings/register-settings.php:1236
|
4265 |
msgid "%s could not be set as the default gateway. It must first be enabled."
|
4266 |
msgstr ""
|
4267 |
|
4268 |
+
#: includes/admin/settings/register-settings.php:1335
|
4269 |
msgid "Privacy"
|
4270 |
msgstr ""
|
4271 |
|
4272 |
+
#: includes/admin/settings/register-settings.php:1341
|
4273 |
msgid "Licenses"
|
4274 |
msgstr ""
|
4275 |
|
4276 |
+
#: includes/admin/settings/register-settings.php:1344
|
4277 |
msgid "Misc"
|
4278 |
msgstr ""
|
4279 |
|
4280 |
+
#: includes/admin/settings/register-settings.php:1392
|
4281 |
#: includes/gateways/functions.php:25 includes/gateways/paypal-standard.php:33
|
4282 |
msgid "PayPal Standard"
|
4283 |
msgstr ""
|
4284 |
|
4285 |
+
#: includes/admin/settings/register-settings.php:1396
|
4286 |
msgid "Purchase Receipts"
|
4287 |
msgstr ""
|
4288 |
|
4289 |
+
#: includes/admin/settings/register-settings.php:1397
|
4290 |
msgid "New Sale Notifications"
|
4291 |
msgstr ""
|
4292 |
|
4293 |
+
#: includes/admin/settings/register-settings.php:1406
|
4294 |
msgid "Main"
|
4295 |
msgstr ""
|
4296 |
|
4297 |
+
#: includes/admin/settings/register-settings.php:1411 includes/install.php:92
|
4298 |
#: templates/widget-cart-checkout.php:6 templates/widget-cart-empty.php:7
|
4299 |
msgid "Checkout"
|
4300 |
msgstr ""
|
4301 |
|
4302 |
+
#: includes/admin/settings/register-settings.php:1412
|
4303 |
msgid "Button Text"
|
4304 |
msgstr ""
|
4305 |
|
4306 |
+
#: includes/admin/settings/register-settings.php:1414
|
4307 |
msgid "Accounting"
|
4308 |
msgstr ""
|
4309 |
|
4310 |
+
#: includes/admin/settings/register-settings.php:1415
|
4311 |
msgid "Terms of Agreement"
|
4312 |
msgstr ""
|
4313 |
|
4314 |
+
#: includes/admin/settings/register-settings.php:1419
|
4315 |
msgid "Export & Erase"
|
4316 |
msgstr ""
|
4317 |
|
4318 |
+
#: includes/admin/settings/register-settings.php:1661
|
4319 |
msgid ""
|
4320 |
"Don't see what you need? More Payment Gateway options are available <a "
|
4321 |
"href=\"%s\">here</a>."
|
4322 |
msgstr ""
|
4323 |
|
4324 |
+
#: includes/admin/settings/register-settings.php:1882
|
4325 |
msgid "The callback function used for the %s setting is missing."
|
4326 |
msgstr ""
|
4327 |
|
4328 |
+
#: includes/admin/settings/register-settings.php:2040
|
4329 |
msgid "Upload File"
|
4330 |
msgstr ""
|
4331 |
|
4332 |
+
#: includes/admin/settings/register-settings.php:2140
|
4333 |
msgid "Country Wide"
|
4334 |
msgstr ""
|
4335 |
|
4336 |
+
#: includes/admin/settings/register-settings.php:2141
|
4337 |
msgid "Rate"
|
4338 |
msgstr ""
|
4339 |
|
4340 |
+
#: includes/admin/settings/register-settings.php:2141
|
4341 |
msgid ""
|
4342 |
"<strong>Regional tax rates: </strong>When a customer enters an address on "
|
4343 |
"checkout that matches the specified region for this tax rate, the cart tax "
|
4344 |
"will adjust automatically. Enter a percentage, such as 6.5 for 6.5%."
|
4345 |
msgstr ""
|
4346 |
|
4347 |
+
#: includes/admin/settings/register-settings.php:2158
|
4348 |
+
#: includes/admin/settings/register-settings.php:2203
|
4349 |
msgid "Choose a country"
|
4350 |
msgstr ""
|
4351 |
|
4352 |
+
#: includes/admin/settings/register-settings.php:2173
|
4353 |
msgid "Choose a state"
|
4354 |
msgstr ""
|
4355 |
|
4356 |
+
#: includes/admin/settings/register-settings.php:2185
|
4357 |
+
#: includes/admin/settings/register-settings.php:2213
|
4358 |
msgid "Apply to whole country"
|
4359 |
msgstr ""
|
4360 |
|
4361 |
+
#: includes/admin/settings/register-settings.php:2188
|
4362 |
+
#: includes/admin/settings/register-settings.php:2216
|
4363 |
msgid "Remove Rate"
|
4364 |
msgstr ""
|
4365 |
|
4366 |
+
#: includes/admin/settings/register-settings.php:2221
|
4367 |
msgid "Add Tax Rate"
|
4368 |
msgstr ""
|
4369 |
|
4370 |
+
#: includes/admin/settings/register-settings.php:2274
|
4371 |
msgid ""
|
4372 |
"Your license key expired on %s. Please <a href=\"%s\" "
|
4373 |
"target=\"_blank\">renew your license key</a>."
|
4374 |
msgstr ""
|
4375 |
|
4376 |
+
#: includes/admin/settings/register-settings.php:2287
|
4377 |
msgid ""
|
4378 |
"Your license key has been disabled. Please <a href=\"%s\" "
|
4379 |
"target=\"_blank\">contact support</a> for more information."
|
4380 |
msgstr ""
|
4381 |
|
4382 |
+
#: includes/admin/settings/register-settings.php:2299
|
4383 |
msgid ""
|
4384 |
"Invalid license. Please <a href=\"%s\" target=\"_blank\">visit your account "
|
4385 |
"page</a> and verify it."
|
4386 |
msgstr ""
|
4387 |
|
4388 |
+
#: includes/admin/settings/register-settings.php:2312
|
4389 |
msgid ""
|
4390 |
"Your %s is not active for this URL. Please <a href=\"%s\" "
|
4391 |
"target=\"_blank\">visit your account page</a> to manage your license key "
|
4392 |
"URLs."
|
4393 |
msgstr ""
|
4394 |
|
4395 |
+
#: includes/admin/settings/register-settings.php:2324
|
4396 |
msgid "This appears to be an invalid license key for %s."
|
4397 |
msgstr ""
|
4398 |
|
4399 |
+
#: includes/admin/settings/register-settings.php:2333
|
4400 |
msgid ""
|
4401 |
"Your license key has reached its activation limit. <a href=\"%s\">View "
|
4402 |
"possible upgrades</a> now."
|
4403 |
msgstr ""
|
4404 |
|
4405 |
+
#: includes/admin/settings/register-settings.php:2342
|
4406 |
msgid ""
|
4407 |
"The key you entered belongs to a bundle, please use the product specific "
|
4408 |
"license key."
|
4409 |
msgstr ""
|
4410 |
|
4411 |
+
#: includes/admin/settings/register-settings.php:2350
|
4412 |
msgid "unknown_error"
|
4413 |
msgstr ""
|
4414 |
|
4415 |
+
#: includes/admin/settings/register-settings.php:2351
|
4416 |
msgid ""
|
4417 |
"There was an error with this license key: %s. Please <a href=\"%s\">contact "
|
4418 |
"our support team</a>."
|
4419 |
msgstr ""
|
4420 |
|
4421 |
+
#: includes/admin/settings/register-settings.php:2371
|
4422 |
msgid "License key never expires."
|
4423 |
msgstr ""
|
4424 |
|
4425 |
+
#: includes/admin/settings/register-settings.php:2378
|
4426 |
msgid ""
|
4427 |
"Your license key expires soon! It expires on %s. <a href=\"%s\" "
|
4428 |
"target=\"_blank\">Renew your license key</a>."
|
4429 |
msgstr ""
|
4430 |
|
4431 |
+
#: includes/admin/settings/register-settings.php:2388
|
4432 |
msgid "Your license key expires on %s."
|
4433 |
msgstr ""
|
4434 |
|
4435 |
+
#: includes/admin/settings/register-settings.php:2406
|
4436 |
msgid "To receive updates, please enter your valid %s license key."
|
4437 |
msgstr ""
|
4438 |
|
4439 |
+
#: includes/admin/settings/register-settings.php:2419
|
4440 |
msgid "Deactivate License"
|
4441 |
msgstr ""
|
4442 |
|
5061 |
msgid "Step %d of approximately %d running"
|
5062 |
msgstr ""
|
5063 |
|
5064 |
+
#: includes/ajax-functions.php:143 includes/cart/actions.php:110
|
5065 |
+
msgid ""
|
5066 |
+
"Missing nonce when removing an item from the cart. Please read the "
|
5067 |
+
"following for more information: "
|
5068 |
+
"https://easydigitaldownloads.com/development/2018/07/05/important-update-to-"
|
5069 |
+
"ajax-requests-in-easy-digital-downloads-2-9-4"
|
5070 |
+
msgstr ""
|
5071 |
+
|
5072 |
+
#: includes/ajax-functions.php:190
|
5073 |
+
msgid ""
|
5074 |
+
"Missing nonce when adding an item to the cart. Please read the following "
|
5075 |
+
"for more information: "
|
5076 |
+
"https://easydigitaldownloads.com/development/2018/07/05/important-update-to-"
|
5077 |
+
"ajax-requests-in-easy-digital-downloads-2-9-4"
|
5078 |
+
msgstr ""
|
5079 |
+
|
5080 |
+
#: includes/ajax-functions.php:471
|
5081 |
+
msgid ""
|
5082 |
+
"Missing nonce when recalculating taxes. Please read the following for more "
|
5083 |
+
"information: "
|
5084 |
+
"https://easydigitaldownloads.com/development/2018/07/05/important-update-to-"
|
5085 |
+
"ajax-requests-in-easy-digital-downloads-2-9-4"
|
5086 |
+
msgstr ""
|
5087 |
+
|
5088 |
+
#: includes/ajax-functions.php:521
|
5089 |
+
msgid ""
|
5090 |
+
"Missing nonce when retrieving state list. Please read the following for "
|
5091 |
+
"more information: "
|
5092 |
+
"https://easydigitaldownloads.com/development/2018/07/05/important-update-to-"
|
5093 |
+
"ajax-requests-in-easy-digital-downloads-2-9-4"
|
5094 |
+
msgstr ""
|
5095 |
+
|
5096 |
+
#: includes/ajax-functions.php:651 includes/ajax-functions.php:703
|
5097 |
msgid "No results found"
|
5098 |
msgstr ""
|
5099 |
|
5100 |
+
#: includes/ajax-functions.php:752 includes/ajax-functions.php:844
|
5101 |
#: includes/class-edd-html-elements.php:339
|
5102 |
msgid "No users found"
|
5103 |
msgstr ""
|
5104 |
|
5105 |
+
#: includes/ajax-functions.php:794
|
5106 |
msgid "All Prices"
|
5107 |
msgstr ""
|
5108 |
|
5164 |
msgid "No download logs found!"
|
5165 |
msgstr ""
|
5166 |
|
5167 |
+
#: includes/api/class-edd-api.php:1932 includes/user-functions.php:1072
|
5168 |
msgid "Easy Digital Downloads API Keys"
|
5169 |
msgstr ""
|
5170 |
|
5171 |
+
#: includes/api/class-edd-api.php:1941 includes/user-functions.php:1077
|
5172 |
msgid "Generate API Key"
|
5173 |
msgstr ""
|
5174 |
|
5175 |
+
#: includes/api/class-edd-api.php:1943 includes/user-functions.php:1079
|
5176 |
msgid "Public key:"
|
5177 |
msgstr ""
|
5178 |
|
5179 |
+
#: includes/api/class-edd-api.php:1944 includes/user-functions.php:1080
|
5180 |
msgid "Secret key:"
|
5181 |
msgstr ""
|
5182 |
|
5183 |
+
#: includes/api/class-edd-api.php:1945 includes/user-functions.php:1081
|
5184 |
msgid "Token:"
|
5185 |
msgstr ""
|
5186 |
|
5187 |
+
#: includes/api/class-edd-api.php:1947 includes/user-functions.php:1083
|
5188 |
msgid "Revoke API Keys"
|
5189 |
msgstr ""
|
5190 |
|
5381 |
msgid "The state or province for your billing address."
|
5382 |
msgstr ""
|
5383 |
|
5384 |
+
#: includes/checkout/template.php:476
|
5385 |
msgid "Already have an account?"
|
5386 |
msgstr ""
|
5387 |
|
5388 |
+
#: includes/checkout/template.php:478 includes/checkout/template.php:582
|
5389 |
msgid "Login"
|
5390 |
msgstr ""
|
5391 |
|
5392 |
+
#: includes/checkout/template.php:486
|
5393 |
msgid "Create an account"
|
5394 |
msgstr ""
|
5395 |
|
5396 |
+
#: includes/checkout/template.php:486
|
5397 |
msgid "(optional)"
|
5398 |
msgstr ""
|
5399 |
|
5400 |
+
#: includes/checkout/template.php:495
|
5401 |
msgid "The username you will use to log into your account."
|
5402 |
msgstr ""
|
5403 |
|
5404 |
+
#: includes/checkout/template.php:500 includes/checkout/template.php:506
|
5405 |
+
#: includes/checkout/template.php:571 templates/shortcode-login.php:19
|
5406 |
#: templates/shortcode-register.php:30
|
5407 |
msgid "Password"
|
5408 |
msgstr ""
|
5409 |
|
5410 |
+
#: includes/checkout/template.php:505
|
5411 |
msgid "The password used to access your account."
|
5412 |
msgstr ""
|
5413 |
|
5414 |
+
#: includes/checkout/template.php:510
|
5415 |
msgid "Password Again"
|
5416 |
msgstr ""
|
5417 |
|
5418 |
+
#: includes/checkout/template.php:515
|
5419 |
msgid "Confirm your password."
|
5420 |
msgstr ""
|
5421 |
|
5422 |
+
#: includes/checkout/template.php:516
|
5423 |
msgid "Confirm password"
|
5424 |
msgstr ""
|
5425 |
|
5426 |
+
#: includes/checkout/template.php:553
|
5427 |
msgid "Need to create an account?"
|
5428 |
msgstr ""
|
5429 |
|
5430 |
+
#: includes/checkout/template.php:555 templates/shortcode-register.php:46
|
5431 |
msgid "Register"
|
5432 |
msgstr ""
|
5433 |
|
5434 |
+
#: includes/checkout/template.php:555
|
5435 |
msgid "or checkout as a guest."
|
5436 |
msgstr ""
|
5437 |
|
5438 |
+
#: includes/checkout/template.php:562 templates/shortcode-login.php:15
|
5439 |
msgid "Username or Email"
|
5440 |
msgstr ""
|
5441 |
|
5442 |
+
#: includes/checkout/template.php:567
|
5443 |
msgid "Your username or email address"
|
5444 |
msgstr ""
|
5445 |
|
5446 |
+
#: includes/checkout/template.php:576
|
5447 |
msgid "Your password"
|
5448 |
msgstr ""
|
5449 |
|
5450 |
+
#: includes/checkout/template.php:612
|
5451 |
msgid "Select Payment Method"
|
5452 |
msgstr ""
|
5453 |
|
5454 |
+
#: includes/checkout/template.php:746
|
5455 |
msgid "Have a discount code?"
|
5456 |
msgstr ""
|
5457 |
|
5458 |
+
#: includes/checkout/template.php:750
|
5459 |
msgid "Discount"
|
5460 |
msgstr ""
|
5461 |
|
5462 |
+
#: includes/checkout/template.php:752
|
5463 |
msgid "Enter a coupon code if you have one."
|
5464 |
msgstr ""
|
5465 |
|
5466 |
+
#: includes/checkout/template.php:754 includes/process-purchase.php:386
|
5467 |
#: includes/scripts.php:67
|
5468 |
msgid "Enter discount"
|
5469 |
msgstr ""
|
5470 |
|
5471 |
+
#: includes/checkout/template.php:777 includes/checkout/template.php:845
|
5472 |
msgid "Agree to Terms?"
|
5473 |
msgstr ""
|
5474 |
|
5475 |
+
#: includes/checkout/template.php:790
|
5476 |
msgid "Show Terms"
|
5477 |
msgstr ""
|
5478 |
|
5479 |
+
#: includes/checkout/template.php:791
|
5480 |
msgid "Hide Terms"
|
5481 |
msgstr ""
|
5482 |
|
5483 |
+
#: includes/checkout/template.php:813 includes/checkout/template.php:870
|
5484 |
msgid "Show Privacy Policy"
|
5485 |
msgstr ""
|
5486 |
|
5487 |
+
#: includes/checkout/template.php:814 includes/checkout/template.php:871
|
5488 |
msgid "Hide Privacy Policy"
|
5489 |
msgstr ""
|
5490 |
|
5491 |
+
#: includes/checkout/template.php:901
|
5492 |
msgid "Purchase Total:"
|
5493 |
msgstr ""
|
5494 |
|
5495 |
+
#: includes/checkout/template.php:927
|
5496 |
msgid "Go back"
|
5497 |
msgstr ""
|
5498 |
|
5499 |
+
#: includes/checkout/template.php:950
|
5500 |
msgid "Next"
|
5501 |
msgstr ""
|
5502 |
|
5660 |
msgid "Customer User ID: %s"
|
5661 |
msgstr ""
|
5662 |
|
5663 |
+
#: includes/class-edd-cli.php:334 includes/user-functions.php:580
|
5664 |
+
#: includes/user-functions.php:592
|
5665 |
msgid "Username: %s"
|
5666 |
msgstr ""
|
5667 |
|
6448 |
msgid "Receipt"
|
6449 |
msgstr ""
|
6450 |
|
6451 |
+
#: includes/gateways/actions.php:37
|
6452 |
+
msgid ""
|
6453 |
+
"Missing nonce when loading the gateway fields. Please read the following "
|
6454 |
+
"for more information: "
|
6455 |
+
"https://easydigitaldownloads.com/development/2018/07/05/important-update-to-"
|
6456 |
+
"ajax-requests-in-easy-digital-downloads-2-9-4"
|
6457 |
+
msgstr ""
|
6458 |
+
|
6459 |
+
#: includes/gateways/actions.php:68
|
6460 |
msgid "You must enable a payment gateway to use Easy Digital Downloads"
|
6461 |
msgstr ""
|
6462 |
|
6567 |
|
6568 |
#: includes/gateways/amazon-payments.php:1094
|
6569 |
#: includes/gateways/amazon-payments.php:1148
|
6570 |
+
#: includes/gateways/paypal-standard.php:462
|
6571 |
+
#: includes/gateways/paypal-standard.php:469
|
6572 |
+
#: includes/gateways/paypal-standard.php:558
|
6573 |
+
#: includes/gateways/paypal-standard.php:568
|
6574 |
+
#: includes/gateways/paypal-standard.php:628
|
6575 |
+
#: includes/gateways/paypal-standard.php:637
|
6576 |
msgid "IPN Error"
|
6577 |
msgstr ""
|
6578 |
|
6730 |
msgid "Payment creation failed before sending buyer to PayPal. Payment data: %s"
|
6731 |
msgstr ""
|
6732 |
|
6733 |
+
#: includes/gateways/paypal-standard.php:462
|
6734 |
+
#: includes/gateways/paypal-standard.php:469
|
6735 |
msgid "Invalid IPN verification response. IPN data: %s"
|
6736 |
msgstr ""
|
6737 |
|
6738 |
+
#: includes/gateways/paypal-standard.php:558
|
6739 |
msgid "Invalid business email in IPN response. IPN data: %s"
|
6740 |
msgstr ""
|
6741 |
|
6742 |
+
#: includes/gateways/paypal-standard.php:561
|
6743 |
msgid "Payment failed due to invalid PayPal business email."
|
6744 |
msgstr ""
|
6745 |
|
6746 |
+
#: includes/gateways/paypal-standard.php:568
|
6747 |
msgid "Invalid currency in IPN response. IPN data: %s"
|
6748 |
msgstr ""
|
6749 |
|
6750 |
+
#: includes/gateways/paypal-standard.php:571
|
6751 |
msgid "Payment failed due to invalid currency in PayPal IPN."
|
6752 |
msgstr ""
|
6753 |
|
6754 |
+
#: includes/gateways/paypal-standard.php:628
|
6755 |
msgid "Invalid payment amount in IPN response. IPN data: %s"
|
6756 |
msgstr ""
|
6757 |
|
6758 |
+
#: includes/gateways/paypal-standard.php:631
|
6759 |
msgid "Payment failed due to invalid amount in PayPal IPN."
|
6760 |
msgstr ""
|
6761 |
|
6762 |
+
#: includes/gateways/paypal-standard.php:637
|
6763 |
msgid "Invalid purchase key in IPN response. IPN data: %s"
|
6764 |
msgstr ""
|
6765 |
|
6766 |
+
#: includes/gateways/paypal-standard.php:639
|
6767 |
msgid "Payment failed due to invalid purchase key in PayPal IPN."
|
6768 |
msgstr ""
|
6769 |
|
6770 |
+
#: includes/gateways/paypal-standard.php:645
|
6771 |
#: tests/helpers/class-helper-payment.php:131
|
6772 |
#: tests/helpers/class-helper-payment.php:234
|
6773 |
#: tests/helpers/class-helper-payment.php:342
|
6778 |
msgid "PayPal Transaction ID: %s"
|
6779 |
msgstr ""
|
6780 |
|
6781 |
+
#: includes/gateways/paypal-standard.php:659
|
6782 |
msgid "Payment made via eCheck and will clear automatically in 5-8 days"
|
6783 |
msgstr ""
|
6784 |
|
6785 |
+
#: includes/gateways/paypal-standard.php:666
|
6786 |
msgid ""
|
6787 |
"Payment requires a confirmed customer address and must be accepted manually "
|
6788 |
"through PayPal"
|
6789 |
msgstr ""
|
6790 |
|
6791 |
+
#: includes/gateways/paypal-standard.php:672
|
6792 |
msgid ""
|
6793 |
"Payment must be accepted manually through PayPal due to international "
|
6794 |
"account regulations"
|
6795 |
msgstr ""
|
6796 |
|
6797 |
+
#: includes/gateways/paypal-standard.php:678
|
6798 |
msgid ""
|
6799 |
"Payment received in non-shop currency and must be accepted manually through "
|
6800 |
"PayPal"
|
6801 |
msgstr ""
|
6802 |
|
6803 |
+
#: includes/gateways/paypal-standard.php:685
|
6804 |
msgid ""
|
6805 |
"Payment is being reviewed by PayPal staff as high-risk or in possible "
|
6806 |
"violation of government regulations"
|
6807 |
msgstr ""
|
6808 |
|
6809 |
+
#: includes/gateways/paypal-standard.php:691
|
6810 |
msgid "Payment was sent to non-confirmed or non-registered email address."
|
6811 |
msgstr ""
|
6812 |
|
6813 |
+
#: includes/gateways/paypal-standard.php:697
|
6814 |
msgid "PayPal account must be upgraded before this payment can be accepted"
|
6815 |
msgstr ""
|
6816 |
|
6817 |
+
#: includes/gateways/paypal-standard.php:703
|
6818 |
msgid ""
|
6819 |
"PayPal account is not verified. Verify account in order to accept this "
|
6820 |
"payment"
|
6821 |
msgstr ""
|
6822 |
|
6823 |
+
#: includes/gateways/paypal-standard.php:709
|
6824 |
msgid ""
|
6825 |
"Payment is pending for unknown reasons. Contact PayPal support for "
|
6826 |
"assistance"
|
6827 |
msgstr ""
|
6828 |
|
6829 |
+
#: includes/gateways/paypal-standard.php:762
|
6830 |
msgid "Partial PayPal refund processed: %s"
|
6831 |
msgstr ""
|
6832 |
|
6833 |
+
#: includes/gateways/paypal-standard.php:767
|
6834 |
msgid "PayPal Payment #%s Refunded for reason: %s"
|
6835 |
msgstr ""
|
6836 |
|
6837 |
+
#: includes/gateways/paypal-standard.php:768
|
6838 |
msgid "PayPal Refund Transaction ID: %s"
|
6839 |
msgstr ""
|
6840 |
|
6841 |
+
#: includes/gateways/paypal-standard.php:1026
|
6842 |
msgid "Refund Payment in PayPal"
|
6843 |
msgstr ""
|
6844 |
|
6845 |
+
#: includes/gateways/paypal-standard.php:1173
|
6846 |
msgid "PayPal refund failed for unknown reason."
|
6847 |
msgstr ""
|
6848 |
|
6849 |
+
#: includes/gateways/paypal-standard.php:1183
|
6850 |
msgid "PayPal refund transaction ID: %s"
|
6851 |
msgstr ""
|
6852 |
|
6853 |
+
#: includes/gateways/paypal-standard.php:1187
|
6854 |
msgid "PayPal refund failed: %s"
|
6855 |
msgstr ""
|
6856 |
|
6870 |
msgid "The password you entered is incorrect"
|
6871 |
msgstr ""
|
6872 |
|
6873 |
+
#: includes/login-register.php:93 includes/process-purchase.php:733
|
6874 |
msgid "The username you entered does not exist"
|
6875 |
msgstr ""
|
6876 |
|
6877 |
#: includes/login-register.php:147 includes/login-register.php:155
|
6878 |
+
#: includes/process-purchase.php:602
|
6879 |
msgid "Invalid username"
|
6880 |
msgstr ""
|
6881 |
|
6882 |
+
#: includes/login-register.php:151 includes/process-purchase.php:595
|
6883 |
msgid "Username already taken"
|
6884 |
msgstr ""
|
6885 |
|
6887 |
msgid "Email address already taken"
|
6888 |
msgstr ""
|
6889 |
|
6890 |
+
#: includes/login-register.php:163 includes/process-purchase.php:542
|
6891 |
+
#: includes/process-purchase.php:626 includes/process-purchase.php:766
|
6892 |
msgid "Invalid email"
|
6893 |
msgstr ""
|
6894 |
|
7611 |
msgid "Your cart is empty"
|
7612 |
msgstr ""
|
7613 |
|
7614 |
+
#: includes/process-purchase.php:44
|
7615 |
+
msgid ""
|
7616 |
+
"Missing nonce when processing checkout. Please read the following for more "
|
7617 |
+
"information: "
|
7618 |
+
"https://easydigitaldownloads.com/development/2018/07/05/important-update-to-"
|
7619 |
+
"ajax-requests-in-easy-digital-downloads-2-9-4"
|
7620 |
+
msgstr ""
|
7621 |
+
|
7622 |
+
#: includes/process-purchase.php:51
|
7623 |
+
msgid "Error processing purchase. Please reload the page and try again."
|
7624 |
+
msgstr ""
|
7625 |
+
|
7626 |
+
#: includes/process-purchase.php:211
|
7627 |
msgid "The email address %s is already in use."
|
7628 |
msgstr ""
|
7629 |
|
7630 |
+
#: includes/process-purchase.php:233
|
7631 |
+
msgid ""
|
7632 |
+
"Missing nonce when processing login during checkout. Please read the "
|
7633 |
+
"following for more information: "
|
7634 |
+
"https://easydigitaldownloads.com/development/2018/07/05/important-update-to-"
|
7635 |
+
"ajax-requests-in-easy-digital-downloads-2-9-4"
|
7636 |
+
msgstr ""
|
7637 |
+
|
7638 |
+
#: includes/process-purchase.php:239
|
7639 |
+
msgid "Error processing login. Nonce failed."
|
7640 |
+
msgstr ""
|
7641 |
+
|
7642 |
+
#: includes/process-purchase.php:353
|
7643 |
msgid "The selected payment gateway is not enabled"
|
7644 |
msgstr ""
|
7645 |
|
7646 |
+
#: includes/process-purchase.php:413
|
7647 |
msgid "One or more of the discounts you entered is invalid"
|
7648 |
msgstr ""
|
7649 |
|
7650 |
+
#: includes/process-purchase.php:430
|
7651 |
msgid "You must agree to the terms of use"
|
7652 |
msgstr ""
|
7653 |
|
7654 |
+
#: includes/process-purchase.php:444
|
7655 |
msgid "You must agree to the privacy policy"
|
7656 |
msgstr ""
|
7657 |
|
7658 |
+
#: includes/process-purchase.php:459
|
7659 |
msgid "Please enter a valid email address"
|
7660 |
msgstr ""
|
7661 |
|
7662 |
+
#: includes/process-purchase.php:463
|
7663 |
msgid "Please enter your first name"
|
7664 |
msgstr ""
|
7665 |
|
7666 |
+
#: includes/process-purchase.php:473
|
7667 |
msgid "Please enter your zip / postal code"
|
7668 |
msgstr ""
|
7669 |
|
7670 |
+
#: includes/process-purchase.php:477
|
7671 |
msgid "Please enter your billing city"
|
7672 |
msgstr ""
|
7673 |
|
7674 |
+
#: includes/process-purchase.php:481
|
7675 |
msgid "Please select your billing country"
|
7676 |
msgstr ""
|
7677 |
|
7678 |
+
#: includes/process-purchase.php:485
|
7679 |
msgid "Please enter billing state / province"
|
7680 |
msgstr ""
|
7681 |
|
7682 |
+
#: includes/process-purchase.php:547 includes/process-purchase.php:885
|
7683 |
msgid "The user information is invalid"
|
7684 |
msgstr ""
|
7685 |
|
7686 |
+
#: includes/process-purchase.php:600
|
7687 |
msgid "Invalid username. Only lowercase letters (a-z) and numbers are allowed"
|
7688 |
msgstr ""
|
7689 |
|
7690 |
+
#: includes/process-purchase.php:609 includes/process-purchase.php:617
|
7691 |
msgid "You must register or login to complete your purchase"
|
7692 |
msgstr ""
|
7693 |
|
7694 |
+
#: includes/process-purchase.php:615 includes/process-purchase.php:775
|
7695 |
+
msgid "You must login to complete your purchase"
|
7696 |
+
msgstr ""
|
7697 |
+
|
7698 |
+
#: includes/process-purchase.php:631
|
7699 |
msgid ""
|
7700 |
"Email already used. Login or use a different email to complete your "
|
7701 |
"purchase."
|
7702 |
msgstr ""
|
7703 |
|
7704 |
+
#: includes/process-purchase.php:639 includes/process-purchase.php:781
|
7705 |
msgid "Enter an email"
|
7706 |
msgstr ""
|
7707 |
|
7708 |
+
#: includes/process-purchase.php:647
|
7709 |
msgid "Passwords don't match"
|
7710 |
msgstr ""
|
7711 |
|
7712 |
+
#: includes/process-purchase.php:656 includes/process-purchase.php:729
|
7713 |
msgid "Enter a password"
|
7714 |
msgstr ""
|
7715 |
|
7716 |
+
#: includes/process-purchase.php:659
|
7717 |
msgid "Enter the password confirmation"
|
7718 |
msgstr ""
|
7719 |
|
7720 |
+
#: includes/process-purchase.php:683
|
7721 |
msgid "You must log in or register to complete your purchase"
|
7722 |
msgstr ""
|
7723 |
|
7724 |
+
#: includes/process-purchase.php:710
|
7725 |
msgid "The password you entered is incorrect. %sReset Password%s"
|
7726 |
msgstr ""
|
7727 |
|
7728 |
+
#: includes/process-purchase.php:755
|
7729 |
msgid "You must be logged into an account to purchase"
|
7730 |
msgstr ""
|
7731 |
|
7732 |
+
#: includes/process-purchase.php:949
|
7733 |
msgid "The zip / postal code you entered for your billing address is invalid"
|
7734 |
msgstr ""
|
7735 |
|
7736 |
+
#: includes/process-purchase.php:1198
|
7737 |
msgid "An internal error has occurred, please try again or contact support."
|
7738 |
msgstr ""
|
7739 |
|
7740 |
+
#: includes/process-purchase.php:1234
|
7741 |
msgid "There was an error completing your purchase. Please try again."
|
7742 |
msgstr ""
|
7743 |
|
7999 |
msgid "Plain Text"
|
8000 |
msgstr ""
|
8001 |
|
8002 |
+
#: includes/user-functions.php:578
|
8003 |
msgid "[%s] New User Registration"
|
8004 |
msgstr ""
|
8005 |
|
8006 |
+
#: includes/user-functions.php:579
|
8007 |
msgid "New user registration"
|
8008 |
msgstr ""
|
8009 |
|
8010 |
+
#: includes/user-functions.php:581
|
8011 |
msgid "E-mail: %s"
|
8012 |
msgstr ""
|
8013 |
|
8014 |
+
#: includes/user-functions.php:590
|
8015 |
msgid "[%s] Your username and password"
|
8016 |
msgstr ""
|
8017 |
|
8018 |
+
#: includes/user-functions.php:591
|
8019 |
msgid "Your account info"
|
8020 |
msgstr ""
|
8021 |
|
8022 |
+
#: includes/user-functions.php:595
|
8023 |
msgid "Password entered at checkout"
|
8024 |
msgstr ""
|
8025 |
|
8026 |
+
#: includes/user-functions.php:597
|
8027 |
msgid "Password entered at registration"
|
8028 |
msgstr ""
|
8029 |
|
8030 |
+
#: includes/user-functions.php:600
|
8031 |
msgid "Password: %s"
|
8032 |
msgstr ""
|
8033 |
|
8034 |
+
#: includes/user-functions.php:605
|
8035 |
msgid "Click here to log in"
|
8036 |
msgstr ""
|
8037 |
|
8038 |
+
#: includes/user-functions.php:609
|
8039 |
msgid "To log in, visit: %s"
|
8040 |
msgstr ""
|
8041 |
|
8042 |
+
#: includes/user-functions.php:763 includes/user-functions.php:764
|
8043 |
msgid "Verify your account"
|
8044 |
msgstr ""
|
8045 |
|
8046 |
+
#: includes/user-functions.php:766
|
8047 |
msgid ""
|
8048 |
"Hello %s,\n"
|
8049 |
"\n"
|
8053 |
"Link missing? Visit the following URL: %s"
|
8054 |
msgstr ""
|
8055 |
|
8056 |
+
#: includes/user-functions.php:891
|
8057 |
msgid ""
|
8058 |
"Sorry but your account verification link has expired. <a href=\"%s\">Click "
|
8059 |
"here</a> to request a new verification URL."
|
8060 |
msgstr ""
|
8061 |
|
8062 |
+
#: includes/user-functions.php:924
|
8063 |
msgid "You must be logged in to verify your account."
|
8064 |
msgstr ""
|
8065 |
|
8066 |
+
#: includes/user-functions.php:924 includes/user-functions.php:928
|
8067 |
msgid "Notice"
|
8068 |
msgstr ""
|
8069 |
|
8070 |
+
#: includes/user-functions.php:928
|
8071 |
msgid "Your account has already been verified."
|
8072 |
msgstr ""
|
8073 |
|
8074 |
+
#: includes/user-functions.php:973
|
8075 |
msgid "Invalid verification token provided."
|
8076 |
msgstr ""
|
8077 |
|
8078 |
+
#: includes/user-functions.php:1095
|
8079 |
msgid "Easy Digital Downloads <a href=\"%s\">iOS App</a>"
|
8080 |
msgstr ""
|
8081 |
|
8082 |
+
#: includes/user-functions.php:1102
|
8083 |
msgid "Add to iOS App"
|
8084 |
msgstr ""
|
8085 |
|
8465 |
msgid "%s Payments"
|
8466 |
msgstr ""
|
8467 |
|
8468 |
+
#: includes/checkout/template.php:746
|
8469 |
msgctxt "Entering a discount code"
|
8470 |
msgid "Click to enter it"
|
8471 |
msgstr ""
|
8472 |
|
8473 |
+
#: includes/checkout/template.php:755
|
8474 |
msgctxt "Apply discount at checkout"
|
8475 |
msgid "Apply"
|
8476 |
msgstr ""
|
readme.txt
CHANGED
@@ -5,8 +5,8 @@ Contributors: easydigitaldownloads, mordauk, sunnyratilal, chriscct7, section214
|
|
5 |
Donate link: https://easydigitaldownloads.com/donate/
|
6 |
Tags: download, downloads, e-store, eshop, digital downloads, e-commerce, wp-ecommerce, wp ecommerce, ecommerce, ebook
|
7 |
Requires at least: 4.4
|
8 |
-
Tested up to: 4.9.
|
9 |
-
Stable Tag: 2.9.
|
10 |
License: GNU Version 2 or Any Later Version
|
11 |
|
12 |
The easiest way to sell digital products with WordPress.
|
@@ -190,6 +190,33 @@ Yes. Easy Digital Downloads also includes default support for Amazon Payments an
|
|
190 |
|
191 |
== Changelog ==
|
192 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
193 |
= 2.9.3, May 25, 2018 =
|
194 |
* Fix: Corrected multiple inconsistencies in the Privacy Policy Checkbox at checkout.
|
195 |
* Fix: Corrected an issue causing "You must agree to the privacy policy" from showing when it wasn't required.
|
5 |
Donate link: https://easydigitaldownloads.com/donate/
|
6 |
Tags: download, downloads, e-store, eshop, digital downloads, e-commerce, wp-ecommerce, wp ecommerce, ecommerce, ebook
|
7 |
Requires at least: 4.4
|
8 |
+
Tested up to: 4.9.7
|
9 |
+
Stable Tag: 2.9.4
|
10 |
License: GNU Version 2 or Any Later Version
|
11 |
|
12 |
The easiest way to sell digital products with WordPress.
|
190 |
|
191 |
== Changelog ==
|
192 |
|
193 |
+
= 2.9.4, July 9, 2018 =
|
194 |
+
* Fix: Added nonce checks to multiple AJAX calls. If you have customized any of the following beyond CSS, please review this blog post:
|
195 |
+
* https://easydigitaldownloads.com/development/2018/07/05/important-update-to-ajax-requests-in-easy-digital-downloads-2-9-4
|
196 |
+
* templates/widget-cart-item.php
|
197 |
+
* templates/shortcode-profile-editor.php
|
198 |
+
* templates/checkout_cart.php
|
199 |
+
* The following functions includes/checkout/template.php:
|
200 |
+
* edd_default_cc_address_fields()
|
201 |
+
* edd_get_register_fields()
|
202 |
+
* edd_get_login_fields()
|
203 |
+
* edd_payment_mode_select()
|
204 |
+
* edd_checkout_hidden_fields()
|
205 |
+
* Fix: Important - Don't allow guest purchases for an email address that has an existing user.
|
206 |
+
* Fix: Unexpected behavior in 'redirect to checkout' when multiple checkout pages were used.
|
207 |
+
* Fix: Saving an order in the admin when prices were inclusive of tax could cause incorrect item price amounts to be saved.
|
208 |
+
* Fix: PHP 7.2 Compatibility - Some PHP notices were being thrown while activating Easy Digital Downloads.
|
209 |
+
* Fix: The EDD_Cart class now forces the cart contents to always be an array.
|
210 |
+
* Fix: The process of adding past purchases to a new user now verifies the user has an email address.
|
211 |
+
* Fix: The file download log export did not contain the name of the user who downloaded the file.
|
212 |
+
* Fix: Attempting to add a new customer to an order gave unexpected results when using the email address of an existing customer.
|
213 |
+
* Fix: Tax rate 'Apply to whole country' label could not be clicked when no tax rates have ever existed.
|
214 |
+
* Fix: The Shop Accountant role was not able to manage the tax exclusion at a product level.
|
215 |
+
* Fix: In some cases, PayPal IPN and PDT would cause double payment processing.
|
216 |
+
* Tweak: Easy Digital Downloads sessions can now be started when in the wp-admin path.
|
217 |
+
* New: When taxes are being recalculated at checkout, an AJAX indicator is now shown below the purchase button.
|
218 |
+
* Dev: Filters were added to the AJAX responses for adding and removing items from the cart.
|
219 |
+
|
220 |
= 2.9.3, May 25, 2018 =
|
221 |
* Fix: Corrected multiple inconsistencies in the Privacy Policy Checkbox at checkout.
|
222 |
* Fix: Corrected an issue causing "You must agree to the privacy policy" from showing when it wasn't required.
|
templates/checkout_cart.php
CHANGED
@@ -54,7 +54,7 @@ global $post; ?>
|
|
54 |
<input type="hidden" name="edd-cart-download-<?php echo $key; ?>-options" value="<?php echo esc_attr( json_encode( $item['options'] ) ); ?>"/>
|
55 |
<?php endif; ?>
|
56 |
<?php do_action( 'edd_cart_actions', $item, $key ); ?>
|
57 |
-
<a class="edd_cart_remove_item_btn" href="<?php echo esc_url( edd_remove_item_url( $key ) ); ?>"><?php _e( 'Remove', 'easy-digital-downloads' ); ?></a>
|
58 |
</td>
|
59 |
<?php do_action( 'edd_checkout_table_body_last', $item ); ?>
|
60 |
</tr>
|
54 |
<input type="hidden" name="edd-cart-download-<?php echo $key; ?>-options" value="<?php echo esc_attr( json_encode( $item['options'] ) ); ?>"/>
|
55 |
<?php endif; ?>
|
56 |
<?php do_action( 'edd_cart_actions', $item, $key ); ?>
|
57 |
+
<a class="edd_cart_remove_item_btn" href="<?php echo esc_url( wp_nonce_url( edd_remove_item_url( $key ), 'edd-remove-from-cart-' . $key, 'edd_remove_from_cart_nonce' ) ); ?>"><?php _e( 'Remove', 'easy-digital-downloads' ); ?></a>
|
58 |
</td>
|
59 |
<?php do_action( 'edd_checkout_table_body_last', $item ); ?>
|
60 |
</tr>
|
templates/shortcode-profile-editor.php
CHANGED
@@ -160,7 +160,7 @@ if ( is_user_logged_in() ):
|
|
160 |
|
161 |
<p id="edd_profile_billing_address_country_wrap">
|
162 |
<label for="edd_address_country"><?php _e( 'Country', 'easy-digital-downloads' ); ?></label>
|
163 |
-
<select name="edd_address_country" id="edd_address_country" class="select edd-select">
|
164 |
<?php foreach( edd_get_country_list() as $key => $country ) : ?>
|
165 |
<option value="<?php echo $key; ?>"<?php selected( $address['country'], $key ); ?>><?php echo esc_html( $country ); ?></option>
|
166 |
<?php endforeach; ?>
|
160 |
|
161 |
<p id="edd_profile_billing_address_country_wrap">
|
162 |
<label for="edd_address_country"><?php _e( 'Country', 'easy-digital-downloads' ); ?></label>
|
163 |
+
<select name="edd_address_country" id="edd_address_country" class="select edd-select" data-nonce="<?php echo wp_create_nonce( 'edd-country-field-nonce' ); ?>">
|
164 |
<?php foreach( edd_get_country_list() as $key => $country ) : ?>
|
165 |
<option value="<?php echo $key; ?>"<?php selected( $address['country'], $key ); ?>><?php echo esc_html( $country ); ?></option>
|
166 |
<?php endforeach; ?>
|
templates/widget-cart-item.php
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
<li class="edd-cart-item">
|
2 |
<span class="edd-cart-item-title">{item_title}</span>
|
3 |
<span class="edd-cart-item-separator">-</span> <?php echo edd_item_quantities_enabled() ? '<span class="edd-cart-item-quantity">{item_quantity} @ </span>' : ''; ?><span class="edd-cart-item-price">{item_amount}</span> <span class="edd-cart-item-separator">-</span>
|
4 |
-
<a href="{remove_url}" data-cart-item="{cart_item_id}" data-download-id="{item_id}" data-action="edd_remove_from_cart" class="edd-remove-from-cart"><?php _e( 'remove', 'easy-digital-downloads' ); ?></a>
|
5 |
</li>
|
1 |
<li class="edd-cart-item">
|
2 |
<span class="edd-cart-item-title">{item_title}</span>
|
3 |
<span class="edd-cart-item-separator">-</span> <?php echo edd_item_quantities_enabled() ? '<span class="edd-cart-item-quantity">{item_quantity} @ </span>' : ''; ?><span class="edd-cart-item-price">{item_amount}</span> <span class="edd-cart-item-separator">-</span>
|
4 |
+
<a href="{remove_url}" data-nonce="<?php echo wp_create_nonce( 'edd-remove-cart-widget-item' ); ?>" data-cart-item="{cart_item_id}" data-download-id="{item_id}" data-action="edd_remove_from_cart" class="edd-remove-from-cart"><?php _e( 'remove', 'easy-digital-downloads' ); ?></a>
|
5 |
</li>
|