Easy Digital Downloads - Version 2.5.16

Version Description

Download this release

Release Info

Developer mordauk
Plugin Icon 128x128 Easy Digital Downloads
Version 2.5.16
Comparing to
See all releases

Code changes from version 2.5.15 to 2.5.16

assets/js/edd-checkout-global.js CHANGED
@@ -98,7 +98,7 @@ window.EDD_Checkout = (function($) {
98
  withCredentials: true
99
  },
100
  success: function (response) {
101
- if( 'nostates' == response ) {
102
  var text_field = '<input type="text" name="card_state" class="cart-state edd-input required" value=""/>';
103
  $form.find('input[name="card_state"], select[name="card_state"]').replaceWith( text_field );
104
  } else {
98
  withCredentials: true
99
  },
100
  success: function (response) {
101
+ if( 'nostates' == $.trim(response) ) {
102
  var text_field = '<input type="text" name="card_state" class="cart-state edd-input required" value=""/>';
103
  $form.find('input[name="card_state"], select[name="card_state"]').replaceWith( text_field );
104
  } else {
assets/js/edd-checkout-global.min.js CHANGED
@@ -1 +1 @@
1
- window.EDD_Checkout=function(e){"use strict";function d(){s=e(document.body),r=e("#edd_purchase_form"),l=e(".edd_cart_amount"),_=l.text(),u=e("#edd_checkout_form_wrap"),s.on("change","#edd_cc_address input.card_state, #edd_cc_address select",t),s.on("keyup change",".edd-do-validate .card-number",function(){o(e(this))}),s.on("submit","#edd_payment_mode",function(){var d=e("#edd-gateway option:selected").val();return 0==d?(alert(edd_global_vars.no_gateway),!1):void 0}),s.on("click","#edd_payment_mode_select input",function(){e("#edd_payment_mode_select label.edd-gateway-option-selected").removeClass("edd-gateway-option-selected"),e("#edd_payment_mode_select input:checked").parent().addClass("edd-gateway-option-selected")}),u.on("click",".edd-apply-discount",n),u.on("keypress","#edd-discount",function(e){return"13"==e.keyCode?!1:void 0}),u.on("keyup","#edd-discount",function(e){"13"==e.keyCode&&u.find(".edd-apply-discount").trigger("click")}),s.on("click",".edd_discount_remove",c),s.on("click",".edd_discount_link",function(d){d.preventDefault(),e(".edd_discount_link").parent().hide(),e("#edd-discount-code-wrap").show().find("#edd-discount").focus()}),s.find("#edd-discount-code-wrap").hide(),s.find("#edd_show_discount").show(),s.on("change",".edd-item-quantity",i),s.on("click",".edd-amazon-logout #Logout",function(e){e.preventDefault(),amazon.Login.logout(),window.location=edd_amazon.checkoutUri})}function t(){var d=e(this);if("card_state"!=d.attr("id")){var t={action:"edd_get_shop_states",country:d.val(),field_name:"card_state"};e.ajax({type:"POST",data:t,url:edd_global_vars.ajaxurl,xhrFields:{withCredentials:!0},success:function(e){if("nostates"==e){var d='<input type="text" name="card_state" class="cart-state edd-input required" value=""/>';r.find('input[name="card_state"], select[name="card_state"]').replaceWith(d)}else r.find('input[name="card_state"], select[name="card_state"]').replaceWith(e);s.trigger("edd_cart_billing_address_updated",[e])}}).fail(function(e){window.console&&window.console.log&&console.log(e)}).done(function(e){a()})}else a();return!1}function a(d){if("1"==edd_global_vars.taxes_enabled){var t=e("#edd_cc_address");d||(d=t.find("#card_state").val());var a={action:"edd_recalculate_taxes",billing_country:t.find("#billing_country").val(),state:d};e.ajax({type:"POST",data:a,dataType:"json",url:edd_global_vars.ajaxurl,xhrFields:{withCredentials:!0},success:function(d){e("#edd_checkout_cart_form").replaceWith(d.html),e(".edd_cart_amount").html(d.total);var t=new Object;t.postdata=a,t.response=d,s.trigger("edd_taxes_recalculated",[t])}}).fail(function(e){window.console&&window.console.log&&(console.log(e),s.trigger("edd_taxes_recalculated",[tax_data]))})}}function o(d){var t=d;t.validateCreditCard(function(d){var a=e(".card-type");null==d.card_type?(a.removeClass().addClass("off card-type"),t.removeClass("valid"),t.addClass("error")):(a.removeClass("off"),a.addClass(d.card_type.name),d.length_valid&&d.luhn_valid?(t.addClass("valid"),t.removeClass("error")):(t.removeClass("valid"),t.addClass("error")))})}function n(d){d.preventDefault();var t=(e(this),e("#edd-discount").val()),o=e("#edd-discount-loader");if(""==t||t==edd_global_vars.enter_discount)return!1;var n={action:"edd_apply_discount",code:t,form:e("#edd_purchase_form").serialize()};return e("#edd-discount-error-wrap").html("").hide(),o.show(),e.ajax({type:"POST",data:n,dataType:"json",url:edd_global_vars.ajaxurl,xhrFields:{withCredentials:!0},success:function(d){if(d)if("valid"==d.msg){e(".edd_cart_discount").html(d.html),e(".edd_cart_discount_row").show(),e(".edd_cart_amount").each(function(){e(this).text(d.total)}),e("#edd-discount",u).val(""),a();var t=e("#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"==d.total_plain?(e("#edd_cc_fields,#edd_cc_address,#edd_payment_mode_select").slideUp(),t.removeAttr("required"),e('input[name="edd-gateway"]').val("manual")):(t.attr("required","required"),e("#edd_cc_fields,#edd_cc_address").slideDown()),s.trigger("edd_discount_applied",[d])}else e("#edd-discount-error-wrap").html('<span class="edd_error">'+d.msg+"</span>"),e("#edd-discount-error-wrap").show(),s.trigger("edd_discount_invalid",[d]);else window.console&&window.console.log&&console.log(d),s.trigger("edd_discount_failed",[d]);o.hide()}}).fail(function(e){window.console&&window.console.log&&console.log(e)}),!1}function c(d){var t=e(this),o={action:"edd_remove_discount",code:t.data("code")};return e.ajax({type:"POST",data:o,dataType:"json",url:edd_global_vars.ajaxurl,xhrFields:{withCredentials:!0},success:function(d){var t="0"+edd_global_vars.decimal_separator+"00";e(".edd_cart_amount").each(function(){(edd_global_vars.currency_sign+t==e(this).text()||t+edd_global_vars.currency_sign==e(this).text())&&window.location.reload(),e(this).text(d.total)}),e(".edd_cart_discount").html(d.html),d.discounts||e(".edd_cart_discount_row").hide(),a(),e("#edd_cc_fields,#edd_cc_address").slideDown(),s.trigger("edd_discount_removed",[d])}}).fail(function(e){window.console&&window.console.log&&console.log(e)}),!1}function i(d){var t=e(this),a=t.val(),o=t.data("key"),n=t.closest(".edd_cart_item").data("download-id"),c=t.parent().find('input[name="edd-cart-download-'+o+'-options"]').val(),i={action:"edd_update_quantity",quantity:a,download_id:n,options:c};return e.ajax({type:"POST",data:i,dataType:"json",url:edd_global_vars.ajaxurl,xhrFields:{withCredentials:!0},success:function(d){e(".edd_cart_subtotal_amount").each(function(){e(this).text(d.subtotal)}),e(".edd_cart_tax_amount").each(function(){e(this).text(d.taxes)}),e(".edd_cart_amount").each(function(){e(this).text(d.total),s.trigger("edd_quantity_updated",[d])})}}).fail(function(e){window.console&&window.console.log&&console.log(e)}),!1}var s,r,l,_,u;return{init:d,recalculate_taxes:a}}(window.jQuery),window.jQuery(document).ready(EDD_Checkout.init);
1
+ window.EDD_Checkout=function(e){"use strict";function d(){s=e(document.body),r=e("#edd_purchase_form"),l=e(".edd_cart_amount"),_=l.text(),u=e("#edd_checkout_form_wrap"),s.on("change","#edd_cc_address input.card_state, #edd_cc_address select",t),s.on("keyup change",".edd-do-validate .card-number",function(){o(e(this))}),s.on("submit","#edd_payment_mode",function(){var d=e("#edd-gateway option:selected").val();return 0==d?(alert(edd_global_vars.no_gateway),!1):void 0}),s.on("click","#edd_payment_mode_select input",function(){e("#edd_payment_mode_select label.edd-gateway-option-selected").removeClass("edd-gateway-option-selected"),e("#edd_payment_mode_select input:checked").parent().addClass("edd-gateway-option-selected")}),u.on("click",".edd-apply-discount",n),u.on("keypress","#edd-discount",function(e){return"13"==e.keyCode?!1:void 0}),u.on("keyup","#edd-discount",function(e){"13"==e.keyCode&&u.find(".edd-apply-discount").trigger("click")}),s.on("click",".edd_discount_remove",i),s.on("click",".edd_discount_link",function(d){d.preventDefault(),e(".edd_discount_link").parent().hide(),e("#edd-discount-code-wrap").show().find("#edd-discount").focus()}),s.find("#edd-discount-code-wrap").hide(),s.find("#edd_show_discount").show(),s.on("change",".edd-item-quantity",c),s.on("click",".edd-amazon-logout #Logout",function(e){e.preventDefault(),amazon.Login.logout(),window.location=edd_amazon.checkoutUri})}function t(){var d=e(this);if("card_state"!=d.attr("id")){var t={action:"edd_get_shop_states",country:d.val(),field_name:"card_state"};e.ajax({type:"POST",data:t,url:edd_global_vars.ajaxurl,xhrFields:{withCredentials:!0},success:function(d){if("nostates"==e.trim(d)){var t='<input type="text" name="card_state" class="cart-state edd-input required" value=""/>';r.find('input[name="card_state"], select[name="card_state"]').replaceWith(t)}else r.find('input[name="card_state"], select[name="card_state"]').replaceWith(d);s.trigger("edd_cart_billing_address_updated",[d])}}).fail(function(e){window.console&&window.console.log&&console.log(e)}).done(function(e){a()})}else a();return!1}function a(d){if("1"==edd_global_vars.taxes_enabled){var t=e("#edd_cc_address");d||(d=t.find("#card_state").val());var a={action:"edd_recalculate_taxes",billing_country:t.find("#billing_country").val(),state:d};e.ajax({type:"POST",data:a,dataType:"json",url:edd_global_vars.ajaxurl,xhrFields:{withCredentials:!0},success:function(d){e("#edd_checkout_cart_form").replaceWith(d.html),e(".edd_cart_amount").html(d.total);var t=new Object;t.postdata=a,t.response=d,s.trigger("edd_taxes_recalculated",[t])}}).fail(function(e){window.console&&window.console.log&&(console.log(e),s.trigger("edd_taxes_recalculated",[tax_data]))})}}function o(d){var t=d;t.validateCreditCard(function(d){var a=e(".card-type");null==d.card_type?(a.removeClass().addClass("off card-type"),t.removeClass("valid"),t.addClass("error")):(a.removeClass("off"),a.addClass(d.card_type.name),d.length_valid&&d.luhn_valid?(t.addClass("valid"),t.removeClass("error")):(t.removeClass("valid"),t.addClass("error")))})}function n(d){d.preventDefault();var t=(e(this),e("#edd-discount").val()),o=e("#edd-discount-loader");if(""==t||t==edd_global_vars.enter_discount)return!1;var n={action:"edd_apply_discount",code:t,form:e("#edd_purchase_form").serialize()};return e("#edd-discount-error-wrap").html("").hide(),o.show(),e.ajax({type:"POST",data:n,dataType:"json",url:edd_global_vars.ajaxurl,xhrFields:{withCredentials:!0},success:function(d){if(d)if("valid"==d.msg){e(".edd_cart_discount").html(d.html),e(".edd_cart_discount_row").show(),e(".edd_cart_amount").each(function(){e(this).text(d.total)}),e("#edd-discount",u).val(""),a();var t=e("#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"==d.total_plain?(e("#edd_cc_fields,#edd_cc_address,#edd_payment_mode_select").slideUp(),t.removeAttr("required"),e('input[name="edd-gateway"]').val("manual")):(t.attr("required","required"),e("#edd_cc_fields,#edd_cc_address").slideDown()),s.trigger("edd_discount_applied",[d])}else e("#edd-discount-error-wrap").html('<span class="edd_error">'+d.msg+"</span>"),e("#edd-discount-error-wrap").show(),s.trigger("edd_discount_invalid",[d]);else window.console&&window.console.log&&console.log(d),s.trigger("edd_discount_failed",[d]);o.hide()}}).fail(function(e){window.console&&window.console.log&&console.log(e)}),!1}function i(d){var t=e(this),o={action:"edd_remove_discount",code:t.data("code")};return e.ajax({type:"POST",data:o,dataType:"json",url:edd_global_vars.ajaxurl,xhrFields:{withCredentials:!0},success:function(d){var t="0"+edd_global_vars.decimal_separator+"00";e(".edd_cart_amount").each(function(){(edd_global_vars.currency_sign+t==e(this).text()||t+edd_global_vars.currency_sign==e(this).text())&&window.location.reload(),e(this).text(d.total)}),e(".edd_cart_discount").html(d.html),d.discounts||e(".edd_cart_discount_row").hide(),a(),e("#edd_cc_fields,#edd_cc_address").slideDown(),s.trigger("edd_discount_removed",[d])}}).fail(function(e){window.console&&window.console.log&&console.log(e)}),!1}function c(d){var t=e(this),a=t.val(),o=t.data("key"),n=t.closest(".edd_cart_item").data("download-id"),i=t.parent().find('input[name="edd-cart-download-'+o+'-options"]').val(),c={action:"edd_update_quantity",quantity:a,download_id:n,options:i};return e.ajax({type:"POST",data:c,dataType:"json",url:edd_global_vars.ajaxurl,xhrFields:{withCredentials:!0},success:function(d){e(".edd_cart_subtotal_amount").each(function(){e(this).text(d.subtotal)}),e(".edd_cart_tax_amount").each(function(){e(this).text(d.taxes)}),e(".edd_cart_amount").each(function(){e(this).text(d.total),s.trigger("edd_quantity_updated",[d])})}}).fail(function(e){window.console&&window.console.log&&console.log(e)}),!1}var s,r,l,_,u;return{init:d,recalculate_taxes:a}}(window.jQuery),window.jQuery(document).ready(EDD_Checkout.init);
easy-digital-downloads.php CHANGED
@@ -5,7 +5,7 @@
5
  * Description: The easiest way to sell digital products with WordPress.
6
  * Author: Pippin Williamson and Company
7
  * Author URI: https://easydigitaldownloads.com
8
- * Version: 2.5.15
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.5.15
29
  */
30
 
31
  // Exit if accessed directly.
@@ -186,7 +186,7 @@ final class Easy_Digital_Downloads {
186
 
187
  // Plugin version.
188
  if ( ! defined( 'EDD_VERSION' ) ) {
189
- define( 'EDD_VERSION', '2.5.15' );
190
  }
191
 
192
  // Plugin Folder Path.
5
  * Description: The easiest way to sell digital products with WordPress.
6
  * Author: Pippin Williamson and Company
7
  * Author URI: https://easydigitaldownloads.com
8
+ * Version: 2.5.16
9
  * Text Domain: easy-digital-downloads
10
  * Domain Path: languages
11
  *
25
  * @package EDD
26
  * @category Core
27
  * @author Pippin Williamson
28
+ * @version 2.5.16
29
  */
30
 
31
  // Exit if accessed directly.
186
 
187
  // Plugin version.
188
  if ( ! defined( 'EDD_VERSION' ) ) {
189
+ define( 'EDD_VERSION', '2.5.16' );
190
  }
191
 
192
  // Plugin Folder Path.
includes/admin/add-ons.php CHANGED
@@ -29,7 +29,7 @@ function edd_add_ons_page() {
29
  <h1>
30
  <?php _e( 'Extensions for Easy Digital Downloads', 'easy-digital-downloads' ); ?>
31
  <span>
32
- &nbsp;&nbsp;<a href="http://easydigitaldownloads.com/extensions/?utm_source=plugin-addons-page&utm_medium=plugin&utm_campaign=EDD%20Addons%20Page&utm_content=All%20Extensions" class="button-primary" title="<?php _e( 'Browse All Extensions', 'easy-digital-downloads' ); ?>" target="_blank"><?php _e( 'Browse All Extensions', 'easy-digital-downloads' ); ?></a>
33
  </span>
34
  </h1>
35
  <p><?php _e( 'These extensions <em><strong>add functionality</strong></em> to your Easy Digital Downloads powered store.', 'easy-digital-downloads' ); ?></p>
@@ -55,7 +55,7 @@ function edd_add_ons_page() {
55
  <?php echo edd_add_ons_get_feed( $active_tab ); ?>
56
  <div class="clear"></div>
57
  <div class="edd-add-ons-footer">
58
- <a href="http://easydigitaldownloads.com/extensions/?utm_source=plugin-addons-page&utm_medium=plugin&utm_campaign=EDD%20Addons%20Page&utm_content=All%20Extensions" class="button-primary" title="<?php _e( 'Browse All Extensions', 'easy-digital-downloads' ); ?>" target="_blank"><?php _e( 'Browse All Extensions', 'easy-digital-downloads' ); ?></a>
59
  </div>
60
  </div><!-- #tab_container-->
61
  </div>
29
  <h1>
30
  <?php _e( 'Extensions for Easy Digital Downloads', 'easy-digital-downloads' ); ?>
31
  <span>
32
+ &nbsp;&nbsp;<a href="https://easydigitaldownloads.com/downloads/?utm_source=plugin-addons-page&utm_medium=plugin&utm_campaign=EDDAddonsPage&utm_content=All%20Extensions" class="button-primary" title="<?php _e( 'Browse All Extensions', 'easy-digital-downloads' ); ?>" target="_blank"><?php _e( 'Browse All Extensions', 'easy-digital-downloads' ); ?></a>
33
  </span>
34
  </h1>
35
  <p><?php _e( 'These extensions <em><strong>add functionality</strong></em> to your Easy Digital Downloads powered store.', 'easy-digital-downloads' ); ?></p>
55
  <?php echo edd_add_ons_get_feed( $active_tab ); ?>
56
  <div class="clear"></div>
57
  <div class="edd-add-ons-footer">
58
+ <a href="https://easydigitaldownloads.com/downloads/?utm_source=plugin-addons-page&utm_medium=plugin&utm_campaign=EDDAddonsPage&utm_content=All%20Extensions" class="button-primary" title="<?php _e( 'Browse All Extensions', 'easy-digital-downloads' ); ?>" target="_blank"><?php _e( 'Browse All Extensions', 'easy-digital-downloads' ); ?></a>
59
  </div>
60
  </div><!-- #tab_container-->
61
  </div>
includes/admin/discounts/contextual-help.php CHANGED
@@ -23,13 +23,13 @@ function edd_discounts_contextual_help() {
23
 
24
  $screen->set_help_sidebar(
25
  '<p><strong>' . sprintf( __( 'For more information:', 'easy-digital-downloads' ) . '</strong></p>' .
26
- '<p>' . sprintf( __( 'Visit the <a href="%s">documentation</a> on the Easy Digital Downloads website.', 'easy-digital-downloads' ), esc_url( 'https://easydigitaldownloads.com/documentation/' ) ) ) . '</p>' .
27
  '<p>' . sprintf(
28
  __( '<a href="%s">Post an issue</a> on <a href="%s">GitHub</a>. View <a href="%s">extensions</a> or <a href="%s">themes</a>.', 'easy-digital-downloads' ),
29
  esc_url( 'https://github.com/easydigitaldownloads/Easy-Digital-Downloads/issues' ),
30
  esc_url( 'https://github.com/easydigitaldownloads/Easy-Digital-Downloads' ),
31
- esc_url( 'https://easydigitaldownloads.com/downloads/' ),
32
- esc_url( 'https://easydigitaldownloads.com/themes/' )
33
  ) . '</p>'
34
  );
35
 
23
 
24
  $screen->set_help_sidebar(
25
  '<p><strong>' . sprintf( __( 'For more information:', 'easy-digital-downloads' ) . '</strong></p>' .
26
+ '<p>' . sprintf( __( 'Visit the <a href="%s">documentation</a> on the Easy Digital Downloads website.', 'easy-digital-downloads' ), esc_url( 'http://docs.easydigitaldownloads.com/' ) ) ) . '</p>' .
27
  '<p>' . sprintf(
28
  __( '<a href="%s">Post an issue</a> on <a href="%s">GitHub</a>. View <a href="%s">extensions</a> or <a href="%s">themes</a>.', 'easy-digital-downloads' ),
29
  esc_url( 'https://github.com/easydigitaldownloads/Easy-Digital-Downloads/issues' ),
30
  esc_url( 'https://github.com/easydigitaldownloads/Easy-Digital-Downloads' ),
31
+ esc_url( 'https://easydigitaldownloads.com/downloads/?utm_source=plugin-discounts-page&utm_medium=contextual-help-sidebar&utm_term=extensions&utm_campaign=ContextualHelp' ),
32
+ esc_url( 'https://easydigitaldownloads.com/themes/?utm_source=plugin-discounts-page&utm_medium=contextual-help-sidebar&utm_term=themes&utm_campaign=ContextualHelp' )
33
  ) . '</p>'
34
  );
35
 
includes/admin/downloads/contextual-help.php CHANGED
@@ -26,13 +26,13 @@ function edd_downloads_contextual_help() {
26
 
27
  $screen->set_help_sidebar(
28
  '<p><strong>' . sprintf( __( 'For more information:', 'easy-digital-downloads' ) . '</strong></p>' .
29
- '<p>' . sprintf( __( 'Visit the <a href="%s">documentation</a> on the Easy Digital Downloads website.', 'easy-digital-downloads' ), esc_url( 'https://easydigitaldownloads.com/documentation/' ) ) ) . '</p>' .
30
  '<p>' . sprintf(
31
  __( '<a href="%s">Post an issue</a> on <a href="%s">GitHub</a>. View <a href="%s">extensions</a> or <a href="%s">themes</a>.', 'easy-digital-downloads' ),
32
  esc_url( 'https://github.com/easydigitaldownloads/Easy-Digital-Downloads/issues' ),
33
  esc_url( 'https://github.com/easydigitaldownloads/Easy-Digital-Downloads' ),
34
- esc_url( 'https://easydigitaldownloads.com/downloads/' ),
35
- esc_url( 'https://easydigitaldownloads.com/themes/' )
36
  ) . '</p>'
37
  );
38
 
@@ -90,7 +90,7 @@ function edd_downloads_contextual_help() {
90
  <li><strong>color</strong> - <em>' . implode( '</em> | <em>', $colors ) . '</em></li>
91
  <li><strong>class</strong> - ' . __( 'One or more custom CSS classes you want applied to the button.', 'easy-digital-downloads' ) . '</li>
92
  </ul>' .
93
- '<p>' . sprintf( __( 'For more information, see <a href="%s">using Shortcodes</a> on the WordPress.org Codex or <a href="%s">Easy Digital Downloads Documentation</a>', 'easy-digital-downloads' ), 'https://codex.wordpress.org/Shortcode', 'https://easydigitaldownloads.com/docs/display-purchase-buttons-purchase_link/' ) . '</p>'
94
  ) );
95
 
96
  /**
26
 
27
  $screen->set_help_sidebar(
28
  '<p><strong>' . sprintf( __( 'For more information:', 'easy-digital-downloads' ) . '</strong></p>' .
29
+ '<p>' . sprintf( __( 'Visit the <a href="%s">documentation</a> on the Easy Digital Downloads website.', 'easy-digital-downloads' ), esc_url( 'http://docs.easydigitaldownloads.com/' ) ) ) . '</p>' .
30
  '<p>' . sprintf(
31
  __( '<a href="%s">Post an issue</a> on <a href="%s">GitHub</a>. View <a href="%s">extensions</a> or <a href="%s">themes</a>.', 'easy-digital-downloads' ),
32
  esc_url( 'https://github.com/easydigitaldownloads/Easy-Digital-Downloads/issues' ),
33
  esc_url( 'https://github.com/easydigitaldownloads/Easy-Digital-Downloads' ),
34
+ esc_url( 'https://easydigitaldownloads.com/downloads/?utm_source=plugin-downloads-page&utm_medium=contextual-help-sidebar&utm_term=extensions&utm_campaign=ContextualHelp' ),
35
+ esc_url( 'https://easydigitaldownloads.com/themes/?utm_source=plugin-downloads-page&utm_medium=contextual-help-sidebar&utm_term=themes&utm_campaign=ContextualHelp' )
36
  ) . '</p>'
37
  );
38
 
90
  <li><strong>color</strong> - <em>' . implode( '</em> | <em>', $colors ) . '</em></li>
91
  <li><strong>class</strong> - ' . __( 'One or more custom CSS classes you want applied to the button.', 'easy-digital-downloads' ) . '</li>
92
  </ul>' .
93
+ '<p>' . sprintf( __( 'For more information, see <a href="%s">using Shortcodes</a> on the WordPress.org Codex or <a href="%s">Easy Digital Downloads Documentation</a>', 'easy-digital-downloads' ), 'https://codex.wordpress.org/Shortcode', 'http://docs.easydigitaldownloads.com/article/229-purchaselink' ) . '</p>'
94
  ) );
95
 
96
  /**
includes/admin/payments/contextual-help.php CHANGED
@@ -27,13 +27,13 @@ function edd_payments_contextual_help() {
27
 
28
  $screen->set_help_sidebar(
29
  '<p><strong>' . sprintf( __( 'For more information:', 'easy-digital-downloads' ) . '</strong></p>' .
30
- '<p>' . sprintf( __( 'Visit the <a href="%s">documentation</a> on the Easy Digital Downloads website.', 'easy-digital-downloads' ), esc_url( 'https://easydigitaldownloads.com/documentation/' ) ) ) . '</p>' .
31
  '<p>' . sprintf(
32
  __( '<a href="%s">Post an issue</a> on <a href="%s">GitHub</a>. View <a href="%s">extensions</a> or <a href="%s">themes</a>.', 'easy-digital-downloads' ),
33
  esc_url( 'https://github.com/easydigitaldownloads/Easy-Digital-Downloads/issues' ),
34
  esc_url( 'https://github.com/easydigitaldownloads/Easy-Digital-Downloads' ),
35
- esc_url( 'https://easydigitaldownloads.com/downloads/' ),
36
- esc_url( 'https://easydigitaldownloads.com/themes/' )
37
  ) . '</p>'
38
  );
39
 
27
 
28
  $screen->set_help_sidebar(
29
  '<p><strong>' . sprintf( __( 'For more information:', 'easy-digital-downloads' ) . '</strong></p>' .
30
+ '<p>' . sprintf( __( 'Visit the <a href="%s">documentation</a> on the Easy Digital Downloads website.', 'easy-digital-downloads' ), esc_url( 'http://docs.easydigitaldownloads.com/' ) ) ) . '</p>' .
31
  '<p>' . sprintf(
32
  __( '<a href="%s">Post an issue</a> on <a href="%s">GitHub</a>. View <a href="%s">extensions</a> or <a href="%s">themes</a>.', 'easy-digital-downloads' ),
33
  esc_url( 'https://github.com/easydigitaldownloads/Easy-Digital-Downloads/issues' ),
34
  esc_url( 'https://github.com/easydigitaldownloads/Easy-Digital-Downloads' ),
35
+ esc_url( 'https://easydigitaldownloads.com/downloads/?utm_source=plugin-payments-page&utm_medium=contextual-help-sidebar&utm_term=extensions&utm_campaign=ContextualHelp' ),
36
+ esc_url( 'https://easydigitaldownloads.com/themes/?utm_source=plugin-payments-page&utm_medium=contextual-help-sidebar&utm_term=themes&utm_campaign=ContextualHelp' )
37
  ) . '</p>'
38
  );
39
 
includes/admin/reporting/contextual-help.php CHANGED
@@ -27,13 +27,13 @@ function edd_reporting_contextual_help() {
27
 
28
  $screen->set_help_sidebar(
29
  '<p><strong>' . sprintf( __( 'For more information:', 'easy-digital-downloads' ) . '</strong></p>' .
30
- '<p>' . sprintf( __( 'Visit the <a href="%s">documentation</a> on the Easy Digital Downloads website.', 'easy-digital-downloads' ), esc_url( 'https://easydigitaldownloads.com/documentation/' ) ) ) . '</p>' .
31
  '<p>' . sprintf(
32
  __( '<a href="%s">Post an issue</a> on <a href="%s">GitHub</a>. View <a href="%s">extensions</a> or <a href="%s">themes</a>.', 'easy-digital-downloads' ),
33
  esc_url( 'https://github.com/easydigitaldownloads/Easy-Digital-Downloads/issues' ),
34
  esc_url( 'https://github.com/easydigitaldownloads/Easy-Digital-Downloads' ),
35
- esc_url( 'https://easydigitaldownloads.com/downloads/' ),
36
- esc_url( 'https://easydigitaldownloads.com/themes/' )
37
  ) . '</p>'
38
  );
39
 
27
 
28
  $screen->set_help_sidebar(
29
  '<p><strong>' . sprintf( __( 'For more information:', 'easy-digital-downloads' ) . '</strong></p>' .
30
+ '<p>' . sprintf( __( 'Visit the <a href="%s">documentation</a> on the Easy Digital Downloads website.', 'easy-digital-downloads' ), esc_url( 'http://docs.easydigitaldownloads.com/' ) ) ) . '</p>' .
31
  '<p>' . sprintf(
32
  __( '<a href="%s">Post an issue</a> on <a href="%s">GitHub</a>. View <a href="%s">extensions</a> or <a href="%s">themes</a>.', 'easy-digital-downloads' ),
33
  esc_url( 'https://github.com/easydigitaldownloads/Easy-Digital-Downloads/issues' ),
34
  esc_url( 'https://github.com/easydigitaldownloads/Easy-Digital-Downloads' ),
35
+ esc_url( 'https://easydigitaldownloads.com/downloads/?utm_source=plugin-reports-page&utm_medium=contextual-help-sidebar&utm_term=extensions&utm_campaign=ContextualHelp' ),
36
+ esc_url( 'https://easydigitaldownloads.com/themes/?utm_source=plugin-reports-page&utm_medium=contextual-help-sidebar&utm_term=themes&utm_campaign=ContextualHelp' )
37
  ) . '</p>'
38
  );
39
 
includes/admin/settings/contextual-help.php CHANGED
@@ -27,13 +27,13 @@ function edd_settings_contextual_help() {
27
 
28
  $screen->set_help_sidebar(
29
  '<p><strong>' . sprintf( __( 'For more information:', 'easy-digital-downloads' ) . '</strong></p>' .
30
- '<p>' . sprintf( __( 'Visit the <a href="%s">documentation</a> on the Easy Digital Downloads website.', 'easy-digital-downloads' ), esc_url( 'https://easydigitaldownloads.com/documentation/' ) ) ) . '</p>' .
31
  '<p>' . sprintf(
32
  __( '<a href="%s">Post an issue</a> on <a href="%s">GitHub</a>. View <a href="%s">extensions</a> or <a href="%s">themes</a>.', 'easy-digital-downloads' ),
33
  esc_url( 'https://github.com/easydigitaldownloads/Easy-Digital-Downloads/issues' ),
34
  esc_url( 'https://github.com/easydigitaldownloads/Easy-Digital-Downloads' ),
35
- esc_url( 'https://easydigitaldownloads.com/downloads/' ),
36
- esc_url( 'https://easydigitaldownloads.com/themes/' )
37
  ) . '</p>'
38
  );
39
 
27
 
28
  $screen->set_help_sidebar(
29
  '<p><strong>' . sprintf( __( 'For more information:', 'easy-digital-downloads' ) . '</strong></p>' .
30
+ '<p>' . sprintf( __( 'Visit the <a href="%s">documentation</a> on the Easy Digital Downloads website.', 'easy-digital-downloads' ), esc_url( 'http://docs.easydigitaldownloads.com/' ) ) ) . '</p>' .
31
  '<p>' . sprintf(
32
  __( '<a href="%s">Post an issue</a> on <a href="%s">GitHub</a>. View <a href="%s">extensions</a> or <a href="%s">themes</a>.', 'easy-digital-downloads' ),
33
  esc_url( 'https://github.com/easydigitaldownloads/Easy-Digital-Downloads/issues' ),
34
  esc_url( 'https://github.com/easydigitaldownloads/Easy-Digital-Downloads' ),
35
+ esc_url( 'https://easydigitaldownloads.com/downloads/?utm_source=plugin-settings-page&utm_medium=contextual-help-sidebar&utm_term=extensions&utm_campaign=ContextualHelp' ),
36
+ esc_url( 'https://easydigitaldownloads.com/themes/?utm_source=plugin-settings-page&utm_medium=contextual-help-sidebar&utm_term=themes&utm_campaign=ContextualHelp' )
37
  ) . '</p>'
38
  );
39
 
includes/admin/settings/display-settings.php CHANGED
@@ -44,13 +44,15 @@ function edd_options_page() {
44
  $has_main_settings = strlen( ob_get_contents() ) > 0;
45
  ob_end_clean();
46
 
 
47
  if ( false === $has_main_settings ) {
48
  unset( $sections['main'] );
49
 
50
  if ( 'main' === $section ) {
51
  foreach ( $sections as $section_key => $section_title ) {
52
  if ( ! empty( $all_settings[ $active_tab ][ $section_key ] ) ) {
53
- $section = $section_key;
 
54
  break;
55
  }
56
  }
@@ -130,6 +132,10 @@ function edd_options_page() {
130
  do_action( 'edd_settings_tab_bottom', $active_tab );
131
  }
132
 
 
 
 
 
133
  ?>
134
  </table>
135
  <?php submit_button(); ?>
44
  $has_main_settings = strlen( ob_get_contents() ) > 0;
45
  ob_end_clean();
46
 
47
+ $override = false;
48
  if ( false === $has_main_settings ) {
49
  unset( $sections['main'] );
50
 
51
  if ( 'main' === $section ) {
52
  foreach ( $sections as $section_key => $section_title ) {
53
  if ( ! empty( $all_settings[ $active_tab ][ $section_key ] ) ) {
54
+ $section = $section_key;
55
+ $override = true;
56
  break;
57
  }
58
  }
132
  do_action( 'edd_settings_tab_bottom', $active_tab );
133
  }
134
 
135
+ // If the main section was empty and we overrode the view with the next subsection, prepare the section for saving
136
+ if ( true === $override ) {
137
+ ?><input type="hidden" name="edd_section_override" value="<?php echo $section; ?>" /><?php
138
+ }
139
  ?>
140
  </table>
141
  <?php submit_button(); ?>
includes/admin/settings/register-settings.php CHANGED
@@ -307,7 +307,7 @@ function edd_get_registered_settings() {
307
  'name' => __( 'Allow Usage Tracking?', 'easy-digital-downloads' ),
308
  'desc' => sprintf(
309
  __( 'Allow Easy Digital Downloads to anonymously track how this plugin is used and help us make the plugin better. Opt-in to tracking and our newsletter and immediately be emailed a 20&#37; discount to the EDD shop, valid towards the <a href="%s" target="_blank">purchase of extensions</a>. No sensitive data is tracked.', 'easy-digital-downloads' ),
310
- 'https://easydigitaldownloads.com/extensions?utm_source=' . substr( md5( get_bloginfo( 'name' ) ), 0, 10 ) . '&utm_medium=admin&utm_term=settings&utm_campaign=EDDUsageTracking'
311
  ),
312
  'type' => 'checkbox',
313
  ),
@@ -911,6 +911,11 @@ function edd_settings_sanitize( $input = array() ) {
911
  if ( 'main' === $section ) {
912
  // Check for extensions that aren't using new sections
913
  $input = apply_filters( 'edd_settings_' . $tab . '_sanitize', $input );
 
 
 
 
 
914
  }
915
 
916
  // Loop through each setting being saved and pass it through a sanitization filter
307
  'name' => __( 'Allow Usage Tracking?', 'easy-digital-downloads' ),
308
  'desc' => sprintf(
309
  __( 'Allow Easy Digital Downloads to anonymously track how this plugin is used and help us make the plugin better. Opt-in to tracking and our newsletter and immediately be emailed a 20&#37; discount to the EDD shop, valid towards the <a href="%s" target="_blank">purchase of extensions</a>. No sensitive data is tracked.', 'easy-digital-downloads' ),
310
+ 'https://easydigitaldownloads.com/downloads/?utm_source=' . substr( md5( get_bloginfo( 'name' ) ), 0, 10 ) . '&utm_medium=admin&utm_term=settings&utm_campaign=EDDUsageTracking'
311
  ),
312
  'type' => 'checkbox',
313
  ),
911
  if ( 'main' === $section ) {
912
  // Check for extensions that aren't using new sections
913
  $input = apply_filters( 'edd_settings_' . $tab . '_sanitize', $input );
914
+
915
+ // Check for an override on the section for when main is empty
916
+ if ( ! empty( $_POST['edd_section_override'] ) ) {
917
+ $section = sanitize_text_field( $_POST['edd_section_override'] );
918
+ }
919
  }
920
 
921
  // Loop through each setting being saved and pass it through a sanitization filter
includes/admin/tools.php CHANGED
@@ -238,7 +238,7 @@ function edd_tools_api_keys_display() {
238
  <?php printf(
239
  __( 'These API keys allow you to use the <a href="%s">EDD REST API</a> to retrieve store data in JSON or XML for external applications or devices, such as the <a href="%s">EDD mobile app</a>.', 'easy-digital-downloads' ),
240
  'http://docs.easydigitaldownloads.com/article/544-edd-api-reference/',
241
- 'https://easydigitaldownloads.com/downloads/ios-sales-earnings-tracker/'
242
  ); ?>
243
  </p>
244
  <?php
238
  <?php printf(
239
  __( 'These API keys allow you to use the <a href="%s">EDD REST API</a> to retrieve store data in JSON or XML for external applications or devices, such as the <a href="%s">EDD mobile app</a>.', 'easy-digital-downloads' ),
240
  'http://docs.easydigitaldownloads.com/article/544-edd-api-reference/',
241
+ 'https://easydigitaldownloads.com/downloads/ios-sales-earnings-tracker/?utm_source=plugin-tools-page&utm_medium=api_keys_tab&utm_term=ios-app&utm_campaign=EDDMobileApp'
242
  ); ?>
243
  </p>
244
  <?php
includes/admin/tracking.php CHANGED
@@ -260,7 +260,7 @@ class EDD_Tracking {
260
  $optout_url = add_query_arg( 'edd_action', 'opt_out_of_tracking' );
261
 
262
  $source = substr( md5( get_bloginfo( 'name' ) ), 0, 10 );
263
- $extensions_url = 'https://easydigitaldownloads.com/extensions?utm_source=' . $source . '&utm_medium=admin&utm_term=notice&utm_campaign=EDDUsageTracking';
264
  echo '<div class="updated"><p>';
265
  echo sprintf( __( 'Allow Easy Digital Downloads to track plugin usage? Opt-in to tracking and our newsletter and immediately be emailed a 20%% discount to the EDD shop, valid towards the <a href="%s" target="_blank">purchase of extensions</a>. No sensitive data is tracked.', 'easy-digital-downloads' ), $extensions_url );
266
  echo '&nbsp;<a href="' . esc_url( $optin_url ) . '" class="button-secondary">' . __( 'Allow', 'easy-digital-downloads' ) . '</a>';
260
  $optout_url = add_query_arg( 'edd_action', 'opt_out_of_tracking' );
261
 
262
  $source = substr( md5( get_bloginfo( 'name' ) ), 0, 10 );
263
+ $extensions_url = 'https://easydigitaldownloads.com/downloads/?utm_source=' . $source . '&utm_medium=admin&utm_term=notice&utm_campaign=EDDUsageTracking';
264
  echo '<div class="updated"><p>';
265
  echo sprintf( __( 'Allow Easy Digital Downloads to track plugin usage? Opt-in to tracking and our newsletter and immediately be emailed a 20%% discount to the EDD shop, valid towards the <a href="%s" target="_blank">purchase of extensions</a>. No sensitive data is tracked.', 'easy-digital-downloads' ), $extensions_url );
266
  echo '&nbsp;<a href="' . esc_url( $optin_url ) . '" class="button-secondary">' . __( 'Allow', 'easy-digital-downloads' ) . '</a>';
includes/admin/welcome.php CHANGED
@@ -382,11 +382,11 @@ class EDD_Welcome {
382
  <div class="feature-section two-col">
383
  <div class="col">
384
  <h4><?php _e( 'Phenomenal Support','easy-digital-downloads' );?></h4>
385
- <p><?php _e( 'We do our best to provide the best support we can. If you encounter a problem or have a question, simply open a ticket using our <a href="https://easydigitaldownloads.com/support">support form</a>.', 'easy-digital-downloads' );?></p>
386
  </div>
387
  <div class="col">
388
  <h4><?php _e( 'Need Even Faster Support?', 'easy-digital-downloads' );?></h4>
389
- <p><?php _e( 'Our <a href="https://easydigitaldownloads.com/support/pricing/">Priority Support</a> system is there for customers that need faster and/or more in-depth assistance.', 'easy-digital-downloads' );?></p>
390
  </div>
391
  </div>
392
  </div>
@@ -414,7 +414,7 @@ class EDD_Welcome {
414
  </div>
415
  <div class="col">
416
  <h4><?php _e( 'Visit the Extension Store', 'easy-digital-downloads' );?></h4>
417
- <p><?php _e( '<a href="https://easydigitaldownloads.com/downloads" target="_blank">The Extensions store</a> has a list of all available extensions, including convenient category filters so you can find exactly what you are looking for.', 'easy-digital-downloads' );?></p>
418
  </div>
419
  </div>
420
  </div>
382
  <div class="feature-section two-col">
383
  <div class="col">
384
  <h4><?php _e( 'Phenomenal Support','easy-digital-downloads' );?></h4>
385
+ <p><?php _e( 'We do our best to provide the best support we can. If you encounter a problem or have a question, simply open a ticket using our <a href="https://easydigitaldownloads.com/support/?utm_source=plugin-welcome-page&utm_medium=support-link&utm_term=support&utm_campaign=EDDWelcomeSupport">support form</a>.', 'easy-digital-downloads' );?></p>
386
  </div>
387
  <div class="col">
388
  <h4><?php _e( 'Need Even Faster Support?', 'easy-digital-downloads' );?></h4>
389
+ <p><?php _e( 'Our <a href="https://easydigitaldownloads.com/support/pricing/?utm_source=plugin-welcome-page&utm_medium=support-link&utm_term=priority-support&utm_campaign=EDDWelcomeSupport">Priority Support</a> system is there for customers that need faster and/or more in-depth assistance.', 'easy-digital-downloads' );?></p>
390
  </div>
391
  </div>
392
  </div>
414
  </div>
415
  <div class="col">
416
  <h4><?php _e( 'Visit the Extension Store', 'easy-digital-downloads' );?></h4>
417
+ <p><?php _e( '<a href="https://easydigitaldownloads.com/downloads/?utm_source=plugin-welcome-page&utm_medium=extensions-link&utm_term=extensions&utm_campaign=EDDWelcomeExtensions" target="_blank">The Extensions store</a> has a list of all available extensions, including convenient category filters so you can find exactly what you are looking for.', 'easy-digital-downloads' );?></p>
418
  </div>
419
  </div>
420
  </div>
readme.txt CHANGED
@@ -6,7 +6,7 @@ Donate link: https://pippinsplugins.com/support-the-site
6
  Tags: download, downloads, e-store, eshop, digital downloads, e-commerce, wp-ecommerce, wp ecommerce
7
  Requires at least: 4.0
8
  Tested up to: 4.6
9
- Stable Tag: 2.5.15
10
 
11
  License: GNU Version 2 or Any Later Version
12
 
@@ -214,6 +214,10 @@ Yes, through the addition of one or more of the add-on payment gateways, you can
214
 
215
  == Changelog ==
216
 
 
 
 
 
217
  = 2.5.15, May 11, 2016 =
218
 
219
  * Fix: Removed unused variables and typos in unit tests
6
  Tags: download, downloads, e-store, eshop, digital downloads, e-commerce, wp-ecommerce, wp ecommerce
7
  Requires at least: 4.0
8
  Tested up to: 4.6
9
+ Stable Tag: 2.5.16
10
 
11
  License: GNU Version 2 or Any Later Version
12
 
214
 
215
  == Changelog ==
216
 
217
+ = 2.5.16, May 18, 2016 =
218
+
219
+ * Fix: Checkboxes cannot be unchecked in the settings screens of some extensions if only one extension is activated
220
+
221
  = 2.5.15, May 11, 2016 =
222
 
223
  * Fix: Removed unused variables and typos in unit tests