WooCommerce Wishlist Plugin - Version 2.0.1

Version Description

Release Date - 12 September 2022

  • Fixed WooCommerce My Account links issue
  • Fixed AJAX actions for guests issue
Download this release

Release Info

Developer templateinvaders
Plugin Icon 128x128 WooCommerce Wishlist Plugin
Version 2.0.1
Comparing to
See all releases

Code changes from version 2.0.0 to 2.0.1

assets/css/admin-form-rtl.min.css CHANGED
@@ -1,6 +1,6 @@
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
- * @version 2.0.0
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
  .tiwlform-number-container{display:inline-block;margin:2px;position:relative;vertical-align:middle}
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
+ * @version 2.0.1
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
  .tiwlform-number-container{display:inline-block;margin:2px;position:relative;vertical-align:middle}
assets/css/admin-form.min.css CHANGED
@@ -1,6 +1,6 @@
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
- * @version 2.0.0
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
  .tiwlform-number-container{display:inline-block;margin:2px;position:relative;vertical-align:middle}
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
+ * @version 2.0.1
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
  .tiwlform-number-container{display:inline-block;margin:2px;position:relative;vertical-align:middle}
assets/css/admin-rtl.min.css CHANGED
@@ -1,6 +1,6 @@
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
- * @version 2.0.0
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
  *{-webkit-box-sizing:border-box;box-sizing:border-box}
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
+ * @version 2.0.1
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
  *{-webkit-box-sizing:border-box;box-sizing:border-box}
