WooCommerce Checkout Manager - Version 4.8.0

Version Description

  • Fix: woocommerce checkout datepicker field disabled days
  • Fix: woocommerce checkout datepicker label scape quotes
  • Fix: woocommerce checkout datepicker limit option
Download this release

Release Info

Developer quadlayers
Plugin Icon 128x128 WooCommerce Checkout Manager
Version 4.8.0
Comparing to
See all releases

Code changes from version 4.7.8 to 4.8.0

assets/backend/js/wooccm-admin-field.js CHANGED
@@ -34,6 +34,19 @@
34
  }
35
  });
36
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37
  var FieldViewPanels = Backbone.View.extend({
38
  templates: {},
39
  initialize: function () {
@@ -41,7 +54,6 @@
41
  },
42
  render: function () {
43
  this.$el.html(this.templates.window(this.model.attributes));
44
- this.$el.trigger('wooccm-enhanced-between-dates');
45
  this.$el.trigger('wooccm-enhanced-options');
46
  this.$el.trigger('wooccm-enhanced-select');
47
  this.$el.trigger('init_tooltips');
@@ -75,6 +87,7 @@
75
  'change .media-modal-render-tabs': 'renderTabs',
76
  'change .media-modal-render-panels': 'renderPanels',
77
  'change .media-modal-render-info': 'renderInfo',
 
78
  'submit .media-modal-form': 'submit',
79
  },
80
  templates: {},
@@ -97,10 +110,12 @@
97
 
98
  this.tabs = new FieldViewTabs({model: modal.model});
99
  this.panels = new FieldViewPanels({model: modal.model});
 
100
  this.info = new FieldViewInfo({model: modal.model});
101
 
102
  this.assign(this.tabs, '#wooccm-modal-tabs');
103
  this.assign(this.panels, '#wooccm-modal-panels');
 
104
  this.assign(this.info, '#wooccm-modal-info');
105
 
106
  // _.delay(function () {
@@ -208,6 +223,9 @@
208
  renderInfo: function () {
209
  this.info.render();
210
  },
 
 
 
211
 
212
  // table: function (e) {
213
  // e.preventDefault();
34
  }
35
  });
36
 
