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 | |
| 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 +19 -1
- assets/backend/js/wooccm-admin-field.min.js +1 -1
- assets/frontend/js/wooccm-checkout.js +6 -7
- includes/model/class-wooccm-field.php +1 -2
- includes/view/backend/pages/additional.php +1 -3
- includes/view/backend/pages/modals/field.php +3 -0
- includes/view/backend/pages/modals/parts/panel-datepicker-limit.php +25 -0
- includes/view/backend/pages/modals/parts/panel-datepicker.php +3 -27
- includes/view/backend/pages/shipping.php +1 -3
- readme.txt +9 -1
- woocommerce-checkout-manager.php +2 -2
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(
|
| 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 |
-
|
| 356 |
-
|
| 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 |
-
|
| 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 |
-
|
| 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.
|
| 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 |
* 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.
|
| 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__);
|