assets/css/admin-setup-rtl.min.css CHANGED
@@ -1,6 +1,6 @@
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
- * @version 2.0.0
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
  html{background:#f6f3ed}
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
+ * @version 2.0.1
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
  html{background:#f6f3ed}
assets/css/admin-setup.min.css CHANGED
@@ -1,6 +1,6 @@
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
- * @version 2.0.0
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
  html{background:#f6f3ed}
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
+ * @version 2.0.1
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
  html{background:#f6f3ed}
assets/css/admin.min.css CHANGED
@@ -1,6 +1,6 @@
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
- * @version 2.0.0
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
  *{-webkit-box-sizing:border-box;box-sizing:border-box}
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
+ * @version 2.0.1
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
  *{-webkit-box-sizing:border-box;box-sizing:border-box}
assets/css/public-rtl.min.css CHANGED
@@ -1,6 +1,6 @@
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
- * @version 2.0.0
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
  .tinv-wishlist form,.tinv-wishlist p:last-child,.tinv-wishlist table{margin-bottom:0}
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
+ * @version 2.0.1
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
  .tinv-wishlist form,.tinv-wishlist p:last-child,.tinv-wishlist table{margin-bottom:0}
assets/css/public.min.css CHANGED
@@ -1,6 +1,6 @@
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
- * @version 2.0.0
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
  .tinv-wishlist form,.tinv-wishlist p:last-child,.tinv-wishlist table{margin-bottom:0}
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
+ * @version 2.0.1
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
  .tinv-wishlist form,.tinv-wishlist p:last-child,.tinv-wishlist table{margin-bottom:0}
assets/css/theme-rtl.min.css CHANGED
@@ -1,6 +1,6 @@
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
- * @version 2.0.0
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
  .tinv-wishlist,.tinv-wishlist input,.tinv-wishlist select,.tinv-wishlist textarea,.tinv-wishlist button,.tinv-wishlist input[type=button],.tinv-wishlist input[type=reset],.tinv-wishlist input[type=submit]{font-family:Georgia,serif;font-size:14px;font-weight:400;text-transform:none;line-height:1.75}
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
+ * @version 2.0.1
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
  .tinv-wishlist,.tinv-wishlist input,.tinv-wishlist select,.tinv-wishlist textarea,.tinv-wishlist button,.tinv-wishlist input[type=button],.tinv-wishlist input[type=reset],.tinv-wishlist input[type=submit]{font-family:Georgia,serif;font-size:14px;font-weight:400;text-transform:none;line-height:1.75}
assets/css/theme.min.css CHANGED
@@ -1,6 +1,6 @@
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
- * @version 2.0.0
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
  .tinv-wishlist,.tinv-wishlist input,.tinv-wishlist select,.tinv-wishlist textarea,.tinv-wishlist button,.tinv-wishlist input[type=button],.tinv-wishlist input[type=reset],.tinv-wishlist input[type=submit]{font-family:Georgia,serif;font-size:14px;font-weight:400;text-transform:none;line-height:1.75}
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
+ * @version 2.0.1
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
  .tinv-wishlist,.tinv-wishlist input,.tinv-wishlist select,.tinv-wishlist textarea,.tinv-wishlist button,.tinv-wishlist input[type=button],.tinv-wishlist input[type=reset],.tinv-wishlist input[type=submit]{font-family:Georgia,serif;font-size:14px;font-weight:400;text-transform:none;line-height:1.75}
assets/css/webfont-rtl.min.css CHANGED
@@ -1,6 +1,6 @@
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
- * @version 2.0.0
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
  @font-face{font-family:"tinvwl-webfont";font-display:block;src:url("../fonts/tinvwl-webfont.eot?ver=xu2uyi");src:url("../fonts/tinvwl-webfont.eot?ver=xu2uyi#iefix") format("embedded-opentype"),url("../fonts/tinvwl-webfont.woff2?ver=xu2uyi") format("woff2"),url("../fonts/tinvwl-webfont.woff?ver=xu2uyi") format("woff"),url("../fonts/tinvwl-webfont.ttf?ver=xu2uyi") format("truetype"),url("../fonts/tinvwl-webfont.svg?ver=xu2uyi#tinvwl-webfont") format("svg");font-weight:normal;font-style:normal}
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
+ * @version 2.0.1
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
  @font-face{font-family:"tinvwl-webfont";font-display:block;src:url("../fonts/tinvwl-webfont.eot?ver=xu2uyi");src:url("../fonts/tinvwl-webfont.eot?ver=xu2uyi#iefix") format("embedded-opentype"),url("../fonts/tinvwl-webfont.woff2?ver=xu2uyi") format("woff2"),url("../fonts/tinvwl-webfont.woff?ver=xu2uyi") format("woff"),url("../fonts/tinvwl-webfont.ttf?ver=xu2uyi") format("truetype"),url("../fonts/tinvwl-webfont.svg?ver=xu2uyi#tinvwl-webfont") format("svg");font-weight:normal;font-style:normal}
assets/css/webfont.min.css CHANGED
@@ -1,6 +1,6 @@
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
- * @version 2.0.0
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
  @font-face{font-family:"tinvwl-webfont";font-display:block;src:url("../fonts/tinvwl-webfont.eot?ver=xu2uyi");src:url("../fonts/tinvwl-webfont.eot?ver=xu2uyi#iefix") format("embedded-opentype"),url("../fonts/tinvwl-webfont.woff2?ver=xu2uyi") format("woff2"),url("../fonts/tinvwl-webfont.woff?ver=xu2uyi") format("woff"),url("../fonts/tinvwl-webfont.ttf?ver=xu2uyi") format("truetype"),url("../fonts/tinvwl-webfont.svg?ver=xu2uyi#tinvwl-webfont") format("svg");font-weight:normal;font-style:normal}
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
+ * @version 2.0.1
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
  @font-face{font-family:"tinvwl-webfont";font-display:block;src:url("../fonts/tinvwl-webfont.eot?ver=xu2uyi");src:url("../fonts/tinvwl-webfont.eot?ver=xu2uyi#iefix") format("embedded-opentype"),url("../fonts/tinvwl-webfont.woff2?ver=xu2uyi") format("woff2"),url("../fonts/tinvwl-webfont.woff?ver=xu2uyi") format("woff"),url("../fonts/tinvwl-webfont.ttf?ver=xu2uyi") format("truetype"),url("../fonts/tinvwl-webfont.svg?ver=xu2uyi#tinvwl-webfont") format("svg");font-weight:normal;font-style:normal}
assets/js/admin.min.js CHANGED
@@ -1,6 +1,6 @@
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
- * @version 2.0.0
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
  "use strict";function TInvWL($,h){this.pf="tinvwl",this.g="_",this.ho=h||!1,this.n="TInvWL",this.aj_act=function(t){return[this.pf,t].join(this.g)},this._csel=function(t,n){n=n||".";return"{0}{1}{2}".format(n,this.pf,t)},this._tm=function(t){t=$("script#{0}[type='text/template']".format(t));return t.length?t.html():""},this.formElm=function(){var e,n;$(this._csel("-form-onoff")).tiwl_onoff(),$("input[type=checkbox][tiwl-show], input[type=checkbox][tiwl-hide]").tiwl_onoffblock(),$("[tiwl-value][tiwl-show], [tiwl-value][tiwl-hide]").tiwl_byvalueblock(),void 0!==$.fn.wpColorPicker&&(e=function(t){t=t.substring(1),t=parseInt(t,16);return.2126*(t>>16&255)+.7152*(t>>8&255)+.0722*(t>>0&255)},n=this._csel("-form-color"),$(n).each(function(){var n=$(this),t=$(this).closest(".tinvwl-color-picker"),i=t.find(".tinvwl-eyedropper");n.css("background-color",n.val()),175<e(n.val())&&n.css("color","#000000"),n.iris({mode:"hsv",target:$(this).parent().parent(),change:function(t,n){175<e(n.color.toCSS())?$(this).css("color","#000000"):$(this).css("color",""),$(this).css("background-color",n.color.toCSS())}}),t.on("click",".iris-square-value",function(t){t.preventDefault(),n.iris("toggle")}),i.on("click",function(t){t.preventDefault(),n.iris("show")}),n.on("focusin",function(){n.iris("show")})}),$(document).on("click",function(t){($(t.target).is(n+", .iris-picker, .iris-picker-inner, .iris-slider-offset, .tinvwl-eyedropper, .tinvwl-eyedropper .ftinvwl-eyedropper")?$(n).not($(t.target).closest(".tinvwl-color-picker").find(n)):$(n)).iris("hide")}))},this.wizard_page=function(t){$(t).find("select").change(this._wizard_page_ch),this.wizard_page_ch($(t).find("select"))},this.wizard_page_ch=function(t){var n=(t=$(t)).parent(this._csel("-page-select")),i=n.find("input[type=hidden]").val(),e=n.find(this._csel("-error-icon")),o=n.find(this._csel("-error-desc"));""!==t.val()?(n.removeClass("tinvwl-error"),e.hide(),o.hide()):0==i&&(n.addClass("tinvwl-error"),e.show(),o.show())},this.pageElm=function(){$(this._csel("-header","div.")).prependTo("#wpbody-content"),$(this._csel("-page-select")).each(this._wizard_page),$(".bulkactions [type=submit]").each(this._control_bulkactions),$(".action-search [type=submit]").each(this._control_search)},this.control_bulkactions=function(t){$(t).on("click",this._control_bulkactions_ck)},this.control_bulkactions_ck=function(t,n){var i=(t=$(t)).parents(".bulkactions").eq(0).find("[name=action]"),t=t.parents("form").eq(0);i&&("-1"!==i.val()&&t.find("input[type=checkbox]:checked").length||n.preventDefault())},this.control_search=function(t){$(t).on("click",this._control_search_ck)},this.control_search_ck=function(t,n){t=(t=$(t)).parents(".action-search").eq(0).find("[name=s]");t&&""===t.val()&&n.preventDefault()},this.Run=function(){this.formElm(),this.pageElm()},this.cg=function(){var t,n=this.n;this.ho&&(n=n+(t=new Date).getFullYear()+t.getMonth()+t.getDate()),window[n]=this},this.cg(),String.prototype.format||(String.prototype.format=function(){var i=arguments;return this.replace(/{(\d+)}/g,function(t,n){return void 0!==i[n]?i[n]:t})});var o=this,n=o.n,ho=o.ho,c=ho?"t=new Date(),n=n+t.getFullYear()+t.getMonth()+t.getDate(),":"",i;for(i in o)"function"!=typeof o[i]||"_"===i[0]||o.hasOwnProperty("_"+i)||eval("o._"+i+"=function(a,b,c,d){var n='"+n+"',"+c+"o=window[n]||null;if (o) {return o."+i+"(this,a,b,c,d);};};")}!function(s){s.fn.tiwl_onoff=function(t){var o=s.extend(!0,{},{value:{on:"",off:""},class:"tiwlform-onoff",wrap:"container",button:"button"},t);return s(this).each(function(){var n=s(this),t=s("<div>").attr({class:o.class+"-"+o.button}),i=o.class+"-"+o.wrap,e=s("<div>").attr({id:n.attr("id")+"_"+o.wrap,class:i});return n.is("input")&&(e.attr("class",e.attr("class")+" "+n.attr("class")),n.is(":disabled")&&(e.toggleClass("disabled",n.is(":disabled")),n.prop("disabled",!1)),e.toggleClass("checked",n.is(":checked")),n.hide().removeAttr("class").wrap(e).before(t),e=n.parent(),n.on("change",function(t){if(e.hasClass("disabled"))return t.preventDefault();e.toggleClass("checked",s(this).is(":checked"))}),e.on("click",function(t){if(e.hasClass("disabled"))return t.preventDefault();n.is(":enabled")&&e.hasClass("checked")===n.is(":checked")&&n.click()})),n})},s.fn.tiwl_onoffblock=function(t){var c=s.extend(!0,{},{onEachElm:function(){},isChecked:function(){return s(this).is(":checked")}},t);return s(this).each(function(){function t(){function t(t,i){t=t.match(/[\w\d-\>\.\#\:\=\[\]]+/gim)||[],s.each(t,function(t,n){c.onEachElm.call(s(n).toggle(i))})}var n=s(this),i=n.attr("tiwl-show"),e=n.attr("tiwl-hide"),o=c.isChecked.call(n);return"string"==typeof i&&t(i,o),"string"==typeof e&&t(e,!o),n}var n=s(this);return n.is("input")&&"checkbox"==n.attr("type")?(s(this).on("change",t),t.call(n)):n})},s.fn.tiwl_byvalueblock=function(t){var i=s.extend(!0,{},{onEachElm:function(){},onClick:function(){return s(this).val()==s(this).attr("tiwl-value")}},t);return s(this).each(function(){function t(e){function t(t,i){t=t.match(/[\w\d-\>\.\#\:\=\[\]]+/gim)||[],s.each(t,function(t,n){e.onEachElm.call(s(n).toggle(i))})}var n=s(this),i=n.attr("tiwl-show"),o=n.attr("tiwl-hide"),c=e.onClick.call(n);return"string"==typeof i&&t(i,c),"string"==typeof o&&t(o,!c),n}var n=s(this);return n.is("input")||n.is("select")?(s(this).on("change",function(){t.call(this,i)}),t.call(n,i)):n})};var n=new TInvWL(s);s(document).ready(function(){var t;n.Run(),jQuery('input[name="general-show_notice"]').change(function(){var t=!jQuery(this).is(":checked"),n=jQuery('input[name="general-redirect_require_login"]');t&&!n.is(":checked")&&n.click().trigger("change"),n.closest(".tiwlform-onoff-container").toggleClass("disabled",t)}).change(),s(".tablenav").each(function(){var t=s(this);s.trim(t.find(".alignleft").html()).length||t.find(".alignleft").remove(),s.trim(t.find(".alignright").html()).length&&!t.find(".tablenav-pages").hasClass("one-page")||(t.find(".alignright").remove(),t.find(".tinv-wishlist-clear").remove()),s.trim(t.html()).length||t.remove()}),s(".tablenav .bulkactions select").addClass("tinvwl-select grey").wrap('<span class="tinvwl-select-wrap">').parent().append('<span class="tinvwl-caret"><span></span></span>'),s(".tablenav .bulkactions .button.action, .tablenav #search-submit").removeClass("button").addClass("tinvwl-btn grey"),s(".tinvwl-modal-btn").on("click",function(){s(this).next(".tinvwl-modal").addClass("tinvwl-modal-open")}),s(".tinvwl-overlay, .tinvwl-close-modal, .tinvwl_button_close").on("click",function(t){t.preventDefault(),s(this).parents(".tinvwl-modal:first").removeClass("tinvwl-modal-open")}),void 0!==s.fn.popover&&((t=s(".tinvwl-help")).popover({content:function(){return s(this).closest(".tinvwl-info-wrap").find(".tinvwl-info-desc").html()}}),t.on("click",function(){s(this).popover("toggle")}),t.on("focusout",function(){s(this).popover("hide")}),s(window).on("resize",function(){t.popover("hide")})),s("body").on("click",".tinvwl-confirm-reset",function(t){t.preventDefault(),confirm(tinvwl_comfirm.text_comfirm_reset)&&s(this).removeClass("tinvwl-confirm-reset").trigger("click")})}),s(document).on("click",".tinvwl-chat-notice .notice-dismiss",function(t){s.post(tinvwl_comfirm.ajax_url,{action:"tinvwl_admin_chat_notice"})})}(jQuery);
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
+ * @version 2.0.1
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
  "use strict";function TInvWL($,h){this.pf="tinvwl",this.g="_",this.ho=h||!1,this.n="TInvWL",this.aj_act=function(t){return[this.pf,t].join(this.g)},this._csel=function(t,n){n=n||".";return"{0}{1}{2}".format(n,this.pf,t)},this._tm=function(t){t=$("script#{0}[type='text/template']".format(t));return t.length?t.html():""},this.formElm=function(){var e,n;$(this._csel("-form-onoff")).tiwl_onoff(),$("input[type=checkbox][tiwl-show], input[type=checkbox][tiwl-hide]").tiwl_onoffblock(),$("[tiwl-value][tiwl-show], [tiwl-value][tiwl-hide]").tiwl_byvalueblock(),void 0!==$.fn.wpColorPicker&&(e=function(t){t=t.substring(1),t=parseInt(t,16);return.2126*(t>>16&255)+.7152*(t>>8&255)+.0722*(t>>0&255)},n=this._csel("-form-color"),$(n).each(function(){var n=$(this),t=$(this).closest(".tinvwl-color-picker"),i=t.find(".tinvwl-eyedropper");n.css("background-color",n.val()),175<e(n.val())&&n.css("color","#000000"),n.iris({mode:"hsv",target:$(this).parent().parent(),change:function(t,n){175<e(n.color.toCSS())?$(this).css("color","#000000"):$(this).css("color",""),$(this).css("background-color",n.color.toCSS())}}),t.on("click",".iris-square-value",function(t){t.preventDefault(),n.iris("toggle")}),i.on("click",function(t){t.preventDefault(),n.iris("show")}),n.on("focusin",function(){n.iris("show")})}),$(document).on("click",function(t){($(t.target).is(n+", .iris-picker, .iris-picker-inner, .iris-slider-offset, .tinvwl-eyedropper, .tinvwl-eyedropper .ftinvwl-eyedropper")?$(n).not($(t.target).closest(".tinvwl-color-picker").find(n)):$(n)).iris("hide")}))},this.wizard_page=function(t){$(t).find("select").change(this._wizard_page_ch),this.wizard_page_ch($(t).find("select"))},this.wizard_page_ch=function(t){var n=(t=$(t)).parent(this._csel("-page-select")),i=n.find("input[type=hidden]").val(),e=n.find(this._csel("-error-icon")),o=n.find(this._csel("-error-desc"));""!==t.val()?(n.removeClass("tinvwl-error"),e.hide(),o.hide()):0==i&&(n.addClass("tinvwl-error"),e.show(),o.show())},this.pageElm=function(){$(this._csel("-header","div.")).prependTo("#wpbody-content"),$(this._csel("-page-select")).each(this._wizard_page),$(".bulkactions [type=submit]").each(this._control_bulkactions),$(".action-search [type=submit]").each(this._control_search)},this.control_bulkactions=function(t){$(t).on("click",this._control_bulkactions_ck)},this.control_bulkactions_ck=function(t,n){var i=(t=$(t)).parents(".bulkactions").eq(0).find("[name=action]"),t=t.parents("form").eq(0);i&&("-1"!==i.val()&&t.find("input[type=checkbox]:checked").length||n.preventDefault())},this.control_search=function(t){$(t).on("click",this._control_search_ck)},this.control_search_ck=function(t,n){t=(t=$(t)).parents(".action-search").eq(0).find("[name=s]");t&&""===t.val()&&n.preventDefault()},this.Run=function(){this.formElm(),this.pageElm()},this.cg=function(){var t,n=this.n;this.ho&&(n=n+(t=new Date).getFullYear()+t.getMonth()+t.getDate()),window[n]=this},this.cg(),String.prototype.format||(String.prototype.format=function(){var i=arguments;return this.replace(/{(\d+)}/g,function(t,n){return void 0!==i[n]?i[n]:t})});var o=this,n=o.n,ho=o.ho,c=ho?"t=new Date(),n=n+t.getFullYear()+t.getMonth()+t.getDate(),":"",i;for(i in o)"function"!=typeof o[i]||"_"===i[0]||o.hasOwnProperty("_"+i)||eval("o._"+i+"=function(a,b,c,d){var n='"+n+"',"+c+"o=window[n]||null;if (o) {return o."+i+"(this,a,b,c,d);};};")}!function(s){s.fn.tiwl_onoff=function(t){var o=s.extend(!0,{},{value:{on:"",off:""},class:"tiwlform-onoff",wrap:"container",button:"button"},t);return s(this).each(function(){var n=s(this),t=s("<div>").attr({class:o.class+"-"+o.button}),i=o.class+"-"+o.wrap,e=s("<div>").attr({id:n.attr("id")+"_"+o.wrap,class:i});return n.is("input")&&(e.attr("class",e.attr("class")+" "+n.attr("class")),n.is(":disabled")&&(e.toggleClass("disabled",n.is(":disabled")),n.prop("disabled",!1)),e.toggleClass("checked",n.is(":checked")),n.hide().removeAttr("class").wrap(e).before(t),e=n.parent(),n.on("change",function(t){if(e.hasClass("disabled"))return t.preventDefault();e.toggleClass("checked",s(this).is(":checked"))}),e.on("click",function(t){if(e.hasClass("disabled"))return t.preventDefault();n.is(":enabled")&&e.hasClass("checked")===n.is(":checked")&&n.click()})),n})},s.fn.tiwl_onoffblock=function(t){var c=s.extend(!0,{},{onEachElm:function(){},isChecked:function(){return s(this).is(":checked")}},t);return s(this).each(function(){function t(){function t(t,i){t=t.match(/[\w\d-\>\.\#\:\=\[\]]+/gim)||[],s.each(t,function(t,n){c.onEachElm.call(s(n).toggle(i))})}var n=s(this),i=n.attr("tiwl-show"),e=n.attr("tiwl-hide"),o=c.isChecked.call(n);return"string"==typeof i&&t(i,o),"string"==typeof e&&t(e,!o),n}var n=s(this);return n.is("input")&&"checkbox"==n.attr("type")?(s(this).on("change",t),t.call(n)):n})},s.fn.tiwl_byvalueblock=function(t){var i=s.extend(!0,{},{onEachElm:function(){},onClick:function(){return s(this).val()==s(this).attr("tiwl-value")}},t);return s(this).each(function(){function t(e){function t(t,i){t=t.match(/[\w\d-\>\.\#\:\=\[\]]+/gim)||[],s.each(t,function(t,n){e.onEachElm.call(s(n).toggle(i))})}var n=s(this),i=n.attr("tiwl-show"),o=n.attr("tiwl-hide"),c=e.onClick.call(n);return"string"==typeof i&&t(i,c),"string"==typeof o&&t(o,!c),n}var n=s(this);return n.is("input")||n.is("select")?(s(this).on("change",function(){t.call(this,i)}),t.call(n,i)):n})};var n=new TInvWL(s);s(document).ready(function(){var t;n.Run(),jQuery('input[name="general-show_notice"]').change(function(){var t=!jQuery(this).is(":checked"),n=jQuery('input[name="general-redirect_require_login"]');t&&!n.is(":checked")&&n.click().trigger("change"),n.closest(".tiwlform-onoff-container").toggleClass("disabled",t)}).change(),s(".tablenav").each(function(){var t=s(this);s.trim(t.find(".alignleft").html()).length||t.find(".alignleft").remove(),s.trim(t.find(".alignright").html()).length&&!t.find(".tablenav-pages").hasClass("one-page")||(t.find(".alignright").remove(),t.find(".tinv-wishlist-clear").remove()),s.trim(t.html()).length||t.remove()}),s(".tablenav .bulkactions select").addClass("tinvwl-select grey").wrap('<span class="tinvwl-select-wrap">').parent().append('<span class="tinvwl-caret"><span></span></span>'),s(".tablenav .bulkactions .button.action, .tablenav #search-submit").removeClass("button").addClass("tinvwl-btn grey"),s(".tinvwl-modal-btn").on("click",function(){s(this).next(".tinvwl-modal").addClass("tinvwl-modal-open")}),s(".tinvwl-overlay, .tinvwl-close-modal, .tinvwl_button_close").on("click",function(t){t.preventDefault(),s(this).parents(".tinvwl-modal:first").removeClass("tinvwl-modal-open")}),void 0!==s.fn.popover&&((t=s(".tinvwl-help")).popover({content:function(){return s(this).closest(".tinvwl-info-wrap").find(".tinvwl-info-desc").html()}}),t.on("click",function(){s(this).popover("toggle")}),t.on("focusout",function(){s(this).popover("hide")}),s(window).on("resize",function(){t.popover("hide")})),s("body").on("click",".tinvwl-confirm-reset",function(t){t.preventDefault(),confirm(tinvwl_comfirm.text_comfirm_reset)&&s(this).removeClass("tinvwl-confirm-reset").trigger("click")})}),s(document).on("click",".tinvwl-chat-notice .notice-dismiss",function(t){s.post(tinvwl_comfirm.ajax_url,{action:"tinvwl_admin_chat_notice"})})}(jQuery);
assets/js/public.js CHANGED
@@ -465,7 +465,8 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
465
  'tinvwl-product_id': el.val(),
466
  'tinvwl-action': 'remove',
467
  'tinvwl-security': tinvwl_add_to_wishlist.nonce,
468
- 'tinvwl-paged': el.closest('form').data('tinvwl_paged')
 
469
  };
470
  $.ajax({
471
  url: tinvwl_add_to_wishlist.wc_ajax_url,
@@ -546,7 +547,8 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
546
  'tinvwl-product_id': el.val(),
547
  'tinvwl-action': 'add_to_cart_single',
548
  'tinvwl-security': tinvwl_add_to_wishlist.nonce,
549
- 'tinvwl-paged': el.closest('form').data('tinvwl_paged')
 
550
  };
551
  $.ajax({
552
  url: tinvwl_add_to_wishlist.wc_ajax_url,
@@ -624,7 +626,8 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
624
  var params = {
625
  'tinvwl-action': 'add_to_cart_all',
626
  'tinvwl-security': tinvwl_add_to_wishlist.nonce,
627
- 'tinvwl-paged': el.closest('form').data('tinvwl_paged')
 
628
  };
629
  $.ajax({
630
  url: tinvwl_add_to_wishlist.wc_ajax_url,
@@ -720,7 +723,8 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
720
  'tinvwl-products': products,
721
  'tinvwl-action': action,
722
  'tinvwl-security': tinvwl_add_to_wishlist.nonce,
723
- 'tinvwl-paged': el.closest('form').data('tinvwl_paged')
 
724
  };
725
  $.ajax({
726
  url: tinvwl_add_to_wishlist.wc_ajax_url,
465
  'tinvwl-product_id': el.val(),
466
  'tinvwl-action': 'remove',
467
  'tinvwl-security': tinvwl_add_to_wishlist.nonce,
468
+ 'tinvwl-paged': el.closest('form').data('tinvwl_paged'),
469
+ 'tinvwl-sharekey': el.closest('form').data('tinvwl_sharekey')
470
  };
471
  $.ajax({
472
  url: tinvwl_add_to_wishlist.wc_ajax_url,
547
  'tinvwl-product_id': el.val(),
548
  'tinvwl-action': 'add_to_cart_single',
549
  'tinvwl-security': tinvwl_add_to_wishlist.nonce,
550
+ 'tinvwl-paged': el.closest('form').data('tinvwl_paged'),
551
+ 'tinvwl-sharekey': el.closest('form').data('tinvwl_sharekey')
552
  };
553
  $.ajax({
554
  url: tinvwl_add_to_wishlist.wc_ajax_url,
626
  var params = {
627
  'tinvwl-action': 'add_to_cart_all',
628
  'tinvwl-security': tinvwl_add_to_wishlist.nonce,
629
+ 'tinvwl-paged': el.closest('form').data('tinvwl_paged'),
630
+ 'tinvwl-sharekey': el.closest('form').data('tinvwl_sharekey')
631
  };
632
  $.ajax({
633
  url: tinvwl_add_to_wishlist.wc_ajax_url,
723
  'tinvwl-products': products,
724
  'tinvwl-action': action,
725
  'tinvwl-security': tinvwl_add_to_wishlist.nonce,
726
+ 'tinvwl-paged': el.closest('form').data('tinvwl_paged'),
727
+ 'tinvwl-sharekey': el.closest('form').data('tinvwl_sharekey')
728
  };
729
  $.ajax({
730
  url: tinvwl_add_to_wishlist.wc_ajax_url,
assets/js/public.min.js CHANGED
@@ -1,6 +1,6 @@
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
- * @version 2.0.0
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
- "use strict";function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function showTooltip(t,i){t.setAttribute("class","social social-clipboard tooltipped tooltipped-s"),t.setAttribute("aria-label",i)}function clearTooltip(t){t.currentTarget.setAttribute("class","social social-clipboard "),t.currentTarget.removeAttribute("aria-label")}!function(c){c.fn.tinvwl_to_wishlist=function(t){var i={api_url:window.location.href.split("?")[0],text_create:window.tinvwl_add_to_wishlist.text_create,text_already_in:window.tinvwl_add_to_wishlist.text_already_in,class:{dialogbox:".tinvwl_add_to_select_wishlist",select:".tinvwl_wishlist",newtitle:".tinvwl_new_input",dialogbutton:".tinvwl_button_add"},redirectTimer:null,onPrepareList:function(){},onGetDialogBox:function(){},onPrepareDialogBox:function(){c("body > .tinv-wishlist").length||c("body").append(c("<div>").addClass("tinv-wishlist")),c(this).appendTo("body > .tinv-wishlist")},onCreateWishList:function(t){c(this).append(c("<option>").html(t.title).val(t.ID).toggleClass("tinv_in_wishlist",t.in))},onSelectWishList:function(){},onDialogShow:function(t){c(t).addClass("tinv-modal-open"),c(t).removeClass("ftinvwl-pulse")},onDialogHide:function(t){c(t).removeClass("tinv-modal-open"),c(t).removeClass("ftinvwl-pulse")},onInited:function(){},onClick:function(){if(c(this).is(".disabled-add-wishlist"))return!1;c(this).is(".ftinvwl-animated")&&c(this).addClass("ftinvwl-pulse"),(this.tinvwl_dialog?this.tinvwl_dialog.show_list:o.onActionProduct).call(this)},onPrepareDataAction:function(t,i){c("body").trigger("tinvwl_wishlist_button_clicked",[t,i])},filterProductAlreadyIn:function(t){var t=t||[],e={};return c("form.cart[method=post], .woocommerce-variation-add-to-cart, form.vtajaxform[method=post]").find("input, select").each(function(){var t=c(this).attr("name"),i=c(this).attr("type"),n=c(this).val();("checkbox"!==i&&"radio"!==i||c(this).is(":checked"))&&(e["form"+t]=n)}),e=e.formvariation_id,t.filter(function(t){var i;return"object"===_typeof(t.in)&&"string"==typeof e?(i=parseInt(e),0<=t.in.indexOf(i)):t.in})},onMultiProductAlreadyIn:function(t){var t=t||[],n=(t=o.onPrepareList.call(t)||t,t=o.filterProductAlreadyIn.call(this,t)||t,c(this).parent().parent().find(".already-in").remove(),"");0===t.length||(n=c("<ul>"),c.each(t,function(t,i){n.append(c("<li>").html(c("<a>").html(i.title).attr({href:i.url})).val(i.ID))})),n.length&&c(this).closest(".tinv-modal-inner").find("img").after(c("<div>").addClass("already-in").html(o.text_already_in+" ").append(n))},onAction:{redirect:function(t){o.redirectTimer&&clearTimeout(o.redirectTimer),o.redirectTimer=window.setTimeout(function(){window.location.href=t},4e3)},force_redirect:function(t){window.location.href=t},wishlists:function(t){},msg:function(t){if(!t)return!1;var i=c(t).eq(0);c("body > .tinv-wishlist").length||c("body").append(c("<div>").addClass("tinv-wishlist")),c("body > .tinv-wishlist").append(i),r("body > .tinv-wishlist"),o.redirectTimer||(o.removeTimer=window.setTimeout(function(){i.remove(),o.redirectTimer&&clearTimeout(o.redirectTimer)},6e3)),i.on("click",".tinv-close-modal, .tinvwl_button_close, .tinv-overlay",function(t){t.preventDefault(),i.remove(),o.redirectTimer&&clearTimeout(o.redirectTimer),o.removeTimer&&clearTimeout(o.removeTimer)})},status:function(t){c("body").trigger("tinvwl_wishlist_added_status",[this,t])},removed:function(t){},make_remove:function(t){},wishlists_data:function(t){d(JSON.stringify(t))}}},o=(i.onActionProduct=function(t,i){var d={form:{},tinv_wishlist_id:t||"",tinv_wishlist_name:i||"",product_type:c(this).attr("data-tinv-wl-producttype"),product_id:c(this).attr("data-tinv-wl-product")||0,product_variation:c(this).attr("data-tinv-wl-productvariation")||0,product_action:c(this).attr("data-tinv-wl-action")||"addto",redirect:window.location.href},n=this,e=[],r=new FormData;tinvwl_add_to_wishlist.wpml&&(d.lang=tinvwl_add_to_wishlist.wpml),tinvwl_add_to_wishlist.wpml_default&&(d.lang_default=tinvwl_add_to_wishlist.wpml_default),"1"==tinvwl_add_to_wishlist.stats&&(d.stats=tinvwl_add_to_wishlist.stats),c('form.cart[method=post][data-product_id="'+c(this).attr("data-tinv-wl-product")+'"], form.vtajaxform[method=post][data-product_id="'+c(this).attr("data-tinv-wl-product")+'"]').each(function(){e.push(c(this))}),e.length||(c(n).closest("form.cart[method=post], form.vtajaxform[method=post]").each(function(){e.push(c(this))}),e.length||e.push(c("form.cart[method=post]"))),c('.tinv-wraper[data-tinvwl_product_id="'+c(this).attr("data-tinv-wl-product")+'"]').each(function(){e.push(c(this))}),c.each(e,function(t,i){c(i).find("input:not(:disabled), select:not(:disabled), textarea:not(:disabled)").each(function(){function o(t,i){if("object"!==_typeof(i))return i;for(var n in void 0===t&&(t={}),i)if(""===n){var e=-1;for(e in t);t[e=parseInt(e)+1]=o(t[n],i[n])}else t[n]=o(t[n],i[n]);return t}var t,i=c(this).attr("name"),n=c(this).attr("type"),e=c(this).val(),a=10;if("button"!==n&&void 0!==i){for(;/^(.+)\[([^\[\]]*?)\]$/.test(i)&&0<a;){var s,l=i.match(/^(.+)\[([^\[\]]*?)\]$/);3===l.length&&((s={})[l[2]]=e,e=s),i=l[1],a--}"file"!==n||(t=c(this)[0].files)&&r.append(i,t[0]),"checkbox"===n||"radio"===n?c(this).is(":checked")&&(e.length||"object"===_typeof(e)||(e=!0),d.form[i]=o(d.form[i],e)):d.form[i]=o(d.form[i],e)}})}),d=o.onPrepareDataAction.call(n,n,d)||d,c.each(d,function(n,t){"form"===n?c.each(t,function(t,i){"object"===_typeof(i)&&(i=JSON.stringify(i)),r.append(n+"["+t+"]",i)}):r.append(n,t)}),c.ajax({url:o.api_url,method:"POST",contentType:!1,processData:!1,data:r}).done(function(t){if(o.onDialogHide.call(n.tinvwl_dialog,n),"object"===_typeof(t))for(var i in t)"function"==typeof o.onAction[i]&&o.onAction[i].call(n,t[i]);else"function"==typeof o.onAction.msg&&o.onAction.msg.call(n,t)})},c.extend(!0,{},i,t));return c(this).each(function(){if(!c(this).attr("data-tinv-wl-list"))return!1;var t,e;o.dialogbox&&o.dialogbox.length&&(this.tinvwl_dialog=o.dialogbox),this.tinvwl_dialog||(this.tinvwl_dialog=o.onGetDialogBox.call(this)),this.tinvwl_dialog||(t=c(this).nextAll(o.class.dialogbox).eq(0)).length&&(this.tinvwl_dialog=t),this.tinvwl_dialog&&(o.onPrepareDialogBox.call(this.tinvwl_dialog),"function"!=typeof this.tinvwl_dialog.update_list&&(this.tinvwl_dialog.update_list=function(t){var n=c(this).find(o.class.select).eq(0);c(this).find(o.class.newtitle).hide().val(""),n.html(""),c.each(t,function(t,i){o.onCreateWishList.call(n,i)}),o.text_create&&o.onCreateWishList.call(n,{ID:"",title:o.text_create,in:!1}),o.onMultiProductAlreadyIn.call(n,t),o.onSelectWishList.call(n,t),c(this).find(o.class.newtitle).toggle(""===n.val())}),"function"!=typeof this.tinvwl_dialog.show_list&&(this.tinvwl_dialog.show_list=function(){var t=JSON.parse(c(this).attr("data-tinv-wl-list"))||[];t.length?(t=o.onPrepareList.call(t)||t,this.tinvwl_dialog.update_list(t),o.onDialogShow.call(this.tinvwl_dialog,this)):o.onActionProduct.call(this)}),c((e=this).tinvwl_dialog).find(o.class.dialogbutton).off("click").on("click",function(){var t,i=c(e.tinvwl_dialog).find(o.class.select),n=c(e.tinvwl_dialog).find(o.class.newtitle);i.val()||n.val()?o.onActionProduct.call(e,i.val(),n.val()):((t=n.is(":visible")?n:i).addClass("empty-name-wishlist"),window.setTimeout(function(){t.removeClass("empty-name-wishlist")},1e3))})),c(this).off("click").on("click",o.onClick),o.onInited.call(this,o)})},c(document).ready(function(){c("body").on("click keydown",".tinvwl_add_to_wishlist_button",function(t){if("keydown"===t.type){var i=void 0!==t.key?t.key:t.keyCode;if(!("Enter"===i||13===i||0<=["Spacebar"," "].indexOf(i)||32===i))return;t.preventDefault()}if(c("body").trigger("tinvwl_add_to_wishlist_button_click",[this]),c(this).is(".disabled-add-wishlist"))return t.preventDefault(),void window.alert(tinvwl_add_to_wishlist.i18n_make_a_selection_text);c(this).is(".inited-add-wishlist")||c(this).tinvwl_to_wishlist({onInited:function(t){c(this).addClass("inited-add-wishlist"),t.onClick.call(this)}})}),c("body").on("click keydown",'button[name="tinvwl-remove"]',function(t){if("keydown"===t.type){var i=void 0!==t.key?t.key:t.keyCode;if(!("Enter"===i||13===i||0<=["Spacebar"," "].indexOf(i)||32===i))return}t.preventDefault();var e=c(this);e.is(".inited-wishlist-action")||(e.addClass("inited-wishlist-action"),i={"tinvwl-product_id":e.val(),"tinvwl-action":"remove","tinvwl-security":tinvwl_add_to_wishlist.nonce,"tinvwl-paged":e.closest("form").data("tinvwl_paged")},c.ajax({url:tinvwl_add_to_wishlist.wc_ajax_url,method:"POST",cache:!1,data:i,beforeSend:function(t){t.setRequestHeader("X-WP-Nonce",tinvwl_add_to_wishlist.nonce)}}).done(function(t){var i,n;e.removeClass("inited-wishlist-action"),t.msg&&(i=c(t.msg).eq(0),c("body > .tinv-wishlist").length||c("body").append(c("<div>").addClass("tinv-wishlist")),c("body > .tinv-wishlist").append(i),r("body > .tinv-wishlist"),i.on("click",".tinv-close-modal, .tinvwl_button_close, .tinv-overlay",function(t){t.preventDefault(),i.remove()}),n=n||window.setTimeout(function(){i.remove(),n&&clearTimeout(n)},6e3)),t.status&&(c("div.tinv-wishlist.woocommerce.tinv-wishlist-clear").replaceWith(t.content),c(".tinvwl-break-input").tinvwl_break_submit({selector:".tinvwl-break-input-filed"}),c(".tinvwl-break-checkbox").tinvwl_break_submit({selector:"table td input[type=checkbox]",validate:function(){return c(this).is(":checked")}}),jQuery.fn.tinvwl_get_wishlist_data()),t.wishlists_data&&d(JSON.stringify(t.wishlists_data))}))}),c("body").on("click keydown",'button[name="tinvwl-add-to-cart"]',function(t){if("keydown"===t.type){var i=void 0!==t.key?t.key:t.keyCode;if(!("Enter"===i||13===i||0<=["Spacebar"," "].indexOf(i)||32===i))return}t.preventDefault();var e=c(this);e.is(".inited-wishlist-action")||(e.addClass("inited-wishlist-action"),i={"tinvwl-product_id":e.val(),"tinvwl-action":"add_to_cart_single","tinvwl-security":tinvwl_add_to_wishlist.nonce,"tinvwl-paged":e.closest("form").data("tinvwl_paged")},c.ajax({url:tinvwl_add_to_wishlist.wc_ajax_url,method:"POST",cache:!1,data:i,beforeSend:function(t){t.setRequestHeader("X-WP-Nonce",tinvwl_add_to_wishlist.nonce)}}).done(function(t){var i,n;e.removeClass("inited-wishlist-action"),t.redirect&&(window.location.href=t.redirect),t.msg&&(i=c(t.msg).eq(0),c("body > .tinv-wishlist").length||c("body").append(c("<div>").addClass("tinv-wishlist")),c("body > .tinv-wishlist").append(i),r("body > .tinv-wishlist"),i.on("click",".tinv-close-modal, .tinvwl_button_close, .tinv-overlay",function(t){t.preventDefault(),i.remove()}),n=n||window.setTimeout(function(){i.remove(),n&&clearTimeout(n)},6e3)),t.redirect||(c(document.body).trigger("wc_fragment_refresh"),c("div.tinv-wishlist.woocommerce.tinv-wishlist-clear").replaceWith(t.content),jQuery.fn.tinvwl_get_wishlist_data(),t.wishlists_data&&d(JSON.stringify(t.wishlists_data)))}))}),c("body").on("click keydown",'button[name="tinvwl-action-product_all"]',function(t){if("keydown"===t.type){var i=void 0!==t.key?t.key:t.keyCode;if(!("Enter"===i||13===i||0<=["Spacebar"," "].indexOf(i)||32===i))return}t.preventDefault();var e=c(this);e.is(".inited-wishlist-action")||(e.addClass("inited-wishlist-action"),i={"tinvwl-action":"add_to_cart_all","tinvwl-security":tinvwl_add_to_wishlist.nonce,"tinvwl-paged":e.closest("form").data("tinvwl_paged")},c.ajax({url:tinvwl_add_to_wishlist.wc_ajax_url,method:"POST",cache:!1,data:i,beforeSend:function(t){t.setRequestHeader("X-WP-Nonce",tinvwl_add_to_wishlist.nonce)}}).done(function(t){var i,n;e.removeClass("inited-wishlist-action"),t.redirect&&(window.location.href=t.redirect),t.msg&&(i=c(t.msg).eq(0),c("body > .tinv-wishlist").length||c("body").append(c("<div>").addClass("tinv-wishlist")),c("body > .tinv-wishlist").append(i),r("body > .tinv-wishlist"),i.on("click",".tinv-close-modal, .tinvwl_button_close, .tinv-overlay",function(t){t.preventDefault(),i.remove()}),n=n||window.setTimeout(function(){i.remove(),n&&clearTimeout(n)},6e3)),t.redirect||(c(document.body).trigger("wc_fragment_refresh"),c("div.tinv-wishlist.woocommerce.tinv-wishlist-clear").replaceWith(t.content),jQuery.fn.tinvwl_get_wishlist_data(),t.wishlists_data&&d(JSON.stringify(t.wishlists_data)))}))}),c("body").on("click keydown",'button[name="tinvwl-action-product_apply"], button[name="tinvwl-action-product_selected"]',function(t){if("keydown"===t.type){var i=void 0!==t.key?t.key:t.keyCode;if(!("Enter"===i||13===i||0<=["Spacebar"," "].indexOf(i)||32===i))return}t.preventDefault();var e,n=[],o=(c('input[name="wishlist_pr[]"]:checked').each(function(){n.push(this.value)}),c(this));n.length&&("tinvwl-action-product_selected"===o.attr("name")||c("select#tinvwl_product_actions option").filter(":selected").val())?o.is(".inited-wishlist-action")||(o.addClass("inited-wishlist-action"),e="",e="tinvwl-action-product_selected"===o.attr("name")?"add_to_cart_selected":c("select#tinvwl_product_actions option").filter(":selected").val(),i={"tinvwl-products":n,"tinvwl-action":e,"tinvwl-security":tinvwl_add_to_wishlist.nonce,"tinvwl-paged":o.closest("form").data("tinvwl_paged")},c.ajax({url:tinvwl_add_to_wishlist.wc_ajax_url,method:"POST",cache:!1,data:i,beforeSend:function(t){t.setRequestHeader("X-WP-Nonce",tinvwl_add_to_wishlist.nonce)}}).done(function(t){var i,n;o.removeClass("inited-wishlist-action"),t.redirect&&(window.location.href=t.redirect),t.msg&&(i=c(t.msg).eq(0),c("body > .tinv-wishlist").length||c("body").append(c("<div>").addClass("tinv-wishlist")),c("body > .tinv-wishlist").append(i),r("body > .tinv-wishlist"),i.on("click",".tinv-close-modal, .tinvwl_button_close, .tinv-overlay",function(t){t.preventDefault(),i.remove()}),n=n||window.setTimeout(function(){i.remove(),n&&clearTimeout(n)},6e3)),t.redirect||("add_to_cart_selected"===e&&c(document.body).trigger("wc_fragment_refresh"),c("div.tinv-wishlist.woocommerce.tinv-wishlist-clear").replaceWith(t.content),jQuery.fn.tinvwl_get_wishlist_data(),t.wishlists_data&&d(JSON.stringify(t.wishlists_data)))})):alert(window.tinvwl_add_to_wishlist.tinvwl_break_submit)}),c(document).on("hide_variation",".variations_form",function(t){var i=c('.tinvwl_add_to_wishlist_button:not(.tinvwl-loop)[data-tinv-wl-product="'+c(this).data("product_id")+'"]');if(i.attr("data-tinv-wl-productvariation",0),i.length&&i.attr("data-tinv-wl-list")){var n=JSON.parse(i.attr("data-tinv-wl-list")),e=!1,o="1"==window.tinvwl_add_to_wishlist.simple_flow;for(a in n)n[a].hasOwnProperty("in")&&Array.isArray(n[a].in)&&-1<(n[a].in||[]).indexOf(0)&&(e=!0);i.toggleClass("tinvwl-product-in-list",e).toggleClass("tinvwl-product-make-remove",e&&o).attr("data-tinv-wl-action",e&&o?"remove":"addto")}if(i.length&&i.attr("data-tinv-wl-product-stats")){i.find("span.tinvwl-product-stats").remove();var a,s=JSON.parse(i.attr("data-tinv-wl-product-stats"));for(a in s)-1<a.indexOf(0)&&(e=!0,c("body").trigger("tinvwl_wishlist_product_stats",[i,e]),i.append('<span class="tinvwl-product-stats">'+s[a]+"</span>"))}i.length&&!tinvwl_add_to_wishlist.allow_parent_variable&&(t.preventDefault(),i.addClass("disabled-add-wishlist"))}),c(document).on("show_variation",".variations_form",function(t,i,n){var e=c('.tinvwl_add_to_wishlist_button:not(.tinvwl-loop)[data-tinv-wl-product="'+c(this).data("product_id")+'"]');if(e.attr("data-tinv-wl-productvariation",i.variation_id),e.length&&e.attr("data-tinv-wl-list")){var o=JSON.parse(e.attr("data-tinv-wl-list")),a=!1,s="1"==window.tinvwl_add_to_wishlist.simple_flow;for(l in o)o[l].hasOwnProperty("in")&&Array.isArray(o[l].in)&&-1<(o[l].in||[]).indexOf(i.variation_id)&&(a=!0);e.toggleClass("tinvwl-product-in-list",a).toggleClass("tinvwl-product-make-remove",a&&s).attr("data-tinv-wl-action",a&&s?"remove":"addto")}if(e.length&&e.attr("data-tinv-wl-product-stats")){e.find("span.tinvwl-product-stats").remove();var l,d=JSON.parse(e.attr("data-tinv-wl-product-stats"));for(l in d)-1<l.indexOf(i.variation_id)&&(a=!0,c("body").trigger("tinvwl_wishlist_product_stats",[e,a]),e.append('<span class="tinvwl-product-stats">'+d[l]+"</span>"))}t.preventDefault(),e.removeClass("disabled-add-wishlist")}),c(window).on("storage onstorage",function(t){s===t.originalEvent.key&&localStorage.getItem(s)!==sessionStorage.getItem(s)&&(!localStorage.getItem(s)||"object"===_typeof(t=JSON.parse(localStorage.getItem(s)))&&null!==t&&(t.hasOwnProperty("products")||t.hasOwnProperty("counter"))&&d(localStorage.getItem(s)))});function i(){var t;(n.length||e)&&(t={},tinvwl_add_to_wishlist.wpml&&(t.lang=tinvwl_add_to_wishlist.wpml),tinvwl_add_to_wishlist.wpml_default&&(t.lang_default=tinvwl_add_to_wishlist.wpml_default),"1"==tinvwl_add_to_wishlist.stats&&(t.stats=tinvwl_add_to_wishlist.stats),c.ajax({url:tinvwl_add_to_wishlist.plugin_url+"includes/api/ajax.php",method:"POST",data:t,beforeSend:function(t){t.setRequestHeader("X-WP-Nonce",tinvwl_add_to_wishlist.nonce)}}).done(function(t){d(JSON.stringify(t)),l(t)}).fail(function(){var t;(n.length||e)&&(t={ids:n,counter:e,tinvwl_request:!0},tinvwl_add_to_wishlist.wpml&&(t.lang=tinvwl_add_to_wishlist.wpml),tinvwl_add_to_wishlist.wpml_default&&(t.lang_default=tinvwl_add_to_wishlist.wpml_default),"1"==tinvwl_add_to_wishlist.stats&&(t.stats=tinvwl_add_to_wishlist.stats),c.ajax({url:tinvwl_add_to_wishlist.rest_root+"wishlist/v1/products",method:"POST",data:t,beforeSend:function(t){t.setRequestHeader("X-WP-Nonce",tinvwl_add_to_wishlist.nonce)}}).done(function(t){d(JSON.stringify(t)),l(t)}))}))}var n=[],e=!1,t=(c("a.tinvwl_add_to_wishlist_button").each(function(){"undefined"!==c(this).data("tinv-wl-product")&&c(this).data("tinv-wl-product")&&n.push(c(this).data("tinv-wl-product"))}),c(".wishlist_products_counter_number").each(function(){e=!0}),c.fn.tinvwl_get_wishlist_data=function(){if(a&&(tinvwl_add_to_wishlist.update_wishlists_data&&localStorage.setItem(s,""),localStorage.getItem(s))){var t=JSON.parse(localStorage.getItem(s));if("object"===_typeof(t)&&null!==t&&(t.hasOwnProperty("products")||t.hasOwnProperty("counter"))&&(!t.hasOwnProperty("lang")&&!tinvwl_add_to_wishlist.wpml||tinvwl_add_to_wishlist.wpml&&t.lang===tinvwl_add_to_wishlist.wpml))return void l(t)}tinvwl_add_to_wishlist.block_ajax_wishlists_data||i()},c.fn.tinvwl_get_wishlist_data(),new MutationObserver(function(t){n=[],t.forEach(function(t){t=t.addedNodes;null!==t&&c(t).each(function(){var t=c(this).find(".tinvwl_add_to_wishlist_button");t.length&&t.each(function(){"undefined"!==c(this).data("tinv-wl-product")&&c(this).data("tinv-wl-product")&&n.push(c(this).data("tinv-wl-product"))})})}),n.length&&c.fn.tinvwl_get_wishlist_data()})),o=document.body;t.observe(o,{childList:!0,subtree:!0})});var a=!0,s=tinvwl_add_to_wishlist.hash_key;try{a="sessionStorage"in window&&null!==window.sessionStorage,window.sessionStorage.setItem("ti","test"),window.sessionStorage.removeItem("ti"),window.localStorage.setItem("ti","test"),window.localStorage.removeItem("ti")}catch(t){a=!1}function l(t){var s="1"==window.tinvwl_add_to_wishlist.simple_flow,i=((s||t.stats&&"1"==tinvwl_add_to_wishlist.stats)&&c("a.tinvwl_add_to_wishlist_button").each(function(){s&&c(this).removeClass("tinvwl-product-make-remove").removeClass("tinvwl-product-already-on-wishlist").removeClass("tinvwl-product-in-list").attr("data-tinv-wl-action","addto").attr("data-tinv-wl-list","[]"),t.stats&&c(this).find("span.tinvwl-product-stats").remove()}),c("body").trigger("tinvwl_wishlist_mark_products",[t]),c.each(t.products,function(t,o){var a=t;c('a.tinvwl_add_to_wishlist_button[data-tinv-wl-product="'+a+'"]').each(function(){var i,t=parseInt(c(this).attr("data-tinv-wl-productvariation")),n=c(this).data("tinv-wl-productvariations")||[],e=!1;for(i in o)o[i].hasOwnProperty("in")&&Array.isArray(o[i].in)&&(-1<(o[i].in||[]).indexOf(a)||-1<(o[i].in||[]).indexOf(t)||n.some(function(t){return 0<=(o[i].in||[]).indexOf(t)}))&&(e=!0);c("body").trigger("tinvwl_wishlist_product_marked",[this,e]),c(this).attr("data-tinv-wl-list",JSON.stringify(o)).toggleClass("tinvwl-product-in-list",e).toggleClass("tinvwl-product-make-remove",e&&s).attr("data-tinv-wl-action",e&&s?"remove":"addto")})}),t.stats&&"1"==tinvwl_add_to_wishlist.stats&&c.each(t.stats,function(t,n){c('a.tinvwl_add_to_wishlist_button[data-tinv-wl-product="'+t+'"]').each(function(){c(this).attr("data-tinv-wl-product-stats",JSON.stringify(n));var t,i=parseInt(c(this).attr("data-tinv-wl-productvariation"));for(t in n)-1<t.indexOf(i)&&(c("body").trigger("tinvwl_wishlist_product_stats",[this,!0]),c(this).append('<span class="tinvwl-product-stats">'+n[t]+"</span>"))})}),t.counter);"1"==window.tinvwl_add_to_wishlist.hide_zero_counter&&0===i&&(i="false"),jQuery("i.wishlist-icon").addClass("added"),"false"!==i?(jQuery(".wishlist_products_counter_number, body.theme-woostify .wishlist-item-count").html(i),jQuery("i.wishlist-icon").attr("data-icon-label",i)):(jQuery(".wishlist_products_counter_number, body.theme-woostify .wishlist-item-count").html("").closest("span.wishlist-counter-with-products").removeClass("wishlist-counter-with-products"),jQuery("i.wishlist-icon").removeAttr("data-icon-label")),i=!("0"==i||"false"==i),jQuery(".wishlist_products_counter").toggleClass("wishlist-counter-with-products",i),setTimeout(function(){jQuery("i.wishlist-icon").removeClass("added")},500)}function d(t){a&&(localStorage.setItem(s,t),sessionStorage.setItem(s,t),l(JSON.parse(t)))}function r(t){var t=c(t).find("select, input, textarea, button, a").filter(":visible"),i=t.first(),n=t.last();i.focus().blur(),n.on("keydown",function(t){9!==t.which||t.shiftKey||(t.preventDefault(),i.focus())}),i.on("keydown",function(t){9===t.which&&t.shiftKey&&(t.preventDefault(),n.focus())})}}(jQuery),function(e){e(document).ready(function(){if(e(".tinv-lists-nav").each(function(){e(this).html().trim().length||e(this).remove()}),e("body").on("click",".social-buttons .social:not(.social-email,.social-whatsapp,.social-clipboard)",function(t){var i=window.open(e(this).attr("href"),e(this).attr("title"),"width=420,height=320,resizable=yes,scrollbars=yes,status=yes");i&&(i.focus(),t.preventDefault())}),"undefined"!=typeof ClipboardJS){new ClipboardJS(".social-buttons .social.social-clipboard",{text:function(t){return t.getAttribute("href")}}).on("success",function(t){showTooltip(t.trigger,tinvwl_add_to_wishlist.tinvwl_clipboard)});for(var t=document.querySelectorAll(".social-buttons .social.social-clipboard"),i=0;i<t.length;i++)t[i].addEventListener("mouseleave",clearTooltip),t[i].addEventListener("blur",clearTooltip)}e("body").on("click",".social-buttons .social.social-clipboard",function(t){t.preventDefault()}),e("body").on("click",".tinv-wishlist .tinv-overlay, .tinv-wishlist .tinv-close-modal, .tinv-wishlist .tinvwl_button_close",function(t){t.preventDefault(),e(this).parents(".tinv-modal:first").removeClass("tinv-modal-open"),e("body").trigger("tinvwl_modal_closed",[this])}),e("body").on("click",".tinv-wishlist .tinvwl-btn-onclick",function(t){e(this).data("url")&&(t.preventDefault(),window.location=e(this).data("url"))});var n=e(".tinv-wishlist .navigation-button");n.length&&n.each(function(){var t=e(this).find("> li");t.length<5&&t.parent().addClass("tinvwl-btns-count-"+t.length)}),e(".tinv-login .showlogin").off("click").on("click",function(t){t.preventDefault(),e(this).closest(".tinv-login").find(".login").toggle()}),e(".tinv-wishlist table.tinvwl-table-manage-list tfoot td").each(function(){e(this).toggle(!!e(this).children().not(".look_in").length||!!e(this).children(".look_in").children().length)})})}(jQuery),function(e){e.fn.tinvwl_break_submit=function(t){var n=e.extend(!0,{},{selector:"input, select, textarea",ifempty:!0,invert:!1,validate:function(){return e(this).val()},rule:function(){var t=e(this).parents("form").eq(0).find(n.selector),i=n.invert;return 0===t.length?n.ifempty:(t.each(function(){i&&!n.invert||!i&&n.invert||(i=Boolean(n.validate.call(e(this))))}),i)}},t);return e(this).each(function(){e(this).on("click",function(t){var i=[];void 0!==e(this).attr("tinvwl_break_submit")&&(i=e(this).attr("tinvwl_break_submit").split(",")),-1!==jQuery.inArray(n.selector,i)&&(i=[]),n.rule.call(e(this))||0!==i.length||(alert(window.tinvwl_add_to_wishlist.tinvwl_break_submit),t.preventDefault()),i.push(n.selector),e(this).attr("tinvwl_break_submit",i),n.rule.call(e(this))&&e(this).removeAttr("tinvwl_break_submit")})})},e(document).ready(function(){e("body").on("click",".global-cb",function(){e(this).closest("table").eq(0).find(".product-cb input[type=checkbox], .wishlist-cb input[type=checkbox]").prop("checked",e(this).is(":checked"))})})}(jQuery);
1
  /**
2
  * TI WooCommerce Wishlist Plugin - Allow your store guests and customers to add products to Wishlist. Add Wishlist functionality to your store for free.
3
+ * @version 2.0.1
4
  * @link https://wordpress.org/plugins/ti-woocommerce-wishlist/
5
  */
6
+ "use strict";function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function showTooltip(t,i){t.setAttribute("class","social social-clipboard tooltipped tooltipped-s"),t.setAttribute("aria-label",i)}function clearTooltip(t){t.currentTarget.setAttribute("class","social social-clipboard "),t.currentTarget.removeAttribute("aria-label")}!function(c){c.fn.tinvwl_to_wishlist=function(t){var i={api_url:window.location.href.split("?")[0],text_create:window.tinvwl_add_to_wishlist.text_create,text_already_in:window.tinvwl_add_to_wishlist.text_already_in,class:{dialogbox:".tinvwl_add_to_select_wishlist",select:".tinvwl_wishlist",newtitle:".tinvwl_new_input",dialogbutton:".tinvwl_button_add"},redirectTimer:null,onPrepareList:function(){},onGetDialogBox:function(){},onPrepareDialogBox:function(){c("body > .tinv-wishlist").length||c("body").append(c("<div>").addClass("tinv-wishlist")),c(this).appendTo("body > .tinv-wishlist")},onCreateWishList:function(t){c(this).append(c("<option>").html(t.title).val(t.ID).toggleClass("tinv_in_wishlist",t.in))},onSelectWishList:function(){},onDialogShow:function(t){c(t).addClass("tinv-modal-open"),c(t).removeClass("ftinvwl-pulse")},onDialogHide:function(t){c(t).removeClass("tinv-modal-open"),c(t).removeClass("ftinvwl-pulse")},onInited:function(){},onClick:function(){if(c(this).is(".disabled-add-wishlist"))return!1;c(this).is(".ftinvwl-animated")&&c(this).addClass("ftinvwl-pulse"),(this.tinvwl_dialog?this.tinvwl_dialog.show_list:o.onActionProduct).call(this)},onPrepareDataAction:function(t,i){c("body").trigger("tinvwl_wishlist_button_clicked",[t,i])},filterProductAlreadyIn:function(t){var t=t||[],e={};return c("form.cart[method=post], .woocommerce-variation-add-to-cart, form.vtajaxform[method=post]").find("input, select").each(function(){var t=c(this).attr("name"),i=c(this).attr("type"),n=c(this).val();("checkbox"!==i&&"radio"!==i||c(this).is(":checked"))&&(e["form"+t]=n)}),e=e.formvariation_id,t.filter(function(t){var i;return"object"===_typeof(t.in)&&"string"==typeof e?(i=parseInt(e),0<=t.in.indexOf(i)):t.in})},onMultiProductAlreadyIn:function(t){var t=t||[],n=(t=o.onPrepareList.call(t)||t,t=o.filterProductAlreadyIn.call(this,t)||t,c(this).parent().parent().find(".already-in").remove(),"");0===t.length||(n=c("<ul>"),c.each(t,function(t,i){n.append(c("<li>").html(c("<a>").html(i.title).attr({href:i.url})).val(i.ID))})),n.length&&c(this).closest(".tinv-modal-inner").find("img").after(c("<div>").addClass("already-in").html(o.text_already_in+" ").append(n))},onAction:{redirect:function(t){o.redirectTimer&&clearTimeout(o.redirectTimer),o.redirectTimer=window.setTimeout(function(){window.location.href=t},4e3)},force_redirect:function(t){window.location.href=t},wishlists:function(t){},msg:function(t){if(!t)return!1;var i=c(t).eq(0);c("body > .tinv-wishlist").length||c("body").append(c("<div>").addClass("tinv-wishlist")),c("body > .tinv-wishlist").append(i),d("body > .tinv-wishlist"),o.redirectTimer||(o.removeTimer=window.setTimeout(function(){i.remove(),o.redirectTimer&&clearTimeout(o.redirectTimer)},6e3)),i.on("click",".tinv-close-modal, .tinvwl_button_close, .tinv-overlay",function(t){t.preventDefault(),i.remove(),o.redirectTimer&&clearTimeout(o.redirectTimer),o.removeTimer&&clearTimeout(o.removeTimer)})},status:function(t){c("body").trigger("tinvwl_wishlist_added_status",[this,t])},removed:function(t){},make_remove:function(t){},wishlists_data:function(t){r(JSON.stringify(t))}}},o=(i.onActionProduct=function(t,i){var r={form:{},tinv_wishlist_id:t||"",tinv_wishlist_name:i||"",product_type:c(this).attr("data-tinv-wl-producttype"),product_id:c(this).attr("data-tinv-wl-product")||0,product_variation:c(this).attr("data-tinv-wl-productvariation")||0,product_action:c(this).attr("data-tinv-wl-action")||"addto",redirect:window.location.href},n=this,e=[],d=new FormData;tinvwl_add_to_wishlist.wpml&&(r.lang=tinvwl_add_to_wishlist.wpml),tinvwl_add_to_wishlist.wpml_default&&(r.lang_default=tinvwl_add_to_wishlist.wpml_default),"1"==tinvwl_add_to_wishlist.stats&&(r.stats=tinvwl_add_to_wishlist.stats),c('form.cart[method=post][data-product_id="'+c(this).attr("data-tinv-wl-product")+'"], form.vtajaxform[method=post][data-product_id="'+c(this).attr("data-tinv-wl-product")+'"]').each(function(){e.push(c(this))}),e.length||(c(n).closest("form.cart[method=post], form.vtajaxform[method=post]").each(function(){e.push(c(this))}),e.length||e.push(c("form.cart[method=post]"))),c('.tinv-wraper[data-tinvwl_product_id="'+c(this).attr("data-tinv-wl-product")+'"]').each(function(){e.push(c(this))}),c.each(e,function(t,i){c(i).find("input:not(:disabled), select:not(:disabled), textarea:not(:disabled)").each(function(){function o(t,i){if("object"!==_typeof(i))return i;for(var n in void 0===t&&(t={}),i)if(""===n){var e=-1;for(e in t);t[e=parseInt(e)+1]=o(t[n],i[n])}else t[n]=o(t[n],i[n]);return t}var t,i=c(this).attr("name"),n=c(this).attr("type"),e=c(this).val(),a=10;if("button"!==n&&void 0!==i){for(;/^(.+)\[([^\[\]]*?)\]$/.test(i)&&0<a;){var s,l=i.match(/^(.+)\[([^\[\]]*?)\]$/);3===l.length&&((s={})[l[2]]=e,e=s),i=l[1],a--}"file"!==n||(t=c(this)[0].files)&&d.append(i,t[0]),"checkbox"===n||"radio"===n?c(this).is(":checked")&&(e.length||"object"===_typeof(e)||(e=!0),r.form[i]=o(r.form[i],e)):r.form[i]=o(r.form[i],e)}})}),r=o.onPrepareDataAction.call(n,n,r)||r,c.each(r,function(n,t){"form"===n?c.each(t,function(t,i){"object"===_typeof(i)&&(i=JSON.stringify(i)),d.append(n+"["+t+"]",i)}):d.append(n,t)}),c.ajax({url:o.api_url,method:"POST",contentType:!1,processData:!1,data:d}).done(function(t){if(o.onDialogHide.call(n.tinvwl_dialog,n),"object"===_typeof(t))for(var i in t)"function"==typeof o.onAction[i]&&o.onAction[i].call(n,t[i]);else"function"==typeof o.onAction.msg&&o.onAction.msg.call(n,t)})},c.extend(!0,{},i,t));return c(this).each(function(){if(!c(this).attr("data-tinv-wl-list"))return!1;var t,e;o.dialogbox&&o.dialogbox.length&&(this.tinvwl_dialog=o.dialogbox),this.tinvwl_dialog||(this.tinvwl_dialog=o.onGetDialogBox.call(this)),this.tinvwl_dialog||(t=c(this).nextAll(o.class.dialogbox).eq(0)).length&&(this.tinvwl_dialog=t),this.tinvwl_dialog&&(o.onPrepareDialogBox.call(this.tinvwl_dialog),"function"!=typeof this.tinvwl_dialog.update_list&&(this.tinvwl_dialog.update_list=function(t){var n=c(this).find(o.class.select).eq(0);c(this).find(o.class.newtitle).hide().val(""),n.html(""),c.each(t,function(t,i){o.onCreateWishList.call(n,i)}),o.text_create&&o.onCreateWishList.call(n,{ID:"",title:o.text_create,in:!1}),o.onMultiProductAlreadyIn.call(n,t),o.onSelectWishList.call(n,t),c(this).find(o.class.newtitle).toggle(""===n.val())}),"function"!=typeof this.tinvwl_dialog.show_list&&(this.tinvwl_dialog.show_list=function(){var t=JSON.parse(c(this).attr("data-tinv-wl-list"))||[];t.length?(t=o.onPrepareList.call(t)||t,this.tinvwl_dialog.update_list(t),o.onDialogShow.call(this.tinvwl_dialog,this)):o.onActionProduct.call(this)}),c((e=this).tinvwl_dialog).find(o.class.dialogbutton).off("click").on("click",function(){var t,i=c(e.tinvwl_dialog).find(o.class.select),n=c(e.tinvwl_dialog).find(o.class.newtitle);i.val()||n.val()?o.onActionProduct.call(e,i.val(),n.val()):((t=n.is(":visible")?n:i).addClass("empty-name-wishlist"),window.setTimeout(function(){t.removeClass("empty-name-wishlist")},1e3))})),c(this).off("click").on("click",o.onClick),o.onInited.call(this,o)})},c(document).ready(function(){c("body").on("click keydown",".tinvwl_add_to_wishlist_button",function(t){if("keydown"===t.type){var i=void 0!==t.key?t.key:t.keyCode;if(!("Enter"===i||13===i||0<=["Spacebar"," "].indexOf(i)||32===i))return;t.preventDefault()}if(c("body").trigger("tinvwl_add_to_wishlist_button_click",[this]),c(this).is(".disabled-add-wishlist"))return t.preventDefault(),void window.alert(tinvwl_add_to_wishlist.i18n_make_a_selection_text);c(this).is(".inited-add-wishlist")||c(this).tinvwl_to_wishlist({onInited:function(t){c(this).addClass("inited-add-wishlist"),t.onClick.call(this)}})}),c("body").on("click keydown",'button[name="tinvwl-remove"]',function(t){if("keydown"===t.type){var i=void 0!==t.key?t.key:t.keyCode;if(!("Enter"===i||13===i||0<=["Spacebar"," "].indexOf(i)||32===i))return}t.preventDefault();var e=c(this);e.is(".inited-wishlist-action")||(e.addClass("inited-wishlist-action"),i={"tinvwl-product_id":e.val(),"tinvwl-action":"remove","tinvwl-security":tinvwl_add_to_wishlist.nonce,"tinvwl-paged":e.closest("form").data("tinvwl_paged"),"tinvwl-sharekey":e.closest("form").data("tinvwl_sharekey")},c.ajax({url:tinvwl_add_to_wishlist.wc_ajax_url,method:"POST",cache:!1,data:i,beforeSend:function(t){t.setRequestHeader("X-WP-Nonce",tinvwl_add_to_wishlist.nonce)}}).done(function(t){var i,n;e.removeClass("inited-wishlist-action"),t.msg&&(i=c(t.msg).eq(0),c("body > .tinv-wishlist").length||c("body").append(c("<div>").addClass("tinv-wishlist")),c("body > .tinv-wishlist").append(i),d("body > .tinv-wishlist"),i.on("click",".tinv-close-modal, .tinvwl_button_close, .tinv-overlay",function(t){t.preventDefault(),i.remove()}),n=n||window.setTimeout(function(){i.remove(),n&&clearTimeout(n)},6e3)),t.status&&(c("div.tinv-wishlist.woocommerce.tinv-wishlist-clear").replaceWith(t.content),c(".tinvwl-break-input").tinvwl_break_submit({selector:".tinvwl-break-input-filed"}),c(".tinvwl-break-checkbox").tinvwl_break_submit({selector:"table td input[type=checkbox]",validate:function(){return c(this).is(":checked")}}),jQuery.fn.tinvwl_get_wishlist_data()),t.wishlists_data&&r(JSON.stringify(t.wishlists_data))}))}),c("body").on("click keydown",'button[name="tinvwl-add-to-cart"]',function(t){if("keydown"===t.type){var i=void 0!==t.key?t.key:t.keyCode;if(!("Enter"===i||13===i||0<=["Spacebar"," "].indexOf(i)||32===i))return}t.preventDefault();var e=c(this);e.is(".inited-wishlist-action")||(e.addClass("inited-wishlist-action"),i={"tinvwl-product_id":e.val(),"tinvwl-action":"add_to_cart_single","tinvwl-security":tinvwl_add_to_wishlist.nonce,"tinvwl-paged":e.closest("form").data("tinvwl_paged"),"tinvwl-sharekey":e.closest("form").data("tinvwl_sharekey")},c.ajax({url:tinvwl_add_to_wishlist.wc_ajax_url,method:"POST",cache:!1,data:i,beforeSend:function(t){t.setRequestHeader("X-WP-Nonce",tinvwl_add_to_wishlist.nonce)}}).done(function(t){var i,n;e.removeClass("inited-wishlist-action"),t.redirect&&(window.location.href=t.redirect),t.msg&&(i=c(t.msg).eq(0),c("body > .tinv-wishlist").length||c("body").append(c("<div>").addClass("tinv-wishlist")),c("body > .tinv-wishlist").append(i),d("body > .tinv-wishlist"),i.on("click",".tinv-close-modal, .tinvwl_button_close, .tinv-overlay",function(t){t.preventDefault(),i.remove()}),n=n||window.setTimeout(function(){i.remove(),n&&clearTimeout(n)},6e3)),t.redirect||(c(document.body).trigger("wc_fragment_refresh"),c("div.tinv-wishlist.woocommerce.tinv-wishlist-clear").replaceWith(t.content),jQuery.fn.tinvwl_get_wishlist_data(),t.wishlists_data&&r(JSON.stringify(t.wishlists_data)))}))}),c("body").on("click keydown",'button[name="tinvwl-action-product_all"]',function(t){if("keydown"===t.type){var i=void 0!==t.key?t.key:t.keyCode;if(!("Enter"===i||13===i||0<=["Spacebar"," "].indexOf(i)||32===i))return}t.preventDefault();var e=c(this);e.is(".inited-wishlist-action")||(e.addClass("inited-wishlist-action"),i={"tinvwl-action":"add_to_cart_all","tinvwl-security":tinvwl_add_to_wishlist.nonce,"tinvwl-paged":e.closest("form").data("tinvwl_paged"),"tinvwl-sharekey":e.closest("form").data("tinvwl_sharekey")},c.ajax({url:tinvwl_add_to_wishlist.wc_ajax_url,method:"POST",cache:!1,data:i,beforeSend:function(t){t.setRequestHeader("X-WP-Nonce",tinvwl_add_to_wishlist.nonce)}}).done(function(t){var i,n;e.removeClass("inited-wishlist-action"),t.redirect&&(window.location.href=t.redirect),t.msg&&(i=c(t.msg).eq(0),c("body > .tinv-wishlist").length||c("body").append(c("<div>").addClass("tinv-wishlist")),c("body > .tinv-wishlist").append(i),d("body > .tinv-wishlist"),i.on("click",".tinv-close-modal, .tinvwl_button_close, .tinv-overlay",function(t){t.preventDefault(),i.remove()}),n=n||window.setTimeout(function(){i.remove(),n&&clearTimeout(n)},6e3)),t.redirect||(c(document.body).trigger("wc_fragment_refresh"),c("div.tinv-wishlist.woocommerce.tinv-wishlist-clear").replaceWith(t.content),jQuery.fn.tinvwl_get_wishlist_data(),t.wishlists_data&&r(JSON.stringify(t.wishlists_data)))}))}),c("body").on("click keydown",'button[name="tinvwl-action-product_apply"], button[name="tinvwl-action-product_selected"]',function(t){if("keydown"===t.type){var i=void 0!==t.key?t.key:t.keyCode;if(!("Enter"===i||13===i||0<=["Spacebar"," "].indexOf(i)||32===i))return}t.preventDefault();var e,n=[],o=(c('input[name="wishlist_pr[]"]:checked').each(function(){n.push(this.value)}),c(this));n.length&&("tinvwl-action-product_selected"===o.attr("name")||c("select#tinvwl_product_actions option").filter(":selected").val())?o.is(".inited-wishlist-action")||(o.addClass("inited-wishlist-action"),e="",e="tinvwl-action-product_selected"===o.attr("name")?"add_to_cart_selected":c("select#tinvwl_product_actions option").filter(":selected").val(),i={"tinvwl-products":n,"tinvwl-action":e,"tinvwl-security":tinvwl_add_to_wishlist.nonce,"tinvwl-paged":o.closest("form").data("tinvwl_paged"),"tinvwl-sharekey":o.closest("form").data("tinvwl_sharekey")},c.ajax({url:tinvwl_add_to_wishlist.wc_ajax_url,method:"POST",cache:!1,data:i,beforeSend:function(t){t.setRequestHeader("X-WP-Nonce",tinvwl_add_to_wishlist.nonce)}}).done(function(t){var i,n;o.removeClass("inited-wishlist-action"),t.redirect&&(window.location.href=t.redirect),t.msg&&(i=c(t.msg).eq(0),c("body > .tinv-wishlist").length||c("body").append(c("<div>").addClass("tinv-wishlist")),c("body > .tinv-wishlist").append(i),d("body > .tinv-wishlist"),i.on("click",".tinv-close-modal, .tinvwl_button_close, .tinv-overlay",function(t){t.preventDefault(),i.remove()}),n=n||window.setTimeout(function(){i.remove(),n&&clearTimeout(n)},6e3)),t.redirect||("add_to_cart_selected"===e&&c(document.body).trigger("wc_fragment_refresh"),c("div.tinv-wishlist.woocommerce.tinv-wishlist-clear").replaceWith(t.content),jQuery.fn.tinvwl_get_wishlist_data(),t.wishlists_data&&r(JSON.stringify(t.wishlists_data)))})):alert(window.tinvwl_add_to_wishlist.tinvwl_break_submit)}),c(document).on("hide_variation",".variations_form",function(t){var i=c('.tinvwl_add_to_wishlist_button:not(.tinvwl-loop)[data-tinv-wl-product="'+c(this).data("product_id")+'"]');if(i.attr("data-tinv-wl-productvariation",0),i.length&&i.attr("data-tinv-wl-list")){var n=JSON.parse(i.attr("data-tinv-wl-list")),e=!1,o="1"==window.tinvwl_add_to_wishlist.simple_flow;for(a in n)n[a].hasOwnProperty("in")&&Array.isArray(n[a].in)&&-1<(n[a].in||[]).indexOf(0)&&(e=!0);i.toggleClass("tinvwl-product-in-list",e).toggleClass("tinvwl-product-make-remove",e&&o).attr("data-tinv-wl-action",e&&o?"remove":"addto")}if(i.length&&i.attr("data-tinv-wl-product-stats")){i.find("span.tinvwl-product-stats").remove();var a,s=JSON.parse(i.attr("data-tinv-wl-product-stats"));for(a in s)-1<a.indexOf(0)&&(e=!0,c("body").trigger("tinvwl_wishlist_product_stats",[i,e]),i.append('<span class="tinvwl-product-stats">'+s[a]+"</span>"))}i.length&&!tinvwl_add_to_wishlist.allow_parent_variable&&(t.preventDefault(),i.addClass("disabled-add-wishlist"))}),c(document).on("show_variation",".variations_form",function(t,i,n){var e=c('.tinvwl_add_to_wishlist_button:not(.tinvwl-loop)[data-tinv-wl-product="'+c(this).data("product_id")+'"]');if(e.attr("data-tinv-wl-productvariation",i.variation_id),e.length&&e.attr("data-tinv-wl-list")){var o=JSON.parse(e.attr("data-tinv-wl-list")),a=!1,s="1"==window.tinvwl_add_to_wishlist.simple_flow;for(l in o)o[l].hasOwnProperty("in")&&Array.isArray(o[l].in)&&-1<(o[l].in||[]).indexOf(i.variation_id)&&(a=!0);e.toggleClass("tinvwl-product-in-list",a).toggleClass("tinvwl-product-make-remove",a&&s).attr("data-tinv-wl-action",a&&s?"remove":"addto")}if(e.length&&e.attr("data-tinv-wl-product-stats")){e.find("span.tinvwl-product-stats").remove();var l,r=JSON.parse(e.attr("data-tinv-wl-product-stats"));for(l in r)-1<l.indexOf(i.variation_id)&&(a=!0,c("body").trigger("tinvwl_wishlist_product_stats",[e,a]),e.append('<span class="tinvwl-product-stats">'+r[l]+"</span>"))}t.preventDefault(),e.removeClass("disabled-add-wishlist")}),c(window).on("storage onstorage",function(t){s===t.originalEvent.key&&localStorage.getItem(s)!==sessionStorage.getItem(s)&&(!localStorage.getItem(s)||"object"===_typeof(t=JSON.parse(localStorage.getItem(s)))&&null!==t&&(t.hasOwnProperty("products")||t.hasOwnProperty("counter"))&&r(localStorage.getItem(s)))});function i(){var t;(n.length||e)&&(t={},tinvwl_add_to_wishlist.wpml&&(t.lang=tinvwl_add_to_wishlist.wpml),tinvwl_add_to_wishlist.wpml_default&&(t.lang_default=tinvwl_add_to_wishlist.wpml_default),"1"==tinvwl_add_to_wishlist.stats&&(t.stats=tinvwl_add_to_wishlist.stats),c.ajax({url:tinvwl_add_to_wishlist.plugin_url+"includes/api/ajax.php",method:"POST",data:t,beforeSend:function(t){t.setRequestHeader("X-WP-Nonce",tinvwl_add_to_wishlist.nonce)}}).done(function(t){r(JSON.stringify(t)),l(t)}).fail(function(){var t;(n.length||e)&&(t={ids:n,counter:e,tinvwl_request:!0},tinvwl_add_to_wishlist.wpml&&(t.lang=tinvwl_add_to_wishlist.wpml),tinvwl_add_to_wishlist.wpml_default&&(t.lang_default=tinvwl_add_to_wishlist.wpml_default),"1"==tinvwl_add_to_wishlist.stats&&(t.stats=tinvwl_add_to_wishlist.stats),c.ajax({url:tinvwl_add_to_wishlist.rest_root+"wishlist/v1/products",method:"POST",data:t,beforeSend:function(t){t.setRequestHeader("X-WP-Nonce",tinvwl_add_to_wishlist.nonce)}}).done(function(t){r(JSON.stringify(t)),l(t)}))}))}var n=[],e=!1,t=(c("a.tinvwl_add_to_wishlist_button").each(function(){"undefined"!==c(this).data("tinv-wl-product")&&c(this).data("tinv-wl-product")&&n.push(c(this).data("tinv-wl-product"))}),c(".wishlist_products_counter_number").each(function(){e=!0}),c.fn.tinvwl_get_wishlist_data=function(){if(a&&(tinvwl_add_to_wishlist.update_wishlists_data&&localStorage.setItem(s,""),localStorage.getItem(s))){var t=JSON.parse(localStorage.getItem(s));if("object"===_typeof(t)&&null!==t&&(t.hasOwnProperty("products")||t.hasOwnProperty("counter"))&&(!t.hasOwnProperty("lang")&&!tinvwl_add_to_wishlist.wpml||tinvwl_add_to_wishlist.wpml&&t.lang===tinvwl_add_to_wishlist.wpml))return void l(t)}tinvwl_add_to_wishlist.block_ajax_wishlists_data||i()},c.fn.tinvwl_get_wishlist_data(),new MutationObserver(function(t){n=[],t.forEach(function(t){t=t.addedNodes;null!==t&&c(t).each(function(){var t=c(this).find(".tinvwl_add_to_wishlist_button");t.length&&t.each(function(){"undefined"!==c(this).data("tinv-wl-product")&&c(this).data("tinv-wl-product")&&n.push(c(this).data("tinv-wl-product"))})})}),n.length&&c.fn.tinvwl_get_wishlist_data()})),o=document.body;t.observe(o,{childList:!0,subtree:!0})});var a=!0,s=tinvwl_add_to_wishlist.hash_key;try{a="sessionStorage"in window&&null!==window.sessionStorage,window.sessionStorage.setItem("ti","test"),window.sessionStorage.removeItem("ti"),window.localStorage.setItem("ti","test"),window.localStorage.removeItem("ti")}catch(t){a=!1}function l(t){var s="1"==window.tinvwl_add_to_wishlist.simple_flow,i=((s||t.stats&&"1"==tinvwl_add_to_wishlist.stats)&&c("a.tinvwl_add_to_wishlist_button").each(function(){s&&c(this).removeClass("tinvwl-product-make-remove").removeClass("tinvwl-product-already-on-wishlist").removeClass("tinvwl-product-in-list").attr("data-tinv-wl-action","addto").attr("data-tinv-wl-list","[]"),t.stats&&c(this).find("span.tinvwl-product-stats").remove()}),c("body").trigger("tinvwl_wishlist_mark_products",[t]),c.each(t.products,function(t,o){var a=t;c('a.tinvwl_add_to_wishlist_button[data-tinv-wl-product="'+a+'"]').each(function(){var i,t=parseInt(c(this).attr("data-tinv-wl-productvariation")),n=c(this).data("tinv-wl-productvariations")||[],e=!1;for(i in o)o[i].hasOwnProperty("in")&&Array.isArray(o[i].in)&&(-1<(o[i].in||[]).indexOf(a)||-1<(o[i].in||[]).indexOf(t)||n.some(function(t){return 0<=(o[i].in||[]).indexOf(t)}))&&(e=!0);c("body").trigger("tinvwl_wishlist_product_marked",[this,e]),c(this).attr("data-tinv-wl-list",JSON.stringify(o)).toggleClass("tinvwl-product-in-list",e).toggleClass("tinvwl-product-make-remove",e&&s).attr("data-tinv-wl-action",e&&s?"remove":"addto")})}),t.stats&&"1"==tinvwl_add_to_wishlist.stats&&c.each(t.stats,function(t,n){c('a.tinvwl_add_to_wishlist_button[data-tinv-wl-product="'+t+'"]').each(function(){c(this).attr("data-tinv-wl-product-stats",JSON.stringify(n));var t,i=parseInt(c(this).attr("data-tinv-wl-productvariation"));for(t in n)-1<t.indexOf(i)&&(c("body").trigger("tinvwl_wishlist_product_stats",[this,!0]),c(this).append('<span class="tinvwl-product-stats">'+n[t]+"</span>"))})}),t.counter);"1"==window.tinvwl_add_to_wishlist.hide_zero_counter&&0===i&&(i="false"),jQuery("i.wishlist-icon").addClass("added"),"false"!==i?(jQuery(".wishlist_products_counter_number, body.theme-woostify .wishlist-item-count").html(i),jQuery("i.wishlist-icon").attr("data-icon-label",i)):(jQuery(".wishlist_products_counter_number, body.theme-woostify .wishlist-item-count").html("").closest("span.wishlist-counter-with-products").removeClass("wishlist-counter-with-products"),jQuery("i.wishlist-icon").removeAttr("data-icon-label")),i=!("0"==i||"false"==i),jQuery(".wishlist_products_counter").toggleClass("wishlist-counter-with-products",i),setTimeout(function(){jQuery("i.wishlist-icon").removeClass("added")},500)}function r(t){a&&(localStorage.setItem(s,t),sessionStorage.setItem(s,t),l(JSON.parse(t)))}function d(t){var t=c(t).find("select, input, textarea, button, a").filter(":visible"),i=t.first(),n=t.last();i.focus().blur(),n.on("keydown",function(t){9!==t.which||t.shiftKey||(t.preventDefault(),i.focus())}),i.on("keydown",function(t){9===t.which&&t.shiftKey&&(t.preventDefault(),n.focus())})}}(jQuery),function(e){e(document).ready(function(){if(e(".tinv-lists-nav").each(function(){e(this).html().trim().length||e(this).remove()}),e("body").on("click",".social-buttons .social:not(.social-email,.social-whatsapp,.social-clipboard)",function(t){var i=window.open(e(this).attr("href"),e(this).attr("title"),"width=420,height=320,resizable=yes,scrollbars=yes,status=yes");i&&(i.focus(),t.preventDefault())}),"undefined"!=typeof ClipboardJS){new ClipboardJS(".social-buttons .social.social-clipboard",{text:function(t){return t.getAttribute("href")}}).on("success",function(t){showTooltip(t.trigger,tinvwl_add_to_wishlist.tinvwl_clipboard)});for(var t=document.querySelectorAll(".social-buttons .social.social-clipboard"),i=0;i<t.length;i++)t[i].addEventListener("mouseleave",clearTooltip),t[i].addEventListener("blur",clearTooltip)}e("body").on("click",".social-buttons .social.social-clipboard",function(t){t.preventDefault()}),e("body").on("click",".tinv-wishlist .tinv-overlay, .tinv-wishlist .tinv-close-modal, .tinv-wishlist .tinvwl_button_close",function(t){t.preventDefault(),e(this).parents(".tinv-modal:first").removeClass("tinv-modal-open"),e("body").trigger("tinvwl_modal_closed",[this])}),e("body").on("click",".tinv-wishlist .tinvwl-btn-onclick",function(t){e(this).data("url")&&(t.preventDefault(),window.location=e(this).data("url"))});var n=e(".tinv-wishlist .navigation-button");n.length&&n.each(function(){var t=e(this).find("> li");t.length<5&&t.parent().addClass("tinvwl-btns-count-"+t.length)}),e(".tinv-login .showlogin").off("click").on("click",function(t){t.preventDefault(),e(this).closest(".tinv-login").find(".login").toggle()}),e(".tinv-wishlist table.tinvwl-table-manage-list tfoot td").each(function(){e(this).toggle(!!e(this).children().not(".look_in").length||!!e(this).children(".look_in").children().length)})})}(jQuery),function(e){e.fn.tinvwl_break_submit=function(t){var n=e.extend(!0,{},{selector:"input, select, textarea",ifempty:!0,invert:!1,validate:function(){return e(this).val()},rule:function(){var t=e(this).parents("form").eq(0).find(n.selector),i=n.invert;return 0===t.length?n.ifempty:(t.each(function(){i&&!n.invert||!i&&n.invert||(i=Boolean(n.validate.call(e(this))))}),i)}},t);return e(this).each(function(){e(this).on("click",function(t){var i=[];void 0!==e(this).attr("tinvwl_break_submit")&&(i=e(this).attr("tinvwl_break_submit").split(",")),-1!==jQuery.inArray(n.selector,i)&&(i=[]),n.rule.call(e(this))||0!==i.length||(alert(window.tinvwl_add_to_wishlist.tinvwl_break_submit),t.preventDefault()),i.push(n.selector),e(this).attr("tinvwl_break_submit",i),n.rule.call(e(this))&&e(this).removeAttr("tinvwl_break_submit")})})},e(document).ready(function(){e("body").on("click",".global-cb",function(){e(this).closest("table").eq(0).find(".product-cb input[type=checkbox], .wishlist-cb input[type=checkbox]").prop("checked",e(this).is(":checked"))})})}(jQuery);
includes/api/ajax.php CHANGED
@@ -101,7 +101,7 @@ $lang = filter_input( INPUT_POST, 'lang', FILTER_SANITIZE_STRING )
101
  $lang_default = filter_input( INPUT_POST, 'lang_default', FILTER_SANITIZE_STRING );
102
  $stats = filter_input( INPUT_POST, 'stats', FILTER_SANITIZE_STRING );
103
 
104
- $data = $products = $wishlists = $results = array();
105
 
106
  $share_key = false;
107
 
@@ -248,19 +248,18 @@ JOIN {$table_languages} l ON
248
  }
249
  }
250
  }
 
251
 
252
- if ( $stats ) {
253
- $stats_sql = "SELECT `A`.`product_id`, `A`.`variation_id`, COUNT(`B`.`ID`) AS `count` FROM `{$table_stats}` AS `A` LEFT JOIN `{$table}` AS `C` ON `C`.`wishlist_id` = `A`.`wishlist_id` AND `C`.`product_id` = `A`.`product_id` AND `C`.`variation_id` = `A`.`variation_id` LEFT JOIN `{$table_lists}` AS `B` ON `C`.`wishlist_id` = `B`.`ID` LEFT JOIN `{$table_lists}` AS `G` ON `C`.`wishlist_id` = `G`.`ID` AND `G`.`author` = 0 WHERE `A`.`product_id` > 0 GROUP BY `A`.`product_id`, `A`.`variation_id` HAVING `count` > 0 LIMIT 0, 9999999";
254
 
255
- $stats_results = $wpdb->get_results( $stats_sql, ARRAY_A );
256
- if ( ! empty( $stats_results ) ) {
257
- $stats = array();
258
- foreach ( $stats_results as $product_stats ) {
259
- $stats[ $product_stats['product_id'] ][ $product_stats['variation_id'] ] = $product_stats['count'];
260
- }
261
  }
262
  }
263
-
264
  }
265
 
266
  $count = is_array( $results ) ? array_sum( array_column( $results, 'quantity' ) ) : 0;
@@ -279,7 +278,7 @@ if ( $lang_default ) {
279
  }
280
 
281
  if ( $stats ) {
282
- $response['stats'] = $stats;
283
  }
284
 
285
  wp_send_json( $response );
101
  $lang_default = filter_input( INPUT_POST, 'lang_default', FILTER_SANITIZE_STRING );
102
  $stats = filter_input( INPUT_POST, 'stats', FILTER_SANITIZE_STRING );
103
 
104
+ $data = $products = $wishlists = $results = $analytics = array();
105
 
106
  $share_key = false;
107
 
248
  }
249
  }
250
  }
251
+ }
252
 
253
+ if ( $stats ) {
254
+ $stats_sql = "SELECT `A`.`product_id`, `A`.`variation_id`, COUNT(`B`.`ID`) AS `count` FROM `{$table_stats}` AS `A` LEFT JOIN `{$table}` AS `C` ON `C`.`wishlist_id` = `A`.`wishlist_id` AND `C`.`product_id` = `A`.`product_id` AND `C`.`variation_id` = `A`.`variation_id` LEFT JOIN `{$table_lists}` AS `B` ON `C`.`wishlist_id` = `B`.`ID` LEFT JOIN `{$table_lists}` AS `G` ON `C`.`wishlist_id` = `G`.`ID` AND `G`.`author` = 0 WHERE `A`.`product_id` > 0 GROUP BY `A`.`product_id`, `A`.`variation_id` HAVING `count` > 0 LIMIT 0, 9999999";
255
 
256
+ $stats_results = $wpdb->get_results( $stats_sql, ARRAY_A );
257
+
258
+ if ( ! empty( $stats_results ) ) {
259
+ foreach ( $stats_results as $product_stats ) {
260
+ $analytics[ $product_stats['product_id'] ][ $product_stats['variation_id'] ] = $product_stats['count'];
 
261
  }
262
  }
 
263
  }
264
 
265
  $count = is_array( $results ) ? array_sum( array_column( $results, 'quantity' ) ) : 0;
278
  }
279
 
280
  if ( $stats ) {
281
+ $response['stats'] = $analytics;
282
  }
283
 
284
  wp_send_json( $response );
includes/wishlist.class.php CHANGED
@@ -316,7 +316,14 @@ class TInvWL_Wishlist {
316
  }
317
  $wishlists = $this->get( array( 'share_key' => $share_key ) );
318
  $wishlist = array_shift( $wishlists );
319
-
 
 
 
 
 
 
 
320
  return $wishlist;
321
  }
322
 
316
  }
317
  $wishlists = $this->get( array( 'share_key' => $share_key ) );
318
  $wishlist = array_shift( $wishlists );
319
+ if ( is_array( $wishlist ) ) {
320
+ $wishlist['is_owner'] = false;
321
+ if ( is_user_logged_in() ) {
322
+ $wishlist['is_owner'] = get_current_user_id() == $wishlist['author']; // WPCS: loose comparison ok.
323
+ } else {
324
+ $wishlist['is_owner'] = $this->get_sharekey() === $wishlist['share_key']; // WPCS: loose comparison ok.
325
+ }
326
+ }
327
  return $wishlist;
328
  }
329
 
languages/ti-woocommerce-wishlist.pot CHANGED
@@ -1,8 +1,8 @@
1
- # Copyright (C) 2022 TI WooCommerce Wishlist Plugin - 2.0.0
2
- # This file is distributed under the same license as the TI WooCommerce Wishlist Plugin - 2.0.0 package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: TI WooCommerce Wishlist Plugin - 2.0.0\n"
6
  "MIME-Version: 1.0\n"
7
  "Content-Type: text/plain; charset=UTF-8\n"
8
  "Content-Transfer-Encoding: 8bit\n"
@@ -11,7 +11,7 @@ msgstr ""
11
  "Language-Team: TemplateInvaders (https://templateinvaders.com/)\n"
12
  "Last-Translator: TemplateInvaders (https://templateinvaders.com/)\n"
13
  "MIME-Version: 1.0\n"
14
- "Project-Id-Version: TI WooCommerce Wishlist Plugin - 2.0.0\n"
15
  "Report-Msgid-Bugs-To: https://templateinvaders.com/help/\n"
16
  "X-Poedit-Basepath: ..\n"
17
  "X-Poedit-KeywordsList: __;_e;_ex:1,2c;_n:1,2;_n_noop:1,2;_nx:1,2,4c;_nx_noop:1,2,3c;_x:1,2c;esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c\n"
@@ -1244,7 +1244,7 @@ msgstr ""
1244
  msgid "Login"
1245
  msgstr ""
1246
 
1247
- #: public/addtowishlist.class.php:213, public/wishlist/ajax.class.php:96, public/wishlist/ajax.class.php:119, public/wishlist/ajax.class.php:130, public/wishlist/ajax.class.php:137, public/wishlist/ajax.class.php:166, public/wishlist/ajax.class.php:173
1248
  msgid "Something went wrong"
1249
  msgstr ""
1250
 
@@ -1284,19 +1284,23 @@ msgstr ""
1284
  msgid "Counter Text"
1285
  msgstr ""
1286
 
1287
- #: public/wishlist/ajax.class.php:141, public/wishlist/ajax.class.php:177, public/wishlist/ajax.class.php:248
 
 
 
 
1288
  msgid "&ldquo;%s&rdquo;"
1289
  msgstr ""
1290
 
1291
- #: public/wishlist/ajax.class.php:153
1292
  msgid "%s has not been removed from wishlist."
1293
  msgstr ""
1294
 
1295
- #: public/wishlist/ajax.class.php:148
1296
  msgid "%s has been removed from wishlist."
1297
  msgstr ""
1298
 
1299
- #: public/wishlist/ajax.class.php:219
1300
  msgid "%s has not been added to your cart."
1301
  msgid_plural "%s have been added to your cart."
1302
  msgstr[0] ""
@@ -1304,7 +1308,7 @@ msgstr[1] ""
1304
 
1305
  #. translators: %s: product name
1306
  #. translators: %s: product name
1307
- #: public/wishlist/ajax.class.php:204, public/wishlist/ajax.class.php:334, public/wishlist/ajax.class.php:417
1308
  msgid "%s has been added to your cart."
1309
  msgid_plural "%s have been added to your cart."
1310
  msgstr[0] ""
@@ -1318,12 +1322,12 @@ msgstr[1] ""
1318
 
1319
  #. translators: %s: product name
1320
  #. translators: %s: product name
1321
- #: public/wishlist/ajax.class.php:316, public/wishlist/ajax.class.php:328, public/wishlist/ajax.class.php:399, public/wishlist/ajax.class.php:411
1322
  msgctxt "Item name in quotes"
1323
  msgid "&ldquo;%s&rdquo;"
1324
  msgstr ""
1325
 
1326
- #: public/wishlist/ajax.class.php:319, public/wishlist/ajax.class.php:402
1327
  msgid "Product %s could not be added to the cart because some requirements are not met."
1328
  msgid_plural "Products: %s could not be added to the cart because some requirements are not met."
1329
  msgstr[0] ""
@@ -1373,15 +1377,15 @@ msgstr ""
1373
  msgid "%1$s by %2$s"
1374
  msgstr ""
1375
 
1376
- #: public/wishlist/view.class.php:437
1377
  msgid "Return to Wishlist"
1378
  msgstr ""
1379
 
1380
- #: public/wishlist/view.class.php:556
1381
  msgid "Previous Page"
1382
  msgstr ""
1383
 
1384
- #: public/wishlist/view.class.php:583
1385
  msgid "Next Page"
1386
  msgstr ""
1387
 
1
+ # Copyright (C) 2022 TI WooCommerce Wishlist Plugin - 2.0.1
2
+ # This file is distributed under the same license as the TI WooCommerce Wishlist Plugin - 2.0.1 package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: TI WooCommerce Wishlist Plugin - 2.0.1\n"
6
  "MIME-Version: 1.0\n"
7
  "Content-Type: text/plain; charset=UTF-8\n"
8
  "Content-Transfer-Encoding: 8bit\n"
11
  "Language-Team: TemplateInvaders (https://templateinvaders.com/)\n"
12
  "Last-Translator: TemplateInvaders (https://templateinvaders.com/)\n"
13
  "MIME-Version: 1.0\n"
14
+ "Project-Id-Version: TI WooCommerce Wishlist Plugin - 2.0.1\n"
15
  "Report-Msgid-Bugs-To: https://templateinvaders.com/help/\n"
16
  "X-Poedit-Basepath: ..\n"
17
  "X-Poedit-KeywordsList: __;_e;_ex:1,2c;_n:1,2;_n_noop:1,2;_nx:1,2,4c;_nx_noop:1,2,3c;_x:1,2c;esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c\n"
1244
  msgid "Login"
1245
  msgstr ""
1246
 
1247
+ #: public/addtowishlist.class.php:213, public/wishlist/ajax.class.php:109, public/wishlist/ajax.class.php:120, public/wishlist/ajax.class.php:127, public/wishlist/ajax.class.php:161, public/wishlist/ajax.class.php:168
1248
  msgid "Something went wrong"
1249
  msgstr ""
1250
 
1284
  msgid "Counter Text"
1285
  msgstr ""
1286
 
1287
+ #: public/wishlist/ajax.class.php:86
1288
+ msgid "Something went wrong1"
1289
+ msgstr ""
1290
+
1291
+ #: public/wishlist/ajax.class.php:131, public/wishlist/ajax.class.php:172, public/wishlist/ajax.class.php:248
1292
  msgid "&ldquo;%s&rdquo;"
1293
  msgstr ""
1294
 
1295
+ #: public/wishlist/ajax.class.php:148
1296
  msgid "%s has not been removed from wishlist."
1297
  msgstr ""
1298
 
1299
+ #: public/wishlist/ajax.class.php:138
1300
  msgid "%s has been removed from wishlist."
1301
  msgstr ""
1302
 
1303
+ #: public/wishlist/ajax.class.php:216
1304
  msgid "%s has not been added to your cart."
1305
  msgid_plural "%s have been added to your cart."
1306
  msgstr[0] ""
1308
 
1309
  #. translators: %s: product name
1310
  #. translators: %s: product name
1311
+ #: public/wishlist/ajax.class.php:199, public/wishlist/ajax.class.php:337, public/wishlist/ajax.class.php:425
1312
  msgid "%s has been added to your cart."
1313
  msgid_plural "%s have been added to your cart."
1314
  msgstr[0] ""
1322
 
1323
  #. translators: %s: product name
1324
  #. translators: %s: product name
1325
+ #: public/wishlist/ajax.class.php:319, public/wishlist/ajax.class.php:331, public/wishlist/ajax.class.php:407, public/wishlist/ajax.class.php:419
1326
  msgctxt "Item name in quotes"
1327
  msgid "&ldquo;%s&rdquo;"
1328
  msgstr ""
1329
 
1330
+ #: public/wishlist/ajax.class.php:322, public/wishlist/ajax.class.php:410
1331
  msgid "Product %s could not be added to the cart because some requirements are not met."
1332
  msgid_plural "Products: %s could not be added to the cart because some requirements are not met."
1333
  msgstr[0] ""
1377
  msgid "%1$s by %2$s"
1378
  msgstr ""
1379
 
1380
+ #: public/wishlist/view.class.php:444
1381
  msgid "Return to Wishlist"
1382
  msgstr ""
1383
 
1384
+ #: public/wishlist/view.class.php:563
1385
  msgid "Previous Page"
1386
  msgstr ""
1387
 
1388
+ #: public/wishlist/view.class.php:590
1389
  msgid "Next Page"
1390
  msgstr ""
1391
 
public/addtowishlist.class.php CHANGED
@@ -391,7 +391,7 @@ class TInvWL_Public_AddToWishlist {
391
  $lang_default = filter_input( INPUT_POST, 'lang_default', FILTER_SANITIZE_STRING );
392
  $stats = filter_input( INPUT_POST, 'stats', FILTER_SANITIZE_STRING );
393
 
394
- $data = $products = $wishlists = $results = array();
395
 
396
  if ( is_user_logged_in() ) {
397
  $data['author'] = get_current_user_id();
@@ -531,20 +531,17 @@ JOIN {$table_languages} l ON
531
  }
532
  }
533
  }
 
534
 
535
- if ( $stats ) {
536
- $stats_sql = "SELECT `A`.`product_id`, `A`.`variation_id`, COUNT(`B`.`ID`) AS `count` FROM `{$table_stats}` AS `A` LEFT JOIN `{$table}` AS `C` ON `C`.`wishlist_id` = `A`.`wishlist_id` AND `C`.`product_id` = `A`.`product_id` AND `C`.`variation_id` = `A`.`variation_id` LEFT JOIN `{$table_lists}` AS `B` ON `C`.`wishlist_id` = `B`.`ID` LEFT JOIN `{$table_lists}` AS `G` ON `C`.`wishlist_id` = `G`.`ID` AND `G`.`author` = 0 WHERE `A`.`product_id` > 0 GROUP BY `A`.`product_id`, `A`.`variation_id` HAVING `count` > 0 LIMIT 0, 9999999";
537
-
538
- $stats_results = $wpdb->get_results( $stats_sql, ARRAY_A );
539
 
540
- if ( ! empty( $stats_results ) ) {
541
- $stats = array();
542
- foreach ( $stats_results as $product_stats ) {
543
- $stats[ $product_stats['product_id'] ][ $product_stats['variation_id'] ] = $product_stats['count'];
544
- }
545
  }
546
  }
547
-
548
  }
549
 
550
  $count = is_array( $results ) ? count( $results ) : 0;
@@ -563,7 +560,7 @@ JOIN {$table_languages} l ON
563
  }
564
 
565
  if ( $stats ) {
566
- $response['stats'] = $stats;
567
  }
568
 
569
  return $response;
391
  $lang_default = filter_input( INPUT_POST, 'lang_default', FILTER_SANITIZE_STRING );
392
  $stats = filter_input( INPUT_POST, 'stats', FILTER_SANITIZE_STRING );
393
 
394
+ $data = $products = $wishlists = $results = $analytics = array();
395
 
396
  if ( is_user_logged_in() ) {
397
  $data['author'] = get_current_user_id();
531
  }
532
  }
533
  }
534
+ }
535
 
536
+ if ( $stats ) {
537
+ $stats_sql = "SELECT `A`.`product_id`, `A`.`variation_id`, COUNT(`B`.`ID`) AS `count` FROM `{$table_stats}` AS `A` LEFT JOIN `{$table}` AS `C` ON `C`.`wishlist_id` = `A`.`wishlist_id` AND `C`.`product_id` = `A`.`product_id` AND `C`.`variation_id` = `A`.`variation_id` LEFT JOIN `{$table_lists}` AS `B` ON `C`.`wishlist_id` = `B`.`ID` LEFT JOIN `{$table_lists}` AS `G` ON `C`.`wishlist_id` = `G`.`ID` AND `G`.`author` = 0 WHERE `A`.`product_id` > 0 GROUP BY `A`.`product_id`, `A`.`variation_id` HAVING `count` > 0 LIMIT 0, 9999999";
 
 
538
 
539
+ $stats_results = $wpdb->get_results( $stats_sql, ARRAY_A );
540
+ if ( ! empty( $stats_results ) ) {
541
+ foreach ( $stats_results as $product_stats ) {
542
+ $analytics[ $product_stats['product_id'] ][ $product_stats['variation_id'] ] = $product_stats['count'];
 
543
  }
544
  }
 
545
  }
546
 
547
  $count = is_array( $results ) ? count( $results ) : 0;
560
  }
561
 
562
  if ( $stats ) {
563
+ $response['stats'] = $analytics;
564
  }
565
 
566
  return $response;
public/tinvwl.class.php CHANGED
@@ -713,7 +713,7 @@ class TInvWL_Public_TInvWL {
713
  * @return string
714
  */
715
  function account_menu_endpoint( $url, $endpoint, $value, $permalink ) {
716
- if ( ! tinv_get_option( 'general', 'require_login' ) || ! tinv_get_option( 'general', 'my_account_endpoint' ) ) {
717
  $url = tinv_url_wishlist_default();
718
  }
719
 
713
  * @return string
714
  */
715
  function account_menu_endpoint( $url, $endpoint, $value, $permalink ) {
716
+ if ( ( ! tinv_get_option( 'general', 'require_login' ) || ! tinv_get_option( 'general', 'my_account_endpoint' ) ) && tinv_get_option( 'general', 'my_account_endpoint' ) === $endpoint ) {
717
  $url = tinv_url_wishlist_default();
718
  }
719
 
public/wishlist/ajax.class.php CHANGED
@@ -62,32 +62,22 @@ class TInvWL_Public_Wishlist_Ajax {
62
  add_action( 'wc_ajax_tinvwl', array( $this, 'ajax_action' ) );
63
  }
64
 
65
- /**
66
- * Get current wishlist
67
- *
68
- * @return array
69
- */
70
- function get_current_wishlist() {
71
- if ( empty( $this->current_wishlist ) ) {
72
- $this->current_wishlist = apply_filters( 'tinvwl_get_current_wishlist', tinv_wishlist_get() );
73
- }
74
-
75
- return $this->current_wishlist;
76
- }
77
-
78
  function ajax_action() {
79
  $post = filter_input_array( INPUT_POST, array(
80
  'tinvwl-security' => FILTER_SANITIZE_STRING,
81
  'tinvwl-action' => FILTER_SANITIZE_STRING,
82
  'tinvwl-product_id' => FILTER_VALIDATE_INT,
83
  'tinvwl-paged' => FILTER_VALIDATE_INT,
 
84
  'tinvwl-products' => array(
85
  'filter' => FILTER_VALIDATE_INT,
86
  'flags' => FILTER_FORCE_ARRAY,
87
  ),
88
  ) );
89
 
90
- $wishlist = $this->get_current_wishlist();
 
 
91
 
92
  if ( defined( 'DOING_AJAX' ) && DOING_AJAX && $post['tinvwl-security'] && wp_verify_nonce( $post['tinvwl-security'], 'wp_rest' ) && $wishlist && $post['tinvwl-action'] ) {
93
  $this->wishlist_ajax_actions( $wishlist, $post );
@@ -144,10 +134,15 @@ class TInvWL_Public_Wishlist_Ajax {
144
  ) ) ? $product_data['data']->get_name() : $product_data['data']->get_title() );
145
 
146
  if ( $wlp->remove( $product_data ) ) {
147
- $response['status'] = true;
148
- $response['msg'][] = sprintf( __( '%s has been removed from wishlist.', 'ti-woocommerce-wishlist' ), $title );
149
- $response['content'] = tinvwl_shortcode_view( array( 'paged' => $post['tinvwl-paged'] ) );
150
- $response['wishlists_data'] = $class->get_wishlists_data( $wishlist['share_key'] );
 
 
 
 
 
151
  } else {
152
  $response['status'] = false;
153
  $response['msg'][] = sprintf( __( '%s has not been removed from wishlist.', 'ti-woocommerce-wishlist' ), $title );
@@ -212,13 +207,18 @@ class TInvWL_Public_Wishlist_Ajax {
212
  }
213
 
214
  if ( tinv_get_option( 'processing', 'autoremove' ) ) {
215
- $response['wishlists_data'] = $class->get_wishlists_data( $wishlist['share_key'] );
 
 
216
  }
217
  } else {
218
  $response['status'] = false;
219
  $response['msg'][] = sprintf( _n( '%s has not been added to your cart.', '%s have been added to your cart.', 1, 'ti-woocommerce-wishlist' ), $title );
220
  }
221
- $response['content'] = tinvwl_shortcode_view( array( 'paged' => $post['tinvwl-paged'] ) );
 
 
 
222
  }
223
 
224
  break;
@@ -254,7 +254,10 @@ class TInvWL_Public_Wishlist_Ajax {
254
  if ( ! empty( $titles ) ) {
255
  $response['status'] = true;
256
  $response['msg'][] = sprintf( _n( '%s has been successfully removed from wishlist.', '%s have been successfully removed from wishlist.', count( $titles ), 'ti-woocommerce-wishlist' ), wc_format_list_of_items( $titles ) );
257
- $response['content'] = tinvwl_shortcode_view( array( 'paged' => $post['tinvwl-paged'] ) );
 
 
 
258
  $response['wishlists_data'] = $class->get_wishlists_data( $wishlist['share_key'] );
259
  }
260
 
@@ -342,10 +345,15 @@ class TInvWL_Public_Wishlist_Ajax {
342
  }
343
 
344
  if ( tinv_get_option( 'processing', 'autoremove' ) ) {
345
- $response['wishlists_data'] = $class->get_wishlists_data( $wishlist['share_key'] );
 
 
346
  }
347
  }
348
- $response['content'] = tinvwl_shortcode_view( array( 'paged' => $post['tinvwl-paged'] ) );
 
 
 
349
  break;
350
  case 'add_to_cart_all':
351
  $_quantity = array();
@@ -425,10 +433,15 @@ class TInvWL_Public_Wishlist_Ajax {
425
  }
426
 
427
  if ( tinv_get_option( 'processing', 'autoremove' ) ) {
428
- $response['wishlists_data'] = $class->get_wishlists_data( $wishlist['share_key'] );
 
 
429
  }
430
  }
431
- $response['content'] = tinvwl_shortcode_view( array( 'paged' => $post['tinvwl-paged'] ) );
 
 
 
432
  break;
433
  }
434
  $response['icon'] = $response['status'] ? 'icon_big_heart_check' : 'icon_big_times';
62
  add_action( 'wc_ajax_tinvwl', array( $this, 'ajax_action' ) );
63
  }
64
 
 
 
 
 
 
 
 
 
 
 
 
 
 
65
  function ajax_action() {
66
  $post = filter_input_array( INPUT_POST, array(
67
  'tinvwl-security' => FILTER_SANITIZE_STRING,
68
  'tinvwl-action' => FILTER_SANITIZE_STRING,
69
  'tinvwl-product_id' => FILTER_VALIDATE_INT,
70
  'tinvwl-paged' => FILTER_VALIDATE_INT,
71
+ 'tinvwl-sharekey' => FILTER_SANITIZE_STRING,
72
  'tinvwl-products' => array(
73
  'filter' => FILTER_VALIDATE_INT,
74
  'flags' => FILTER_FORCE_ARRAY,
75
  ),
76
  ) );
77
 
78
+
79
+ $wl = new TInvWL_Wishlist( $this->_name );
80
+ $wishlist = $wl->get_by_share_key( $post['tinvwl-sharekey'] );
81
 
82
  if ( defined( 'DOING_AJAX' ) && DOING_AJAX && $post['tinvwl-security'] && wp_verify_nonce( $post['tinvwl-security'], 'wp_rest' ) && $wishlist && $post['tinvwl-action'] ) {
83
  $this->wishlist_ajax_actions( $wishlist, $post );
134
  ) ) ? $product_data['data']->get_name() : $product_data['data']->get_title() );
135
 
136
  if ( $wlp->remove( $product_data ) ) {
137
+ $response['status'] = true;
138
+ $response['msg'][] = sprintf( __( '%s has been removed from wishlist.', 'ti-woocommerce-wishlist' ), $title );
139
+ $response['content'] = tinvwl_shortcode_view( array(
140
+ 'paged' => $post['tinvwl-paged'],
141
+ 'sharekey' => $post['tinvwl-sharekey']
142
+ ) );
143
+ if ( $owner ) {
144
+ $response['wishlists_data'] = $class->get_wishlists_data( $wishlist['share_key'] );
145
+ }
146
  } else {
147
  $response['status'] = false;
148
  $response['msg'][] = sprintf( __( '%s has not been removed from wishlist.', 'ti-woocommerce-wishlist' ), $title );
207
  }
208
 
209
  if ( tinv_get_option( 'processing', 'autoremove' ) ) {
210
+ if ( $owner ) {
211
+ $response['wishlists_data'] = $class->get_wishlists_data( $wishlist['share_key'] );
212
+ }
213
  }
214
  } else {
215
  $response['status'] = false;
216
  $response['msg'][] = sprintf( _n( '%s has not been added to your cart.', '%s have been added to your cart.', 1, 'ti-woocommerce-wishlist' ), $title );
217
  }
218
+ $response['content'] = tinvwl_shortcode_view( array(
219
+ 'paged' => $post['tinvwl-paged'],
220
+ 'sharekey' => $post['tinvwl-sharekey']
221
+ ) );
222
  }
223
 
224
  break;
254
  if ( ! empty( $titles ) ) {
255
  $response['status'] = true;
256
  $response['msg'][] = sprintf( _n( '%s has been successfully removed from wishlist.', '%s have been successfully removed from wishlist.', count( $titles ), 'ti-woocommerce-wishlist' ), wc_format_list_of_items( $titles ) );
257
+ $response['content'] = tinvwl_shortcode_view( array(
258
+ 'paged' => $post['tinvwl-paged'],
259
+ 'sharekey' => $post['tinvwl-sharekey']
260
+ ) );
261
  $response['wishlists_data'] = $class->get_wishlists_data( $wishlist['share_key'] );
262
  }
263
 
345
  }
346
 
347
  if ( tinv_get_option( 'processing', 'autoremove' ) ) {
348
+ if ( $owner ) {
349
+ $response['wishlists_data'] = $class->get_wishlists_data( $wishlist['share_key'] );
350
+ }
351
  }
352
  }
353
+ $response['content'] = tinvwl_shortcode_view( array(
354
+ 'paged' => $post['tinvwl-paged'],
355
+ 'sharekey' => $post['tinvwl-sharekey']
356
+ ) );
357
  break;
358
  case 'add_to_cart_all':
359
  $_quantity = array();
433
  }
434
 
435
  if ( tinv_get_option( 'processing', 'autoremove' ) ) {
436
+ if ( $owner ) {
437
+ $response['wishlists_data'] = $class->get_wishlists_data( $wishlist['share_key'] );
438
+ }
439
  }
440
  }
441
+ $response['content'] = tinvwl_shortcode_view( array(
442
+ 'paged' => $post['tinvwl-paged'],
443
+ 'sharekey' => $post['tinvwl-sharekey']
444
+ ) );
445
  break;
446
  }
447
  $response['icon'] = $response['status'] ? 'icon_big_heart_check' : 'icon_big_times';
public/wishlist/view.class.php CHANGED
@@ -411,7 +411,14 @@ class TInvWL_Public_Wishlist_View {
411
  * @return mixed
412
  */
413
  function htmloutput( $atts ) {
414
- $wishlist = $this->get_current_wishlist();
 
 
 
 
 
 
 
415
 
416
  if ( empty( $wishlist ) ) {
417
  $id = get_query_var( 'tinvwlID', null );
@@ -445,7 +452,7 @@ class TInvWL_Public_Wishlist_View {
445
  $this->lists_per_page = absint( $atts['lists_per_page'] );
446
  $paged = absint( get_query_var( 'wl_paged' ) ? get_query_var( 'wl_paged' ) : $atts['paged'] );
447
 
448
- if ( 10 === $this->lists_per_page && is_array( $this->get_current_products_query() ) ) {
449
  $products = $this->current_products_query;
450
  } else {
451
  $products = $this->get_current_products( $wishlist, true, $this->lists_per_page, $paged );
@@ -611,6 +618,7 @@ class TInvWL_Public_Wishlist_View {
611
  $default = array(
612
  'lists_per_page' => 10,
613
  'paged' => 1,
 
614
  );
615
  $atts = shortcode_atts( $default, $atts );
616
 
411
  * @return mixed
412
  */
413
  function htmloutput( $atts ) {
414
+
415
+ if ( $atts['sharekey'] ) {
416
+ $wl = new TInvWL_Wishlist( $this->_name );
417
+ $wishlist = $wl->get_by_share_key( $atts['sharekey'] );
418
+ $this->current_wishlist = $wishlist;
419
+ } else {
420
+ $wishlist = $this->get_current_wishlist();
421
+ }
422
 
423
  if ( empty( $wishlist ) ) {
424
  $id = get_query_var( 'tinvwlID', null );
452
  $this->lists_per_page = absint( $atts['lists_per_page'] );
453
  $paged = absint( get_query_var( 'wl_paged' ) ? get_query_var( 'wl_paged' ) : $atts['paged'] );
454
 
455
+ if ( 10 === $this->lists_per_page && is_array( $this->get_current_products_query() ) && ! $atts['sharekey'] ) {
456
  $products = $this->current_products_query;
457
  } else {
458
  $products = $this->get_current_products( $wishlist, true, $this->lists_per_page, $paged );
618
  $default = array(
619
  'lists_per_page' => 10,
620
  'paged' => 1,
621
+ 'sharekey' => false,
622
  );
623
  $atts = shortcode_atts( $default, $atts );
624
 
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: templateinvaders
3
  Tags: woocommerce, wishlist, woocommerce wishlist, e-commerce, ecommerce
4
  Requires at least: 4.7
5
  Tested up to: 6.0
6
- Stable tag: 2.0.0
7
  License: GPLv3
8
  License URI: https://www.gnu.org/licenses/gpl-3.0.html
9
  Plugin URI: https://wordpress.org/plugins/ti-woocommerce-wishlist/
@@ -163,6 +163,12 @@ Yes, you can! Join in on our [GitHub repository](https://github.com/TemplateInva
163
 
164
 
165
  == Changelog ==
 
 
 
 
 
 
166
  = 2.0.0 =
167
  *Release Date - 11 September 2022*
168
 
3
  Tags: woocommerce, wishlist, woocommerce wishlist, e-commerce, ecommerce
4
  Requires at least: 4.7
5
  Tested up to: 6.0
6
+ Stable tag: 2.0.1
7
  License: GPLv3
8
  License URI: https://www.gnu.org/licenses/gpl-3.0.html
9
  Plugin URI: https://wordpress.org/plugins/ti-woocommerce-wishlist/
163
 
164
 
165
  == Changelog ==
166
+ = 2.0.1 =
167
+ *Release Date - 12 September 2022*
168
+
169
+ * Fixed WooCommerce My Account links issue
170
+ * Fixed AJAX actions for guests issue
171
+
172
  = 2.0.0 =
173
  *Release Date - 11 September 2022*
174
 
templates/ti-wishlist-user.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * This template can be overridden by copying it to yourtheme/woocommerce/ti-wishlist-user.php.
6
  *
7
- * @version 2.0.0
8
  * @package TInvWishlist\Template
9
  */
10
 
@@ -15,12 +15,12 @@ wp_enqueue_script( 'tinvwl' );
15
  ?>
16
  <div class="tinv-wishlist woocommerce tinv-wishlist-clear">
17
  <?php do_action( 'tinvwl_before_wishlist', $wishlist ); ?>
18
- <?php if (function_exists('wc_print_notices') && isset(WC()->session)) {
19
  wc_print_notices();
20
  } ?>
21
  <?php $form_url = tinv_url_wishlist( $wishlist['share_key'], $wl_paged, true ); ?>
22
  <form action="<?php echo esc_url( $form_url ); ?>" method="post" autocomplete="off"
23
- data-tinvwl_paged="<? echo $wl_paged; ?>">
24
  <?php do_action( 'tinvwl_before_wishlist_table', $wishlist ); ?>
25
  <table class="tinvwl-table-manage-list">
26
  <thead>
4
  *
5
  * This template can be overridden by copying it to yourtheme/woocommerce/ti-wishlist-user.php.
6
  *
7
+ * @version 2.0.1
8
  * @package TInvWishlist\Template
9
  */
10
 
15
  ?>
16
  <div class="tinv-wishlist woocommerce tinv-wishlist-clear">
17
  <?php do_action( 'tinvwl_before_wishlist', $wishlist ); ?>
18
+ <?php if ( function_exists( 'wc_print_notices' ) && isset( WC()->session ) ) {
19
  wc_print_notices();
20
  } ?>
21
  <?php $form_url = tinv_url_wishlist( $wishlist['share_key'], $wl_paged, true ); ?>
22
  <form action="<?php echo esc_url( $form_url ); ?>" method="post" autocomplete="off"
23
+ data-tinvwl_paged="<? echo $wl_paged; ?>" data-tinvwl_sharekey="<?php echo $wishlist['share_key'] ?>">
24
  <?php do_action( 'tinvwl_before_wishlist_table', $wishlist ); ?>
25
  <table class="tinvwl-table-manage-list">
26
  <thead>
templates/ti-wishlist.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * This template can be overridden by copying it to yourtheme/woocommerce/ti-wishlist.php.
6
  *
7
- * @version 2.0.0
8
  * @package TInvWishlist\Template
9
  */
10
 
@@ -15,12 +15,12 @@ wp_enqueue_script( 'tinvwl' );
15
  ?>
16
  <div class="tinv-wishlist woocommerce tinv-wishlist-clear">
17
  <?php do_action( 'tinvwl_before_wishlist', $wishlist ); ?>
18
- <?php if (function_exists('wc_print_notices') && isset(WC()->session)) {
19
  wc_print_notices();
20
  } ?>
21
  <?php $form_url = tinv_url_wishlist( $wishlist['share_key'], $wl_paged, true ); ?>
22
  <form action="<?php echo esc_url( $form_url ); ?>" method="post" autocomplete="off"
23
- data-tinvwl_paged="<? echo $wl_paged; ?>">
24
  <?php do_action( 'tinvwl_before_wishlist_table', $wishlist ); ?>
25
  <table class="tinvwl-table-manage-list">
26
  <thead>
4
  *
5
  * This template can be overridden by copying it to yourtheme/woocommerce/ti-wishlist.php.
6
  *
7
+ * @version 2.0.1
8
  * @package TInvWishlist\Template
9
  */
10
 
15
  ?>
16
  <div class="tinv-wishlist woocommerce tinv-wishlist-clear">
17
  <?php do_action( 'tinvwl_before_wishlist', $wishlist ); ?>
18
+ <?php if ( function_exists( 'wc_print_notices' ) && isset( WC()->session ) ) {
19
  wc_print_notices();
20
  } ?>
21
  <?php $form_url = tinv_url_wishlist( $wishlist['share_key'], $wl_paged, true ); ?>
22
  <form action="<?php echo esc_url( $form_url ); ?>" method="post" autocomplete="off"
23
+ data-tinvwl_paged="<? echo $wl_paged; ?>" data-tinvwl_sharekey="<?php echo $wishlist['share_key'] ?>">
24
  <?php do_action( 'tinvwl_before_wishlist_table', $wishlist ); ?>
25
  <table class="tinvwl-table-manage-list">
26
  <thead>
ti-woocommerce-wishlist.php CHANGED
@@ -4,7 +4,7 @@
4
  * Plugin Name: TI WooCommerce Wishlist
5
  * Plugin URI: https://wordpress.org/plugins/ti-woocommerce-wishlist/
6
  * Description: Wishlist functionality for your WooCommerce store.
7
- * Version: 2.0.0
8
  * Requires at least: 4.7
9
  * Tested up to: 6.0
10
  * WC requires at least: 3.0
@@ -41,7 +41,7 @@ if ( ! defined( 'TINVWL_DOMAIN' ) ) {
41
  }
42
 
43
  if ( ! defined( 'TINVWL_FVERSION' ) ) {
44
- define( 'TINVWL_FVERSION', '2.0.0' );
45
  }
46
 
47
  if ( ! defined( 'TINVWL_LOAD_FREE' ) ) {
4
  * Plugin Name: TI WooCommerce Wishlist
5
  * Plugin URI: https://wordpress.org/plugins/ti-woocommerce-wishlist/
6
  * Description: Wishlist functionality for your WooCommerce store.
7
+ * Version: 2.0.1
8
  * Requires at least: 4.7
9
  * Tested up to: 6.0
10
  * WC requires at least: 3.0
41
  }
42
 
43
  if ( ! defined( 'TINVWL_FVERSION' ) ) {
44
+ define( 'TINVWL_FVERSION', '2.0.1' );
45
  }
46
 
47
  if ( ! defined( 'TINVWL_LOAD_FREE' ) ) {