37
+ var FieldViewDatePickerLimit = Backbone.View.extend({
38
+ templates: {},
39
+ initialize: function () {
40
+ this.templates.window = wp.template('wooccm-modal-datepicker-limit');
41
+ },
42
+ render: function () {
43
+ this.$el.html(this.templates.window(this.model.attributes));
44
+ this.$el.trigger('wooccm-enhanced-between-dates');
45
+ this.$el.trigger('init_tooltips');
46
+
47
+ }
48
+ });
49
+
50
  var FieldViewPanels = Backbone.View.extend({
51
  templates: {},
52
  initialize: function () {
54
  },
55
  render: function () {
56
  this.$el.html(this.templates.window(this.model.attributes));
 
57
  this.$el.trigger('wooccm-enhanced-options');
58
  this.$el.trigger('wooccm-enhanced-select');
59
  this.$el.trigger('init_tooltips');
87
  'change .media-modal-render-tabs': 'renderTabs',
88
  'change .media-modal-render-panels': 'renderPanels',
89
  'change .media-modal-render-info': 'renderInfo',
90
+ 'change .media-modal-render-datepicker-limit': 'renderDate',
91
  'submit .media-modal-form': 'submit',
92
  },
93
  templates: {},
110
 
111
  this.tabs = new FieldViewTabs({model: modal.model});
112
  this.panels = new FieldViewPanels({model: modal.model});
113
+ this.datepickerLimit = new FieldViewDatePickerLimit({model: modal.model});
114
  this.info = new FieldViewInfo({model: modal.model});
115
 
116
  this.assign(this.tabs, '#wooccm-modal-tabs');
117
  this.assign(this.panels, '#wooccm-modal-panels');
118
+ this.assign(this.datepickerLimit, '#wooccm-modal-datepicker-limit');
119
  this.assign(this.info, '#wooccm-modal-info');
120
 
121
  // _.delay(function () {
223
  renderInfo: function () {
224
  this.info.render();
225
  },
226
+ renderDate: function () {
227
+ this.datepickerLimit.render();
228
+ },
229
 
230
  // table: function (e) {
231
  // e.preventDefault();
assets/backend/js/wooccm-admin-field.min.js CHANGED
@@ -1 +1 @@
1
- (function(f){var h=0,b;var e=function(m){return m.is(".processing")||m.parents(".processing").length};var d=function(m){if(!e(m)){m.addClass("processing").block({message:null,overlayCSS:{background:"#fff",opacity:0.6}})}};var g=function(m){m.removeClass("processing").unblock()};var c=Backbone.View.extend({templates:{},initialize:function(){this.templates.window=wp.template("wooccm-modal-tabs")},render:function(){this.$el.html(this.templates.window(this.model.attributes));this.$el.trigger("wooccm-tab-panels")}});var l=Backbone.View.extend({templates:{},initialize:function(){this.templates.window=wp.template("wooccm-modal-panels")},render:function(){this.$el.html(this.templates.window(this.model.attributes));this.$el.trigger("wooccm-enhanced-between-dates");this.$el.trigger("wooccm-enhanced-options");this.$el.trigger("wooccm-enhanced-select");this.$el.trigger("init_tooltips")}});var k=Backbone.View.extend({templates:{},initialize:function(){this.templates.window=wp.template("wooccm-modal-info")},render:function(){this.$el.html(this.templates.window(this.model.attributes));this.$el.trigger("wooccm-enhanced-select");this.$el.trigger("init_tooltips")}});var j=Backbone.View.extend({events:{"change input":"enable","change textarea":"enable","change select":"enable","click .media-modal-backdrop":"close","click .media-modal-close":"close","click .media-modal-prev":"edit","click .media-modal-next":"edit","change .media-modal-change":"change","change .media-modal-parent":"parent","change .media-modal-render-tabs":"renderTabs","change .media-modal-render-panels":"renderPanels","change .media-modal-render-info":"renderInfo","submit .media-modal-form":"submit",},templates:{},initialize:function(){_.bindAll(this,"open","edit","parent","change","load","render","close","submit");this.init();this.open()},init:function(){this.templates.window=wp.template("wooccm-modal-main")},assign:function(n,m){n.setElement(this.$(m)).render()},render:function(){var m=this;m.$el.html(m.templates.window(m.model.attributes));this.tabs=new c({model:m.model});this.panels=new l({model:m.model});this.info=new k({model:m.model});this.assign(this.tabs,"#wooccm-modal-tabs");this.assign(this.panels,"#wooccm-modal-panels");this.assign(this.info,"#wooccm-modal-info")},load:function(){var m=this;if(m.model.attributes.id==undefined){m.render();return}f.ajax({url:wooccm_field.ajax_url,data:{action:"wooccm_load_field",nonce:wooccm_field.nonce,field_id:this.model.attributes.id},dataType:"json",type:"POST",beforeSend:function(){},complete:function(){},error:function(){alert("Error!")},success:function(n){if(n.success){m.model.set(n.data);m.render()}else{alert(n.data)}}})},edit:function(q){q.preventDefault();var o=this,p=f(q.target),n=parseInt(f(".wc_gateways tr[data-field_id]").length),m=parseInt(o.model.get("order"));h++;if(b){clearTimeout(b)}b=setTimeout(function(){if(p.hasClass("media-modal-next")){m=Math.min(m+h,n)}else{m=Math.max(m-h,1)}o.model.set({id:parseInt(f(".wc_gateways tr[data-field_order="+m+"]").data("field_id"))});h=0;o.load()},300)},open:function(m){this.load();f("body").addClass("modal-open").append(this.$el)},update:function(p){p.preventDefault();var n=f(p.target),m=n.attr("name"),o=n.val();if(p.target.type==="checkbox"){o=n.prop("checked")===true?1:0}this.model.attributes[m]=o;this.model.changed[m]=o},change:function(m){m.preventDefault();this.update(m);this.enable()},renderTabs:function(){this.tabs.render()},renderPanels:function(){this.panels.render()},renderInfo:function(){this.info.render()},close:function(m){m.preventDefault();this.undelegateEvents();f(document).off("focusin");f("body").removeClass("modal-open");this.remove()},parent:function(p){p.preventDefault();var o=this,n=o.$el.find("#wooccm_modal"),m=n.find(".attachment-details");this.update(p);f.ajax({url:wooccm_field.ajax_url,data:{action:"wooccm_load_parent",nonce:wooccm_field.nonce,conditional_parent_key:o.model.attributes.conditional_parent_key},dataType:"json",type:"POST",beforeSend:function(){f(".media-modal-submit").attr("disabled",true);m.addClass("save-waiting")},complete:function(){m.addClass("save-complete");m.removeClass("save-waiting")},error:function(){alert("Error!")},success:function(q){if(q.success){o.model.attributes.parent=q.data;o.model.changed.parent=q.data;o.renderInfo()}else{alert(q.data)}}});return false},reload:function(m){if(this.$el.find("#wooccm_modal").hasClass("reload")){location.reload();return}this.remove();return},close:function(m){m.preventDefault();this.undelegateEvents();f(document).off("focusin");f("body").removeClass("modal-open");this.reload(m);return},enable:function(m){f(".media-modal-submit").removeProp("disabled")},submit:function(p){p.preventDefault();var o=this,n=o.$el.find("#wooccm_modal"),m=n.find(".attachment-details");f.ajax({url:wooccm_field.ajax_url,data:{action:"wooccm_save_field",nonce:wooccm_field.nonce,field_id:o.model.attributes.id,field_data:f("form",this.$el).serialize()},dataType:"json",type:"POST",beforeSend:function(){f(".media-modal-submit").prop("disabled",true);m.addClass("save-waiting");d(n)},complete:function(){m.addClass("save-complete");m.removeClass("save-waiting");g(n)},error:function(){alert("Error!")},success:function(q){if(q.success){if(o.model.attributes.id==undefined){n.addClass("reload");o.close(p)}o.model.set(q.data)}else{alert(q.data)}}});return false}});var i=Backbone.Model.extend({defaults:wooccm_field.args});var a=Backbone.View.extend({initialize:function(p){var o=f(p.target),n=o.closest("[data-field_id]").data("field_id");var m=new i();m.set({id:n});new j({model:m})},});f("#wooccm_billing_settings_add, #wooccm_shipping_settings_add, #wooccm_additional_settings_add").on("click",function(m){m.preventDefault();new a(m)});f("#wooccm_billing_settings_reset, #wooccm_shipping_settings_reset, #wooccm_additional_settings_reset").on("click",function(n){n.preventDefault();var m=f(n.target);var o=confirm(wooccm_field.message.reset);if(!o){return false}f.ajax({url:wooccm_field.ajax_url,data:{action:"wooccm_reset_fields",nonce:wooccm_field.nonce},dataType:"json",type:"POST",beforeSend:function(){},complete:function(){},error:function(){alert("Error!")},success:function(p){if(p.success){location.reload()}else{alert(p.data)}}});return false});f(".wooccm_billing_settings_edit, .wooccm_shipping_settings_edit, .wooccm_additional_settings_edit").on("click",function(m){m.preventDefault();new a(m)});f(".wooccm_billing_settings_delete, .wooccm_shipping_settings_delete, .wooccm_additional_settings_delete").on("click",function(p){p.preventDefault();var o=f(p.target),n=o.closest("[data-field_id]"),m=n.data("field_id");var q=confirm(wooccm_field.message.remove);if(!q){return false}f.ajax({url:wooccm_field.ajax_url,data:{action:"wooccm_delete_field",nonce:wooccm_field.nonce,field_id:m,},dataType:"json",type:"POST",beforeSend:function(){},complete:function(){},error:function(){alert("Error!")},success:function(r){if(r.success){n.remove()}else{alert(r.data)}}});return false});f(document).on("click",".wooccm-field-toggle-attribute",function(p){p.preventDefault();var m=f(this),o=m.closest("tr"),n=m.find(".woocommerce-input-toggle");f.ajax({url:wooccm_field.ajax_url,data:{action:"wooccm_toggle_field_attribute",nonce:wooccm_field.nonce,field_attr:f(this).data("field_attr"),field_id:o.data("field_id")},dataType:"json",type:"POST",beforeSend:function(q){n.addClass("woocommerce-input-toggle--loading")},success:function(q){if(true===q.data){n.removeClass("woocommerce-input-toggle--enabled, woocommerce-input-toggle--disabled");n.addClass("woocommerce-input-toggle--enabled");n.removeClass("woocommerce-input-toggle--loading")}else{if(true!==q.data){n.removeClass("woocommerce-input-toggle--enabled, woocommerce-input-toggle--disabled");n.addClass("woocommerce-input-toggle--disabled");n.removeClass("woocommerce-input-toggle--loading")}}}});return false});f(document).on("change",".wooccm-field-change-attribute",function(o){o.preventDefault();var m=f(this),n=m.closest("tr");f.ajax({url:wooccm_field.ajax_url,data:{action:"wooccm_change_field_attribute",nonce:wooccm_field.nonce,field_attr:m.data("field_attr"),field_value:m.val(),field_id:n.data("field_id"),},dataType:"json",type:"POST",beforeSend:function(p){m.prop("disabled",true)},success:function(p){console.log(p.data)},complete:function(p){m.prop("disabled",false)},});return false})})(jQuery);
1
+ (function(f){var h=0,b;var e=function(n){return n.is(".processing")||n.parents(".processing").length};var d=function(n){if(!e(n)){n.addClass("processing").block({message:null,overlayCSS:{background:"#fff",opacity:0.6}})}};var g=function(n){n.removeClass("processing").unblock()};var c=Backbone.View.extend({templates:{},initialize:function(){this.templates.window=wp.template("wooccm-modal-tabs")},render:function(){this.$el.html(this.templates.window(this.model.attributes));this.$el.trigger("wooccm-tab-panels")}});var l=Backbone.View.extend({templates:{},initialize:function(){this.templates.window=wp.template("wooccm-modal-datepicker-limit")},render:function(){this.$el.html(this.templates.window(this.model.attributes));this.$el.trigger("wooccm-enhanced-between-dates");this.$el.trigger("init_tooltips")}});var m=Backbone.View.extend({templates:{},initialize:function(){this.templates.window=wp.template("wooccm-modal-panels")},render:function(){this.$el.html(this.templates.window(this.model.attributes));this.$el.trigger("wooccm-enhanced-options");this.$el.trigger("wooccm-enhanced-select");this.$el.trigger("init_tooltips")}});var k=Backbone.View.extend({templates:{},initialize:function(){this.templates.window=wp.template("wooccm-modal-info")},render:function(){this.$el.html(this.templates.window(this.model.attributes));this.$el.trigger("wooccm-enhanced-select");this.$el.trigger("init_tooltips")}});var j=Backbone.View.extend({events:{"change input":"enable","change textarea":"enable","change select":"enable","click .media-modal-backdrop":"close","click .media-modal-close":"close","click .media-modal-prev":"edit","click .media-modal-next":"edit","change .media-modal-change":"change","change .media-modal-parent":"parent","change .media-modal-render-tabs":"renderTabs","change .media-modal-render-panels":"renderPanels","change .media-modal-render-info":"renderInfo","change .media-modal-render-datepicker-limit":"renderDate","submit .media-modal-form":"submit",},templates:{},initialize:function(){_.bindAll(this,"open","edit","parent","change","load","render","close","submit");this.init();this.open()},init:function(){this.templates.window=wp.template("wooccm-modal-main")},assign:function(o,n){o.setElement(this.$(n)).render()},render:function(){var n=this;n.$el.html(n.templates.window(n.model.attributes));this.tabs=new c({model:n.model});this.panels=new m({model:n.model});this.datepickerLimit=new l({model:n.model});this.info=new k({model:n.model});this.assign(this.tabs,"#wooccm-modal-tabs");this.assign(this.panels,"#wooccm-modal-panels");this.assign(this.datepickerLimit,"#wooccm-modal-datepicker-limit");this.assign(this.info,"#wooccm-modal-info")},load:function(){var n=this;if(n.model.attributes.id==undefined){n.render();return}f.ajax({url:wooccm_field.ajax_url,data:{action:"wooccm_load_field",nonce:wooccm_field.nonce,field_id:this.model.attributes.id},dataType:"json",type:"POST",beforeSend:function(){},complete:function(){},error:function(){alert("Error!")},success:function(o){if(o.success){n.model.set(o.data);n.render()}else{alert(o.data)}}})},edit:function(r){r.preventDefault();var p=this,q=f(r.target),o=parseInt(f(".wc_gateways tr[data-field_id]").length),n=parseInt(p.model.get("order"));h++;if(b){clearTimeout(b)}b=setTimeout(function(){if(q.hasClass("media-modal-next")){n=Math.min(n+h,o)}else{n=Math.max(n-h,1)}p.model.set({id:parseInt(f(".wc_gateways tr[data-field_order="+n+"]").data("field_id"))});h=0;p.load()},300)},open:function(n){this.load();f("body").addClass("modal-open").append(this.$el)},update:function(q){q.preventDefault();var o=f(q.target),n=o.attr("name"),p=o.val();if(q.target.type==="checkbox"){p=o.prop("checked")===true?1:0}this.model.attributes[n]=p;this.model.changed[n]=p},change:function(n){n.preventDefault();this.update(n);this.enable()},renderTabs:function(){this.tabs.render()},renderPanels:function(){this.panels.render()},renderInfo:function(){this.info.render()},renderDate:function(){this.datepickerLimit.render()},close:function(n){n.preventDefault();this.undelegateEvents();f(document).off("focusin");f("body").removeClass("modal-open");this.remove()},parent:function(q){q.preventDefault();var p=this,o=p.$el.find("#wooccm_modal"),n=o.find(".attachment-details");this.update(q);f.ajax({url:wooccm_field.ajax_url,data:{action:"wooccm_load_parent",nonce:wooccm_field.nonce,conditional_parent_key:p.model.attributes.conditional_parent_key},dataType:"json",type:"POST",beforeSend:function(){f(".media-modal-submit").attr("disabled",true);n.addClass("save-waiting")},complete:function(){n.addClass("save-complete");n.removeClass("save-waiting")},error:function(){alert("Error!")},success:function(r){if(r.success){p.model.attributes.parent=r.data;p.model.changed.parent=r.data;p.renderInfo()}else{alert(r.data)}}});return false},reload:function(n){if(this.$el.find("#wooccm_modal").hasClass("reload")){location.reload();return}this.remove();return},close:function(n){n.preventDefault();this.undelegateEvents();f(document).off("focusin");f("body").removeClass("modal-open");this.reload(n);return},enable:function(n){f(".media-modal-submit").removeProp("disabled")},submit:function(q){q.preventDefault();var p=this,o=p.$el.find("#wooccm_modal"),n=o.find(".attachment-details");f.ajax({url:wooccm_field.ajax_url,data:{action:"wooccm_save_field",nonce:wooccm_field.nonce,field_id:p.model.attributes.id,field_data:f("form",this.$el).serialize()},dataType:"json",type:"POST",beforeSend:function(){f(".media-modal-submit").prop("disabled",true);n.addClass("save-waiting");d(o)},complete:function(){n.addClass("save-complete");n.removeClass("save-waiting");g(o)},error:function(){alert("Error!")},success:function(r){if(r.success){if(p.model.attributes.id==undefined){o.addClass("reload");p.close(q)}p.model.set(r.data)}else{alert(r.data)}}});return false}});var i=Backbone.Model.extend({defaults:wooccm_field.args});var a=Backbone.View.extend({initialize:function(q){var p=f(q.target),o=p.closest("[data-field_id]").data("field_id");var n=new i();n.set({id:o});new j({model:n})},});f("#wooccm_billing_settings_add, #wooccm_shipping_settings_add, #wooccm_additional_settings_add").on("click",function(n){n.preventDefault();new a(n)});f("#wooccm_billing_settings_reset, #wooccm_shipping_settings_reset, #wooccm_additional_settings_reset").on("click",function(o){o.preventDefault();var n=f(o.target);var p=confirm(wooccm_field.message.reset);if(!p){return false}f.ajax({url:wooccm_field.ajax_url,data:{action:"wooccm_reset_fields",nonce:wooccm_field.nonce},dataType:"json",type:"POST",beforeSend:function(){},complete:function(){},error:function(){alert("Error!")},success:function(q){if(q.success){location.reload()}else{alert(q.data)}}});return false});f(".wooccm_billing_settings_edit, .wooccm_shipping_settings_edit, .wooccm_additional_settings_edit").on("click",function(n){n.preventDefault();new a(n)});f(".wooccm_billing_settings_delete, .wooccm_shipping_settings_delete, .wooccm_additional_settings_delete").on("click",function(q){q.preventDefault();var p=f(q.target),o=p.closest("[data-field_id]"),n=o.data("field_id");var r=confirm(wooccm_field.message.remove);if(!r){return false}f.ajax({url:wooccm_field.ajax_url,data:{action:"wooccm_delete_field",nonce:wooccm_field.nonce,field_id:n,},dataType:"json",type:"POST",beforeSend:function(){},complete:function(){},error:function(){alert("Error!")},success:function(s){if(s.success){o.remove()}else{alert(s.data)}}});return false});f(document).on("click",".wooccm-field-toggle-attribute",function(q){q.preventDefault();var n=f(this),p=n.closest("tr"),o=n.find(".woocommerce-input-toggle");f.ajax({url:wooccm_field.ajax_url,data:{action:"wooccm_toggle_field_attribute",nonce:wooccm_field.nonce,field_attr:f(this).data("field_attr"),field_id:p.data("field_id")},dataType:"json",type:"POST",beforeSend:function(r){o.addClass("woocommerce-input-toggle--loading")},success:function(r){if(true===r.data){o.removeClass("woocommerce-input-toggle--enabled, woocommerce-input-toggle--disabled");o.addClass("woocommerce-input-toggle--enabled");o.removeClass("woocommerce-input-toggle--loading")}else{if(true!==r.data){o.removeClass("woocommerce-input-toggle--enabled, woocommerce-input-toggle--disabled");o.addClass("woocommerce-input-toggle--disabled");o.removeClass("woocommerce-input-toggle--loading")}}}});return false});f(document).on("change",".wooccm-field-change-attribute",function(p){p.preventDefault();var n=f(this),o=n.closest("tr");f.ajax({url:wooccm_field.ajax_url,data:{action:"wooccm_change_field_attribute",nonce:wooccm_field.nonce,field_attr:n.data("field_attr"),field_value:n.val(),field_id:o.data("field_id"),},dataType:"json",type:"POST",beforeSend:function(q){n.prop("disabled",true)},success:function(q){console.log(q.data)},complete:function(q){n.prop("disabled",false)},});return false})})(jQuery);
assets/frontend/js/wooccm-checkout.js CHANGED
@@ -343,7 +343,8 @@
343
 
344
  $('.wooccm-enhanced-datepicker').each(function (i, field) {
345
 
346
- var $input = $(this);
 
347
 
348
  if ($.isFunction($.fn.datepicker)) {
349
  $input.datepicker({
@@ -351,13 +352,11 @@
351
  minDate: $input.data('mindate') || undefined,
352
  maxDate: $input.data('maxdate') || undefined,
353
  beforeShowDay: function (date) {
354
- var day = date.getDay(),
355
- disable = $input.data('disable') || false;
356
- if (!disable) {
357
- return [true]
358
- } else {
359
- return [disable[day] !== undefined];
360
  }
 
361
  }
362
  });
363
  }
343
 
344
  $('.wooccm-enhanced-datepicker').each(function (i, field) {
345
 
346
+ var $input = $(this),
347
+ disable = $input.data('disable') || false;
348
 
349
  if ($.isFunction($.fn.datepicker)) {
350
  $input.datepicker({
352
  minDate: $input.data('mindate') || undefined,
353
  maxDate: $input.data('maxdate') || undefined,
354
  beforeShowDay: function (date) {
355
+ var day = date.getDay().toString();
356
+ if (disable) {
357
+ return [$.inArray(day, disable) === -1];
 
 
 
358
  }
359
+ return [true];
360
  }
361
  });
362
  }
includes/model/class-wooccm-field.php CHANGED
@@ -262,7 +262,6 @@ class WOOCCM_Field {
262
  $field['order'] = $field_id + 1;
263
  }
264
 
265
-
266
  if (!empty($field['conditional_parent_key'])) {
267
 
268
  if (strpos($field['conditional_parent_key'], $this->prefix) === false) {
@@ -274,7 +273,7 @@ class WOOCCM_Field {
274
  }
275
  }
276
 
277
- return $field;
278
  }
279
 
280
  public function register_wpml_string($value) {
262
  $field['order'] = $field_id + 1;
263
  }
264
 
 
265
  if (!empty($field['conditional_parent_key'])) {
266
 
267
  if (strpos($field['conditional_parent_key'], $this->prefix) === false) {
273
  }
274
  }
275
 
276
+ return wp_unslash($field);
277
  }
278
 
279
  public function register_wpml_string($value) {
includes/view/backend/pages/additional.php CHANGED
@@ -6,6 +6,4 @@
6
  </div>
7
  <?php include_once( 'parts/actions.php' ); ?>
8
  <?php include_once( 'parts/loop.php' ); ?>
9
- <script type="text/html" id='tmpl-wooccm-modal-window'>
10
- <?php include_once( 'modals/modal-field.php' ); ?>
11
- </script>
6
  </div>
7
  <?php include_once( 'parts/actions.php' ); ?>
8
  <?php include_once( 'parts/loop.php' ); ?>
9
+ <?php include_once( 'modals/field.php' ); ?>
 
 
includes/view/backend/pages/modals/field.php CHANGED
@@ -24,6 +24,9 @@
24
  <# } #>
25
  <?php include_once( 'parts/panel-admin.php' ); ?>
26
  </script>
 
 
 
27
  <script type="text/html" id='tmpl-wooccm-modal-info'>
28
  <?php include_once( 'parts/info.php' ); ?>
29
  </script>
24
  <# } #>
25
  <?php include_once( 'parts/panel-admin.php' ); ?>
26
  </script>
27
+ <script type="text/html" id='tmpl-wooccm-modal-datepicker-limit'>
28
+ <?php include_once( 'parts/panel-datepicker-limit.php' ); ?>
29
+ </script>
30
  <script type="text/html" id='tmpl-wooccm-modal-info'>
31
  <?php include_once( 'parts/info.php' ); ?>
32
  </script>
includes/view/backend/pages/modals/parts/panel-datepicker-limit.php ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <# if ( data.date_limit == 'variable' ) { #>
2
+ <div class="options_group wooccm-premium">
3
+ <p class="form-field">
4
+ <label><?php esc_html_e('Days before', 'woocommerce-checkout-manager'); ?></label>
5
+ <input class="short" type="number" placeholder="3" min="0" max="365" name="date_limit_variable_min" value="{{data.date_limit_variable_min}}">
6
+ <span class="description premium">(<?php esc_html_e('This is a premium feature', 'woocommerce-checkout-manager'); ?>)</span>
7
+ </p>
8
+ <p class="form-field">
9
+ <label><?php esc_html_e('Days after', 'woocommerce-checkout-manager'); ?></label>
10
+ <input class="short" type="number" placeholder="3" min="0" max="365" name="date_limit_variable_max" value="{{data.date_limit_variable_max}}">
11
+ <span class="description premium">(<?php esc_html_e('This is a premium feature', 'woocommerce-checkout-manager'); ?>)</span>
12
+ </p>
13
+ </div>
14
+ <# } else if ( data.date_limit == 'fixed' ) { #>
15
+ <div class="options_group wooccm-premium wooccm-enhanced-between-dates">
16
+ <p class="form-field dimensions_field">
17
+ <label for="product_length"><?php esc_html_e('Between dates', 'woocommerce-checkout-manager'); ?></label>
18
+ <span class="wrap">
19
+ <input style="width:48.1%" type="text" class="short " name="date_limit_fixed_min" value="{{data.date_limit_fixed_min}}" placeholder="<?php esc_html_e('From… YYYY-MM-DD', 'woocommerce-checkout-manager'); ?>" maxlength="10" pattern="[0-9]{4}-(0[1-9]|1[012])-(0[1-9]|1[0-9]|2[0-9]|3[01])">
20
+ <input style="width:48.1%;margin: 0;" type="text" class="short" name="date_limit_fixed_max" value="{{data.date_limit_fixed_max}}" placeholder="<?php esc_html_e('From… YYYY-MM-DD', 'woocommerce-checkout-manager'); ?>" maxlength="10" pattern="[0-9]{4}-(0[1-9]|1[012])-(0[1-9]|1[0-9]|2[0-9]|3[01])">
21
+ </span>
22
+ <span class="description premium">(<?php esc_html_e('This is a premium feature', 'woocommerce-checkout-manager'); ?>)</span>
23
+ </p>
24
+ </div>
25
+ <# } #>
includes/view/backend/pages/modals/parts/panel-datepicker.php CHANGED
@@ -10,39 +10,13 @@
10
  <div class="options_group wooccm-premium">
11
  <p class="form-field">
12
  <label><?php esc_html_e('Date limit', 'woocommerce-checkout-manager'); ?></label>
13
- <select class="media-modal-change select short" name="date_limit">
14
  <option <# if ( data.date_limit == 'variable' ) { #>selected="selected"<# } #> value="variable"><?php esc_html_e('Since current date', 'woocommerce-checkout-manager'); ?></option>
15
  <option <# if ( data.date_limit == 'fixed' ) { #>selected="selected"<# } #> value="fixed"><?php esc_html_e('Between fixed dates', 'woocommerce-checkout-manager'); ?></option>
16
  </select>
17
  <span class="description premium">(<?php esc_html_e('This is a premium feature', 'woocommerce-checkout-manager'); ?>)</span>
18
  </p>
19
  </div>
20
- <# if ( data.date_limit == 'variable' ) { #>
21
- <div class="options_group wooccm-premium">
22
- <p class="form-field">
23
- <label><?php esc_html_e('Days before', 'woocommerce-checkout-manager'); ?></label>
24
- <input class="short" type="number" placeholder="3" min="0" max="365" name="date_limit_variable_min" value="{{data.date_limit_variable_min}}">
25
- <span class="description premium">(<?php esc_html_e('This is a premium feature', 'woocommerce-checkout-manager'); ?>)</span>
26
- </p>
27
- <p class="form-field">
28
- <label><?php esc_html_e('Days after', 'woocommerce-checkout-manager'); ?></label>
29
- <input class="short" type="number" placeholder="3" min="0" max="365" name="date_limit_variable_max" value="{{data.date_limit_variable_max}}">
30
- <span class="description premium">(<?php esc_html_e('This is a premium feature', 'woocommerce-checkout-manager'); ?>)</span>
31
- </p>
32
- </div>
33
- <# } #>
34
- <# if ( data.date_limit == 'fixed' ) { #>
35
- <div class="options_group wooccm-premium wooccm-enhanced-between-dates">
36
- <p class="form-field dimensions_field">
37
- <label for="product_length"><?php esc_html_e('Between dates', 'woocommerce-checkout-manager'); ?></label>
38
- <span class="wrap">
39
- <input style="width:48.1%" type="text" class="short " name="date_limit_fixed_min" value="{{data.date_limit_fixed_min}}" placeholder="<?php esc_html_e('From… YYYY-MM-DD', 'woocommerce-checkout-manager'); ?>" maxlength="10" pattern="[0-9]{4}-(0[1-9]|1[012])-(0[1-9]|1[0-9]|2[0-9]|3[01])">
40
- <input style="width:48.1%;margin: 0;" type="text" class="short" name="date_limit_fixed_max" value="{{data.date_limit_fixed_max}}" placeholder="<?php esc_html_e('From… YYYY-MM-DD', 'woocommerce-checkout-manager'); ?>" maxlength="10" pattern="[0-9]{4}-(0[1-9]|1[012])-(0[1-9]|1[0-9]|2[0-9]|3[01])">
41
- </span>
42
- <span class="description premium">(<?php esc_html_e('This is a premium feature', 'woocommerce-checkout-manager'); ?>)</span>
43
- </p>
44
- </div>
45
- <# } #>
46
  <div class="options_group wooccm-premium">
47
  <p class="form-field">
48
  <label><?php esc_html_e('Days disable', 'woocommerce-checkout-manager'); ?></label>
@@ -54,4 +28,6 @@
54
  <span class="description premium">(<?php esc_html_e('This is a premium feature', 'woocommerce-checkout-manager'); ?>)</span>
55
  </p>
56
  </div>
 
 
57
  </div>
10
  <div class="options_group wooccm-premium">
11
  <p class="form-field">
12
  <label><?php esc_html_e('Date limit', 'woocommerce-checkout-manager'); ?></label>
13
+ <select class="media-modal-change media-modal-render-datepicker-limit select short" name="date_limit">
14
  <option <# if ( data.date_limit == 'variable' ) { #>selected="selected"<# } #> value="variable"><?php esc_html_e('Since current date', 'woocommerce-checkout-manager'); ?></option>
15
  <option <# if ( data.date_limit == 'fixed' ) { #>selected="selected"<# } #> value="fixed"><?php esc_html_e('Between fixed dates', 'woocommerce-checkout-manager'); ?></option>
16
  </select>
17
  <span class="description premium">(<?php esc_html_e('This is a premium feature', 'woocommerce-checkout-manager'); ?>)</span>
18
  </p>
19
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
20
  <div class="options_group wooccm-premium">
21
  <p class="form-field">
22
  <label><?php esc_html_e('Days disable', 'woocommerce-checkout-manager'); ?></label>
28
  <span class="description premium">(<?php esc_html_e('This is a premium feature', 'woocommerce-checkout-manager'); ?>)</span>
29
  </p>
30
  </div>
31
+ <div id="wooccm-modal-datepicker-limit">
32
+ </div>
33
  </div>
includes/view/backend/pages/shipping.php CHANGED
@@ -6,6 +6,4 @@
6
  </div>
7
  <?php include_once( 'parts/actions.php' ); ?>
8
  <?php include_once( 'parts/loop.php' ); ?>
9
- <script type="text/html" id='tmpl-wooccm-modal-window'>
10
- <?php include_once( 'modals/modal-field.php' ); ?>
11
- </script>
6
  </div>
7
  <?php include_once( 'parts/actions.php' ); ?>
8
  <?php include_once( 'parts/loop.php' ); ?>
9
+ <?php include_once( 'modals/field.php' ); ?>
 
 
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://quadlayers.com/
4
  Tags: woocommerce, woocommerce checkout, field manager, checkout editor, checkout field, shipping field, billing field, order field, additional field
5
  Requires at least: 4.6
6
  Tested up to: 5.3.0
7
- Stable tag: 4.7.8
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -99,6 +99,14 @@ Your Order data can be reviewed in each order within the default WooCommerce Ord
99
 
100
  == Changelog ==
101
 
 
 
 
 
 
 
 
 
102
  = 4.7.8 =
103
  * Fix: small CSS issues
104
 
4
  Tags: woocommerce, woocommerce checkout, field manager, checkout editor, checkout field, shipping field, billing field, order field, additional field
5
  Requires at least: 4.6
6
  Tested up to: 5.3.0
7
+ Stable tag: 4.8.0
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
99
 
100
  == Changelog ==
101
 
102
+ = 4.8.0 =
103
+ * Fix: woocommerce checkout datepicker field disabled days
104
+ * Fix: woocommerce checkout datepicker label scape quotes
105
+ * Fix: woocommerce checkout datepicker limit option
106
+
107
+ = 4.7.9 =
108
+ * Fix: small CSS issues
109
+
110
  = 4.7.8 =
111
  * Fix: small CSS issues
112
 
woocommerce-checkout-manager.php CHANGED
@@ -3,7 +3,7 @@
3
  /**
4
  * Plugin Name: WooCommerce Checkout Manager
5
  * Description: Manages WooCommerce Checkout, the advanced way.
6
- * Version: 4.7.8
7
  * Author: QuadLayers
8
  * Author URI: https://www.quadlayers.com
9
  * Copyright: 2019 QuadLayers (https://www.quadlayers.com)
@@ -17,7 +17,7 @@ if (!defined('WOOCCM_PLUGIN_NAME')) {
17
  define('WOOCCM_PLUGIN_NAME', 'WooCommerce Checkout Manager');
18
  }
19
  if (!defined('WOOCCM_PLUGIN_VERSION')) {
20
- define('WOOCCM_PLUGIN_VERSION', '4.7.8');
21
  }
22
  if (!defined('WOOCCM_PLUGIN_FILE')) {
23
  define('WOOCCM_PLUGIN_FILE', __FILE__);
3
  /**
4
  * Plugin Name: WooCommerce Checkout Manager
5
  * Description: Manages WooCommerce Checkout, the advanced way.
6
+ * Version: 4.8.0
7
  * Author: QuadLayers
8
  * Author URI: https://www.quadlayers.com
9
  * Copyright: 2019 QuadLayers (https://www.quadlayers.com)
17
  define('WOOCCM_PLUGIN_NAME', 'WooCommerce Checkout Manager');
18
  }
19
  if (!defined('WOOCCM_PLUGIN_VERSION')) {
20
+ define('WOOCCM_PLUGIN_VERSION', '4.8.0');
21
  }
22
  if (!defined('WOOCCM_PLUGIN_FILE')) {
23
  define('WOOCCM_PLUGIN_FILE', __FILE__);