Pixel Caffeine - Version 2.0.3

Version Description

  • 2018-03-19 =
  • Add - Variation ID in the mandatory field error when the item in error is variation
  • Add - Get variation description from the parent if it is empty
  • Add - Add helpful hook to change allowed standard event parameters
  • Add - Option in Advanced Settings to force to use IDs in content_ids parameters even if a product SKU is defined
  • Fix - Description or title cannot be empty error during feed generation (for who updates please refresh again the feed)
  • Fix - Strip whole SVG tags from content in the product feed
  • Fix - Syntax error in Log classes
  • Fix - Image link broken inside the feed with some external plugins
  • Fix - Error get_plugins does not exist in feed error
Download this release

Release Info

Developer antoscarface
Plugin Icon 128x128 Pixel Caffeine
Version 2.0.3
Comparing to
See all releases

Code changes from version 2.0.2 to 2.0.3

build/frontend.js CHANGED
@@ -1 +1 @@
1
- !function(t){function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}var e={};n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},n.p="",n(n.s=27)}([function(t,n,e){"use strict";var r=Array.isArray;t.exports=r},function(t,n,e){"use strict";function r(t,n){return o(t)?t:c(t,n)?[t]:i(u(t))}var o=e(0),c=e(33),i=e(38),u=e(67);t.exports=r},function(t,n,e){"use strict";var r=e(11),o=r.Symbol;t.exports=o},function(t,n,e){"use strict";var r=e(13),o=r(Object,"create");t.exports=o},function(t,n,e){"use strict";function r(t,n){for(var e=t.length;e--;)if(o(t[e][0],n))return e;return-1}var o=e(17);t.exports=r},function(t,n,e){"use strict";function r(t,n){var e=t.__data__;return o(n)?e["string"==typeof n?"string":"hash"]:e.map}var o=e(63);t.exports=r},,,,function(t,n,e){"use strict";function r(t){return"symbol"==(void 0===t?"undefined":o(t))||i(t)&&c(t)==u}var o="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},c=e(10),i=e(12),u="[object Symbol]";t.exports=r},function(t,n,e){"use strict";function r(t){return null==t?void 0===t?a:u:s&&s in Object(t)?c(t):i(t)}var o=e(2),c=e(36),i=e(37),u="[object Null]",a="[object Undefined]",s=o?o.toStringTag:void 0;t.exports=r},function(t,n,e){"use strict";var r="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},o=e(34),c="object"==("undefined"==typeof self?"undefined":r(self))&&self&&self.Object===Object&&self,i=o||c||Function("return this")();t.exports=i},function(t,n,e){"use strict";function r(t){return null!=t&&"object"==(void 0===t?"undefined":o(t))}var o="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.exports=r},function(t,n,e){"use strict";function r(t,n){var e=c(t,n);return o(e)?e:void 0}var o=e(45),c=e(50);t.exports=r},function(t,n,e){"use strict";function r(t){var n=void 0===t?"undefined":o(t);return null!=t&&("object"==n||"function"==n)}var o="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.exports=r},function(t,n,e){"use strict";function r(t){if("string"==typeof t||o(t))return t;var n=t+"";return"0"==n&&1/t==-c?"-0":n}var o=e(9),c=1/0;t.exports=r},,function(t,n,e){"use strict";function r(t,n){return t===n||t!==t&&n!==n}t.exports=r},function(t,n,e){"use strict";var r=e(13),o=function(){try{var t=r(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();t.exports=o},function(t,n,e){"use strict";function r(t,n){return!!(n=null==n?o:n)&&("number"==typeof t||c.test(t))&&t>-1&&t%1==0&&t<n}var o=9007199254740991,c=/^(?:0|[1-9]\d*)$/;t.exports=r},function(t,n,e){"use strict";var r=e(76),o=e(12),c=Object.prototype,i=c.hasOwnProperty,u=c.propertyIsEnumerable,a=r(function(){return arguments}())?r:function(t){return o(t)&&i.call(t,"callee")&&!u.call(t,"callee")};t.exports=a},,,,,,,function(t,n,e){t.exports=e(28)},function(t,n,e){"use strict";var r=e(29),o=function(t){return t&&t.__esModule?t:{default:t}}(r);jQuery(document).ready(function(t){var n=(t(document.body),function(t){return aepc_extend_args(t)}),e=function(t,n){n?setTimeout(t,1e3*n):t()};aepc_pixel_events.standard_events&&t.each(aepc_pixel_events.standard_events,function(r,o){t.each(o,function(t,o){e(function(){o.params?fbq("track",r,n(o.params)):fbq("track",r)},o.delay)})}),void 0!==aepc_pixel_events.custom_events&&t.each(aepc_pixel_events.custom_events,function(r,o){t.each(o,function(t,o){e(function(){fbq("trackCustom",r,n(o.params))},o.delay)})}),void 0!==aepc_pixel_events.css_events&&t.each(aepc_pixel_events.css_events,function(e,r){t.each(r,function(r,o){t(e).on("click",function(){fbq(o.trackType,o.trackName,n(o.trackParams))})})}),void 0!==aepc_pixel_events.link_clicks&&t.each(aepc_pixel_events.link_clicks,function(e,r){e=e.replace(/\*/g,"[^/]+"),t("a").filter(function(){var n=t(this).attr("href");return void 0!==n&&n.match(new RegExp(e))}).on("click",function(e){t.each(r,function(t,e){fbq(e.trackType,e.trackName,n(e.trackParams))})})}),t(".product_type_simple.add_to_cart_button").on("click",function(e){if("no"===aepc_pixel.enable_addtocart)return e;var r=t(this),c=r.closest(".product"),i=r.data("product_sku")?r.data("product_sku"):r.data("product_id"),u=c.find('input[name="quantity"]').length?c.find('input[name="quantity"]').val():1;fbq("track","AddToCart",n((0,o.default)({content_ids:[i],content_type:"product",content_name:c.find("h3, .woocommerce-loop-product__title").text(),content_category:c.find("span[data-content_category]").data("content_category"),value:parseFloat(c.find("span.amount:last").clone().children().remove().end().text())*u,currency:woocommerce_params.currency},aepc_pixel.allowed_params.AddToCart)))}),t(".add_to_wishlist, .wl-add-to").on("click",function(e){if("no"===aepc_pixel.enable_wishlist)return e;var r=t(this),c=r.closest("li.product"),i=r.data("product_sku")?r.data("product_sku"):r.data("product_id");fbq("track","AddToWishlist",n((0,o.default)({content_ids:[i],content_type:"product",content_name:c.find("h3").text(),content_category:c.find("span[data-content_category]").data("content_category"),value:parseFloat(c.find("span.amount:last").clone().children().remove().end().text()),currency:woocommerce_params.currency},aepc_pixel.allowed_params.AddToWishlist)))}),t(".woocommerce div.product").on("click",".single_add_to_cart_button",function(e){if("yes"===aepc_pixel.enable_addtocart){var r=t(this).closest("form"),o=r.find('[name="add-to-cart"]'),c=r.find('[name="variation_id"]'),i=c.length?c.val():o.val(),u=aepc_wc_add_to_cart[i],a=r.find('input[name="quantity"]').length?r.find('input[name="quantity"]').val():1;u.hasOwnProperty("value")&&(u.value*=a),fbq("track","AddToCart",n(u))}}).on("click",".add_to_wishlist, .wl-add-to",function(e){if("no"===aepc_pixel.enable_wishlist){var r=t(this).closest("form"),o=r.find('[name="add-to-cart"]'),c=r.find('[name="variation_id"]'),i=c.length?c.val():o.val();fbq("track","AddToWishlist",n(aepc_wc_add_to_cart[i]))}}),t("body.woocommerce-page form.checkout").on("checkout_place_order",function(t){return"no"===aepc_pixel.enable_addpaymentinfo?t:(fbq("track","AddPaymentInfo",n(aepc_add_payment_info_params)),!0)}),t(".edd_download, .edd-download").on("click",".edd-add-to-cart",function(e){if("no"===aepc_pixel.enable_addtocart)return e;var r=t(this),c=r.closest("div.edd_download, article.type-download"),i=r.data("download-sku")?r.data("download-sku"):r.data("download-id"),u=c.find('meta[itemprop="priceCurrency"]').attr("content"),a=r.data("price");if("yes"===r.data("variable-price")){var s=t(".edd_price_options"),f=s.find('input[type="radio"]:checked'),p=f.closest("li");a=p.find('meta[itemprop="price"]').attr("content"),u=p.find('meta[itemprop="priceCurrency"]').attr("content")}fbq("track","AddToCart",n((0,o.default)({content_ids:[i],content_type:"product",content_name:c.find('[itemprop="name"]').first().text(),content_category:r.data("download-categories"),value:parseFloat(a),currency:u},aepc_pixel.allowed_params.AddToCart)))}),t(".edd-checkout").on("click",'form#edd_purchase_form input[type="submit"]',function(t){return"no"===aepc_pixel.enable_addpaymentinfo?t:(fbq("track","AddPaymentInfo",n(aepc_add_payment_info_params)),!0)})})},function(t,n,e){"use strict";var r=e(30),o=e(78),c=o(function(t,n){return null==t?{}:r(t,n)});t.exports=c},function(t,n,e){"use strict";function r(t,n){return o(t,n,function(n,e){return c(t,e)})}var o=e(31),c=e(73);t.exports=r},function(t,n,e){"use strict";function r(t,n,e){for(var r=-1,u=n.length,a={};++r<u;){var s=n[r],f=o(t,s);e(f,s)&&c(a,i(s,t),f)}return a}var o=e(32),c=e(70),i=e(1);t.exports=r},function(t,n,e){"use strict";function r(t,n){n=o(n,t);for(var e=0,r=n.length;null!=t&&e<r;)t=t[c(n[e++])];return e&&e==r?t:void 0}var o=e(1),c=e(15);t.exports=r},function(t,n,e){"use strict";function r(t,n){if(c(t))return!1;var e=void 0===t?"undefined":o(t);return!("number"!=e&&"symbol"!=e&&"boolean"!=e&&null!=t&&!i(t))||(a.test(t)||!u.test(t)||null!=n&&t in Object(n))}var o="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},c=e(0),i=e(9),u=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,a=/^\w*$/;t.exports=r},function(t,n,e){"use strict";(function(n){var e="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},r="object"==(void 0===n?"undefined":e(n))&&n&&n.Object===Object&&n;t.exports=r}).call(n,e(35))},function(t,n,e){"use strict";var r,o="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};r=function(){return this}();try{r=r||Function("return this")()||(0,eval)("this")}catch(t){"object"===("undefined"==typeof window?"undefined":o(window))&&(r=window)}t.exports=r},function(t,n,e){"use strict";function r(t){var n=i.call(t,a),e=t[a];try{t[a]=void 0;var r=!0}catch(t){}var o=u.call(t);return r&&(n?t[a]=e:delete t[a]),o}var o=e(2),c=Object.prototype,i=c.hasOwnProperty,u=c.toString,a=o?o.toStringTag:void 0;t.exports=r},function(t,n,e){"use strict";function r(t){return c.call(t)}var o=Object.prototype,c=o.toString;t.exports=r},function(t,n,e){"use strict";var r=e(39),o=/^\./,c=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,i=/\\(\\)?/g,u=r(function(t){var n=[];return o.test(t)&&n.push(""),t.replace(c,function(t,e,r,o){n.push(r?o.replace(i,"$1"):e||t)}),n});t.exports=u},function(t,n,e){"use strict";function r(t){var n=o(t,function(t){return e.size===c&&e.clear(),t}),e=n.cache;return n}var o=e(40),c=500;t.exports=r},function(t,n,e){"use strict";function r(t,n){if("function"!=typeof t||null!=n&&"function"!=typeof n)throw new TypeError(c);var e=function e(){var r=arguments,o=n?n.apply(this,r):r[0],c=e.cache;if(c.has(o))return c.get(o);var i=t.apply(this,r);return e.cache=c.set(o,i)||c,i};return e.cache=new(r.Cache||o),e}var o=e(41),c="Expected a function";r.Cache=o,t.exports=r},function(t,n,e){"use strict";function r(t){var n=-1,e=null==t?0:t.length;for(this.clear();++n<e;){var r=t[n];this.set(r[0],r[1])}}var o=e(42),c=e(62),i=e(64),u=e(65),a=e(66);r.prototype.clear=o,r.prototype.delete=c,r.prototype.get=i,r.prototype.has=u,r.prototype.set=a,t.exports=r},function(t,n,e){"use strict";function r(){this.size=0,this.__data__={hash:new o,map:new(i||c),string:new o}}var o=e(43),c=e(55),i=e(61);t.exports=r},function(t,n,e){"use strict";function r(t){var n=-1,e=null==t?0:t.length;for(this.clear();++n<e;){var r=t[n];this.set(r[0],r[1])}}var o=e(44),c=e(51),i=e(52),u=e(53),a=e(54);r.prototype.clear=o,r.prototype.delete=c,r.prototype.get=i,r.prototype.has=u,r.prototype.set=a,t.exports=r},function(t,n,e){"use strict";function r(){this.__data__=o?o(null):{},this.size=0}var o=e(3);t.exports=r},function(t,n,e){"use strict";function r(t){return!(!i(t)||c(t))&&(o(t)?y:s).test(u(t))}var o=e(46),c=e(47),i=e(14),u=e(49),a=/[\\^$.*+?()[\]{}|]/g,s=/^\[object .+?Constructor\]$/,f=Function.prototype,p=Object.prototype,l=f.toString,d=p.hasOwnProperty,y=RegExp("^"+l.call(d).replace(a,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=r},function(t,n,e){"use strict";function r(t){if(!c(t))return!1;var n=o(t);return n==u||n==a||n==i||n==s}var o=e(10),c=e(14),i="[object AsyncFunction]",u="[object Function]",a="[object GeneratorFunction]",s="[object Proxy]";t.exports=r},function(t,n,e){"use strict";function r(t){return!!c&&c in t}var o=e(48),c=function(){var t=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();t.exports=r},function(t,n,e){"use strict";var r=e(11),o=r["__core-js_shared__"];t.exports=o},function(t,n,e){"use strict";function r(t){if(null!=t){try{return c.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var o=Function.prototype,c=o.toString;t.exports=r},function(t,n,e){"use strict";function r(t,n){return null==t?void 0:t[n]}t.exports=r},function(t,n,e){"use strict";function r(t){var n=this.has(t)&&delete this.__data__[t];return this.size-=n?1:0,n}t.exports=r},function(t,n,e){"use strict";function r(t){var n=this.__data__;if(o){var e=n[t];return e===c?void 0:e}return u.call(n,t)?n[t]:void 0}var o=e(3),c="__lodash_hash_undefined__",i=Object.prototype,u=i.hasOwnProperty;t.exports=r},function(t,n,e){"use strict";function r(t){var n=this.__data__;return o?void 0!==n[t]:i.call(n,t)}var o=e(3),c=Object.prototype,i=c.hasOwnProperty;t.exports=r},function(t,n,e){"use strict";function r(t,n){var e=this.__data__;return this.size+=this.has(t)?0:1,e[t]=o&&void 0===n?c:n,this}var o=e(3),c="__lodash_hash_undefined__";t.exports=r},function(t,n,e){"use strict";function r(t){var n=-1,e=null==t?0:t.length;for(this.clear();++n<e;){var r=t[n];this.set(r[0],r[1])}}var o=e(56),c=e(57),i=e(58),u=e(59),a=e(60);r.prototype.clear=o,r.prototype.delete=c,r.prototype.get=i,r.prototype.has=u,r.prototype.set=a,t.exports=r},function(t,n,e){"use strict";function r(){this.__data__=[],this.size=0}t.exports=r},function(t,n,e){"use strict";function r(t){var n=this.__data__,e=o(n,t);return!(e<0)&&(e==n.length-1?n.pop():i.call(n,e,1),--this.size,!0)}var o=e(4),c=Array.prototype,i=c.splice;t.exports=r},function(t,n,e){"use strict";function r(t){var n=this.__data__,e=o(n,t);return e<0?void 0:n[e][1]}var o=e(4);t.exports=r},function(t,n,e){"use strict";function r(t){return o(this.__data__,t)>-1}var o=e(4);t.exports=r},function(t,n,e){"use strict";function r(t,n){var e=this.__data__,r=o(e,t);return r<0?(++this.size,e.push([t,n])):e[r][1]=n,this}var o=e(4);t.exports=r},function(t,n,e){"use strict";var r=e(13),o=e(11),c=r(o,"Map");t.exports=c},function(t,n,e){"use strict";function r(t){var n=o(this,t).delete(t);return this.size-=n?1:0,n}var o=e(5);t.exports=r},function(t,n,e){"use strict";function r(t){var n=void 0===t?"undefined":o(t);return"string"==n||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==t:null===t}var o="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.exports=r},function(t,n,e){"use strict";function r(t){return o(this,t).get(t)}var o=e(5);t.exports=r},function(t,n,e){"use strict";function r(t){return o(this,t).has(t)}var o=e(5);t.exports=r},function(t,n,e){"use strict";function r(t,n){var e=o(this,t),r=e.size;return e.set(t,n),this.size+=e.size==r?0:1,this}var o=e(5);t.exports=r},function(t,n,e){"use strict";function r(t){return null==t?"":o(t)}var o=e(68);t.exports=r},function(t,n,e){"use strict";function r(t){if("string"==typeof t)return t;if(i(t))return c(t,r)+"";if(u(t))return f?f.call(t):"";var n=t+"";return"0"==n&&1/t==-a?"-0":n}var o=e(2),c=e(69),i=e(0),u=e(9),a=1/0,s=o?o.prototype:void 0,f=s?s.toString:void 0;t.exports=r},function(t,n,e){"use strict";function r(t,n){for(var e=-1,r=null==t?0:t.length,o=Array(r);++e<r;)o[e]=n(t[e],e,t);return o}t.exports=r},function(t,n,e){"use strict";function r(t,n,e,r){if(!u(t))return t;n=c(n,t);for(var s=-1,f=n.length,p=f-1,l=t;null!=l&&++s<f;){var d=a(n[s]),y=e;if(s!=p){var v=l[d];y=r?r(v,d,l):void 0,void 0===y&&(y=u(v)?v:i(n[s+1])?[]:{})}o(l,d,y),l=l[d]}return t}var o=e(71),c=e(1),i=e(19),u=e(14),a=e(15);t.exports=r},function(t,n,e){"use strict";function r(t,n,e){var r=t[n];u.call(t,n)&&c(r,e)&&(void 0!==e||n in t)||o(t,n,e)}var o=e(72),c=e(17),i=Object.prototype,u=i.hasOwnProperty;t.exports=r},function(t,n,e){"use strict";function r(t,n,e){"__proto__"==n&&o?o(t,n,{configurable:!0,enumerable:!0,value:e,writable:!0}):t[n]=e}var o=e(18);t.exports=r},function(t,n,e){"use strict";function r(t,n){return null!=t&&c(t,n,o)}var o=e(74),c=e(75);t.exports=r},function(t,n,e){"use strict";function r(t,n){return null!=t&&n in Object(t)}t.exports=r},function(t,n,e){"use strict";function r(t,n,e){n=o(n,t);for(var r=-1,f=n.length,p=!1;++r<f;){var l=s(n[r]);if(!(p=null!=t&&e(t,l)))break;t=t[l]}return p||++r!=f?p:!!(f=null==t?0:t.length)&&a(f)&&u(l,f)&&(i(t)||c(t))}var o=e(1),c=e(20),i=e(0),u=e(19),a=e(77),s=e(15);t.exports=r},function(t,n,e){"use strict";function r(t){return c(t)&&o(t)==i}var o=e(10),c=e(12),i="[object Arguments]";t.exports=r},function(t,n,e){"use strict";function r(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=o}var o=9007199254740991;t.exports=r},function(t,n,e){"use strict";function r(t){return i(c(t,void 0,o),t+"")}var o=e(79),c=e(83),i=e(85);t.exports=r},function(t,n,e){"use strict";function r(t){return(null==t?0:t.length)?o(t,1):[]}var o=e(80);t.exports=r},function(t,n,e){"use strict";function r(t,n,e,i,u){var a=-1,s=t.length;for(e||(e=c),u||(u=[]);++a<s;){var f=t[a];n>0&&e(f)?n>1?r(f,n-1,e,i,u):o(u,f):i||(u[u.length]=f)}return u}var o=e(81),c=e(82);t.exports=r},function(t,n,e){"use strict";function r(t,n){for(var e=-1,r=n.length,o=t.length;++e<r;)t[o+e]=n[e];return t}t.exports=r},function(t,n,e){"use strict";function r(t){return i(t)||c(t)||!!(u&&t&&t[u])}var o=e(2),c=e(20),i=e(0),u=o?o.isConcatSpreadable:void 0;t.exports=r},function(t,n,e){"use strict";function r(t,n,e){return n=c(void 0===n?t.length-1:n,0),function(){for(var r=arguments,i=-1,u=c(r.length-n,0),a=Array(u);++i<u;)a[i]=r[n+i];i=-1;for(var s=Array(n+1);++i<n;)s[i]=r[i];return s[n]=e(a),o(t,this,s)}}var o=e(84),c=Math.max;t.exports=r},function(t,n,e){"use strict";function r(t,n,e){switch(e.length){case 0:return t.call(n);case 1:return t.call(n,e[0]);case 2:return t.call(n,e[0],e[1]);case 3:return t.call(n,e[0],e[1],e[2])}return t.apply(n,e)}t.exports=r},function(t,n,e){"use strict";var r=e(86),o=e(89),c=o(r);t.exports=c},function(t,n,e){"use strict";var r=e(87),o=e(18),c=e(88),i=o?function(t,n){return o(t,"toString",{configurable:!0,enumerable:!1,value:r(n),writable:!0})}:c;t.exports=i},function(t,n,e){"use strict";function r(t){return function(){return t}}t.exports=r},function(t,n,e){"use strict";function r(t){return t}t.exports=r},function(t,n,e){"use strict";function r(t){var n=0,e=0;return function(){var r=i(),u=c-(r-e);if(e=r,u>0){if(++n>=o)return arguments[0]}else n=0;return t.apply(void 0,arguments)}}var o=800,c=16,i=Date.now;t.exports=r}]);
1
+ !function(t){function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}var e={};n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},n.p="",n(n.s=27)}([function(t,n,e){"use strict";var r=Array.isArray;t.exports=r},function(t,n,e){"use strict";function r(t,n){return o(t)?t:c(t,n)?[t]:i(u(t))}var o=e(0),c=e(33),i=e(38),u=e(67);t.exports=r},function(t,n,e){"use strict";var r=e(11),o=r.Symbol;t.exports=o},function(t,n,e){"use strict";var r=e(13),o=r(Object,"create");t.exports=o},function(t,n,e){"use strict";function r(t,n){for(var e=t.length;e--;)if(o(t[e][0],n))return e;return-1}var o=e(17);t.exports=r},function(t,n,e){"use strict";function r(t,n){var e=t.__data__;return o(n)?e["string"==typeof n?"string":"hash"]:e.map}var o=e(63);t.exports=r},,,,function(t,n,e){"use strict";function r(t){return"symbol"==(void 0===t?"undefined":o(t))||i(t)&&c(t)==u}var o="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},c=e(10),i=e(12),u="[object Symbol]";t.exports=r},function(t,n,e){"use strict";function r(t){return null==t?void 0===t?a:u:s&&s in Object(t)?c(t):i(t)}var o=e(2),c=e(36),i=e(37),u="[object Null]",a="[object Undefined]",s=o?o.toStringTag:void 0;t.exports=r},function(t,n,e){"use strict";var r="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},o=e(34),c="object"==("undefined"==typeof self?"undefined":r(self))&&self&&self.Object===Object&&self,i=o||c||Function("return this")();t.exports=i},function(t,n,e){"use strict";function r(t){return null!=t&&"object"==(void 0===t?"undefined":o(t))}var o="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.exports=r},function(t,n,e){"use strict";function r(t,n){var e=c(t,n);return o(e)?e:void 0}var o=e(45),c=e(50);t.exports=r},function(t,n,e){"use strict";function r(t){var n=void 0===t?"undefined":o(t);return null!=t&&("object"==n||"function"==n)}var o="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.exports=r},function(t,n,e){"use strict";function r(t){if("string"==typeof t||o(t))return t;var n=t+"";return"0"==n&&1/t==-c?"-0":n}var o=e(9),c=1/0;t.exports=r},,function(t,n,e){"use strict";function r(t,n){return t===n||t!==t&&n!==n}t.exports=r},function(t,n,e){"use strict";var r=e(13),o=function(){try{var t=r(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();t.exports=o},function(t,n,e){"use strict";function r(t,n){return!!(n=null==n?o:n)&&("number"==typeof t||c.test(t))&&t>-1&&t%1==0&&t<n}var o=9007199254740991,c=/^(?:0|[1-9]\d*)$/;t.exports=r},function(t,n,e){"use strict";var r=e(76),o=e(12),c=Object.prototype,i=c.hasOwnProperty,u=c.propertyIsEnumerable,a=r(function(){return arguments}())?r:function(t){return o(t)&&i.call(t,"callee")&&!u.call(t,"callee")};t.exports=a},,,,,,,function(t,n,e){t.exports=e(28)},function(t,n,e){"use strict";var r=e(29),o=function(t){return t&&t.__esModule?t:{default:t}}(r);jQuery(document).ready(function(t){var n=(t(document.body),function(t){return aepc_extend_args(t)}),e=function(t,n){n?setTimeout(t,1e3*n):t()};aepc_pixel_events.standard_events&&t.each(aepc_pixel_events.standard_events,function(r,o){t.each(o,function(t,o){e(function(){o.params?fbq("track",r,n(o.params)):fbq("track",r)},o.delay)})}),void 0!==aepc_pixel_events.custom_events&&t.each(aepc_pixel_events.custom_events,function(r,o){t.each(o,function(t,o){e(function(){fbq("trackCustom",r,n(o.params))},o.delay)})}),void 0!==aepc_pixel_events.css_events&&t.each(aepc_pixel_events.css_events,function(e,r){t.each(r,function(r,o){t(e).on("click",function(){fbq(o.trackType,o.trackName,n(o.trackParams))})})}),void 0!==aepc_pixel_events.link_clicks&&t.each(aepc_pixel_events.link_clicks,function(e,r){e=e.replace(/\*/g,"[^/]+"),t("a").filter(function(){var n=t(this).attr("href");return void 0!==n&&n.match(new RegExp(e))}).on("click",function(e){t.each(r,function(t,e){fbq(e.trackType,e.trackName,n(e.trackParams))})})}),t(".product_type_simple.add_to_cart_button").on("click",function(e){if("no"===aepc_pixel.enable_addtocart)return e;var r=t(this),c=r.closest(".product"),i=r.data("product_sku")?r.data("product_sku"):r.data("product_id"),u=c.find('input[name="quantity"]').length?c.find('input[name="quantity"]').val():1;fbq("track","AddToCart",n((0,o.default)({content_ids:[i],content_type:"product",content_name:c.find("h3, .woocommerce-loop-product__title").text(),content_category:c.find("span[data-content_category]").data("content_category"),value:parseFloat(c.find("span.amount:last").clone().children().remove().end().text())*u,currency:woocommerce_params.currency},aepc_pixel.allowed_params.AddToCart)))}),t(".add_to_wishlist, .wl-add-to").on("click",function(e){if("no"===aepc_pixel.enable_wishlist)return e;var r=t(this),c=r.closest("li.product"),i=r.data("product_sku")?r.data("product_sku"):r.data("product_id");fbq("track","AddToWishlist",n((0,o.default)({content_ids:[i],content_type:"product",content_name:c.find("h3").text(),content_category:c.find("span[data-content_category]").data("content_category"),value:parseFloat(c.find("span.amount:last").clone().children().remove().end().text()),currency:woocommerce_params.currency},aepc_pixel.allowed_params.AddToWishlist)))}),t(".woocommerce div.product").on("click",".single_add_to_cart_button",function(e){if("yes"===aepc_pixel.enable_addtocart){var r=t(this).closest("form"),o=r.find('[name="add-to-cart"]'),c=r.find('[name="variation_id"]'),i=c.length?c.val():o.val(),u=aepc_wc_add_to_cart[i],a=r.find('input[name="quantity"]').length?r.find('input[name="quantity"]').val():1;u.hasOwnProperty("value")&&(u.value*=a),fbq("track","AddToCart",n(u))}}).on("click",".add_to_wishlist, .wl-add-to",function(e){if("no"===aepc_pixel.enable_wishlist){var r=t(this).closest("form"),o=r.find('[name="add-to-cart"]'),c=r.find('[name="variation_id"]'),i=c.length?c.val():o.val();fbq("track","AddToWishlist",n(aepc_wc_add_to_cart[i]))}}),t("body.woocommerce-page form.checkout").on("checkout_place_order",function(t){return"no"===aepc_pixel.enable_addpaymentinfo?t:(fbq("track","AddPaymentInfo",n(aepc_add_payment_info_params)),!0)}),t(".edd_download, .edd-download").on("click",".edd-add-to-cart",function(e){if("no"===aepc_pixel.enable_addtocart)return e;var r=t(this),c=r.closest("div.edd_download, article.type-download"),i=r.data("download-sku")?r.data("download-sku"):r.data("download-id"),u=c.find('meta[itemprop="priceCurrency"]').attr("content"),a=r.data("price");if("yes"===r.data("variable-price")){var s=t(".edd_price_options"),f=s.find('input[type="radio"]:checked'),p=f.closest("li");a=p.find('meta[itemprop="price"]').attr("content"),u=p.find('meta[itemprop="priceCurrency"]').attr("content")}fbq("track","AddToCart",n((0,o.default)({content_ids:[i],content_type:"product",content_name:c.find('[itemprop="name"]').first().text(),content_category:r.data("download-categories"),value:parseFloat(a),currency:u},aepc_pixel.allowed_params.AddToCart)))}),t(".edd-checkout").on("click",'form#edd_purchase_form input[type="submit"]',function(t){return"no"===aepc_pixel.enable_addpaymentinfo?t:(fbq("track","AddPaymentInfo",n(aepc_add_payment_info_params)),!0)})})},function(t,n,e){"use strict";var r=e(30),o=e(78),c=o(function(t,n){return null==t?{}:r(t,n)});t.exports=c},function(t,n,e){"use strict";function r(t,n){return o(t,n,function(n,e){return c(t,e)})}var o=e(31),c=e(73);t.exports=r},function(t,n,e){"use strict";function r(t,n,e){for(var r=-1,u=n.length,a={};++r<u;){var s=n[r],f=o(t,s);e(f,s)&&c(a,i(s,t),f)}return a}var o=e(32),c=e(70),i=e(1);t.exports=r},function(t,n,e){"use strict";function r(t,n){n=o(n,t);for(var e=0,r=n.length;null!=t&&e<r;)t=t[c(n[e++])];return e&&e==r?t:void 0}var o=e(1),c=e(15);t.exports=r},function(t,n,e){"use strict";function r(t,n){if(c(t))return!1;var e=void 0===t?"undefined":o(t);return!("number"!=e&&"symbol"!=e&&"boolean"!=e&&null!=t&&!i(t))||(a.test(t)||!u.test(t)||null!=n&&t in Object(n))}var o="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},c=e(0),i=e(9),u=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,a=/^\w*$/;t.exports=r},function(t,n,e){"use strict";(function(n){var e="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},r="object"==(void 0===n?"undefined":e(n))&&n&&n.Object===Object&&n;t.exports=r}).call(n,e(35))},function(t,n,e){"use strict";var r,o="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};r=function(){return this}();try{r=r||Function("return this")()||(0,eval)("this")}catch(t){"object"===("undefined"==typeof window?"undefined":o(window))&&(r=window)}t.exports=r},function(t,n,e){"use strict";function r(t){var n=i.call(t,a),e=t[a];try{t[a]=void 0;var r=!0}catch(t){}var o=u.call(t);return r&&(n?t[a]=e:delete t[a]),o}var o=e(2),c=Object.prototype,i=c.hasOwnProperty,u=c.toString,a=o?o.toStringTag:void 0;t.exports=r},function(t,n,e){"use strict";function r(t){return c.call(t)}var o=Object.prototype,c=o.toString;t.exports=r},function(t,n,e){"use strict";var r=e(39),o=/^\./,c=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,i=/\\(\\)?/g,u=r(function(t){var n=[];return o.test(t)&&n.push(""),t.replace(c,function(t,e,r,o){n.push(r?o.replace(i,"$1"):e||t)}),n});t.exports=u},function(t,n,e){"use strict";function r(t){var n=o(t,function(t){return e.size===c&&e.clear(),t}),e=n.cache;return n}var o=e(40),c=500;t.exports=r},function(t,n,e){"use strict";function r(t,n){if("function"!=typeof t||null!=n&&"function"!=typeof n)throw new TypeError(c);var e=function e(){var r=arguments,o=n?n.apply(this,r):r[0],c=e.cache;if(c.has(o))return c.get(o);var i=t.apply(this,r);return e.cache=c.set(o,i)||c,i};return e.cache=new(r.Cache||o),e}var o=e(41),c="Expected a function";r.Cache=o,t.exports=r},function(t,n,e){"use strict";function r(t){var n=-1,e=null==t?0:t.length;for(this.clear();++n<e;){var r=t[n];this.set(r[0],r[1])}}var o=e(42),c=e(62),i=e(64),u=e(65),a=e(66);r.prototype.clear=o,r.prototype.delete=c,r.prototype.get=i,r.prototype.has=u,r.prototype.set=a,t.exports=r},function(t,n,e){"use strict";function r(){this.size=0,this.__data__={hash:new o,map:new(i||c),string:new o}}var o=e(43),c=e(55),i=e(61);t.exports=r},function(t,n,e){"use strict";function r(t){var n=-1,e=null==t?0:t.length;for(this.clear();++n<e;){var r=t[n];this.set(r[0],r[1])}}var o=e(44),c=e(51),i=e(52),u=e(53),a=e(54);r.prototype.clear=o,r.prototype.delete=c,r.prototype.get=i,r.prototype.has=u,r.prototype.set=a,t.exports=r},function(t,n,e){"use strict";function r(){this.__data__=o?o(null):{},this.size=0}var o=e(3);t.exports=r},function(t,n,e){"use strict";function r(t){return!(!i(t)||c(t))&&(o(t)?y:s).test(u(t))}var o=e(46),c=e(47),i=e(14),u=e(49),a=/[\\^$.*+?()[\]{}|]/g,s=/^\[object .+?Constructor\]$/,f=Function.prototype,p=Object.prototype,l=f.toString,d=p.hasOwnProperty,y=RegExp("^"+l.call(d).replace(a,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=r},function(t,n,e){"use strict";function r(t){if(!c(t))return!1;var n=o(t);return n==u||n==a||n==i||n==s}var o=e(10),c=e(14),i="[object AsyncFunction]",u="[object Function]",a="[object GeneratorFunction]",s="[object Proxy]";t.exports=r},function(t,n,e){"use strict";function r(t){return!!c&&c in t}var o=e(48),c=function(){var t=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();t.exports=r},function(t,n,e){"use strict";var r=e(11),o=r["__core-js_shared__"];t.exports=o},function(t,n,e){"use strict";function r(t){if(null!=t){try{return c.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var o=Function.prototype,c=o.toString;t.exports=r},function(t,n,e){"use strict";function r(t,n){return null==t?void 0:t[n]}t.exports=r},function(t,n,e){"use strict";function r(t){var n=this.has(t)&&delete this.__data__[t];return this.size-=n?1:0,n}t.exports=r},function(t,n,e){"use strict";function r(t){var n=this.__data__;if(o){var e=n[t];return e===c?void 0:e}return u.call(n,t)?n[t]:void 0}var o=e(3),c="__lodash_hash_undefined__",i=Object.prototype,u=i.hasOwnProperty;t.exports=r},function(t,n,e){"use strict";function r(t){var n=this.__data__;return o?void 0!==n[t]:i.call(n,t)}var o=e(3),c=Object.prototype,i=c.hasOwnProperty;t.exports=r},function(t,n,e){"use strict";function r(t,n){var e=this.__data__;return this.size+=this.has(t)?0:1,e[t]=o&&void 0===n?c:n,this}var o=e(3),c="__lodash_hash_undefined__";t.exports=r},function(t,n,e){"use strict";function r(t){var n=-1,e=null==t?0:t.length;for(this.clear();++n<e;){var r=t[n];this.set(r[0],r[1])}}var o=e(56),c=e(57),i=e(58),u=e(59),a=e(60);r.prototype.clear=o,r.prototype.delete=c,r.prototype.get=i,r.prototype.has=u,r.prototype.set=a,t.exports=r},function(t,n,e){"use strict";function r(){this.__data__=[],this.size=0}t.exports=r},function(t,n,e){"use strict";function r(t){var n=this.__data__,e=o(n,t);return!(e<0)&&(e==n.length-1?n.pop():i.call(n,e,1),--this.size,!0)}var o=e(4),c=Array.prototype,i=c.splice;t.exports=r},function(t,n,e){"use strict";function r(t){var n=this.__data__,e=o(n,t);return e<0?void 0:n[e][1]}var o=e(4);t.exports=r},function(t,n,e){"use strict";function r(t){return o(this.__data__,t)>-1}var o=e(4);t.exports=r},function(t,n,e){"use strict";function r(t,n){var e=this.__data__,r=o(e,t);return r<0?(++this.size,e.push([t,n])):e[r][1]=n,this}var o=e(4);t.exports=r},function(t,n,e){"use strict";var r=e(13),o=e(11),c=r(o,"Map");t.exports=c},function(t,n,e){"use strict";function r(t){var n=o(this,t).delete(t);return this.size-=n?1:0,n}var o=e(5);t.exports=r},function(t,n,e){"use strict";function r(t){var n=void 0===t?"undefined":o(t);return"string"==n||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==t:null===t}var o="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.exports=r},function(t,n,e){"use strict";function r(t){return o(this,t).get(t)}var o=e(5);t.exports=r},function(t,n,e){"use strict";function r(t){return o(this,t).has(t)}var o=e(5);t.exports=r},function(t,n,e){"use strict";function r(t,n){var e=o(this,t),r=e.size;return e.set(t,n),this.size+=e.size==r?0:1,this}var o=e(5);t.exports=r},function(t,n,e){"use strict";function r(t){return null==t?"":o(t)}var o=e(68);t.exports=r},function(t,n,e){"use strict";function r(t){if("string"==typeof t)return t;if(i(t))return c(t,r)+"";if(u(t))return f?f.call(t):"";var n=t+"";return"0"==n&&1/t==-a?"-0":n}var o=e(2),c=e(69),i=e(0),u=e(9),a=1/0,s=o?o.prototype:void 0,f=s?s.toString:void 0;t.exports=r},function(t,n,e){"use strict";function r(t,n){for(var e=-1,r=null==t?0:t.length,o=Array(r);++e<r;)o[e]=n(t[e],e,t);return o}t.exports=r},function(t,n,e){"use strict";function r(t,n,e,r){if(!u(t))return t;n=c(n,t);for(var s=-1,f=n.length,p=f-1,l=t;null!=l&&++s<f;){var d=a(n[s]),y=e;if(s!=p){var v=l[d];y=r?r(v,d,l):void 0,void 0===y&&(y=u(v)?v:i(n[s+1])?[]:{})}o(l,d,y),l=l[d]}return t}var o=e(71),c=e(1),i=e(19),u=e(14),a=e(15);t.exports=r},function(t,n,e){"use strict";function r(t,n,e){var r=t[n];u.call(t,n)&&c(r,e)&&(void 0!==e||n in t)||o(t,n,e)}var o=e(72),c=e(17),i=Object.prototype,u=i.hasOwnProperty;t.exports=r},function(t,n,e){"use strict";function r(t,n,e){"__proto__"==n&&o?o(t,n,{configurable:!0,enumerable:!0,value:e,writable:!0}):t[n]=e}var o=e(18);t.exports=r},function(t,n,e){"use strict";function r(t,n){return null!=t&&c(t,n,o)}var o=e(74),c=e(75);t.exports=r},function(t,n,e){"use strict";function r(t,n){return null!=t&&n in Object(t)}t.exports=r},function(t,n,e){"use strict";function r(t,n,e){n=o(n,t);for(var r=-1,f=n.length,p=!1;++r<f;){var l=s(n[r]);if(!(p=null!=t&&e(t,l)))break;t=t[l]}return p||++r!=f?p:!!(f=null==t?0:t.length)&&a(f)&&u(l,f)&&(i(t)||c(t))}var o=e(1),c=e(20),i=e(0),u=e(19),a=e(77),s=e(15);t.exports=r},function(t,n,e){"use strict";function r(t){return c(t)&&o(t)==i}var o=e(10),c=e(12),i="[object Arguments]";t.exports=r},function(t,n,e){"use strict";function r(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=o}var o=9007199254740991;t.exports=r},function(t,n,e){"use strict";function r(t){return i(c(t,void 0,o),t+"")}var o=e(79),c=e(83),i=e(85);t.exports=r},function(t,n,e){"use strict";function r(t){return(null==t?0:t.length)?o(t,1):[]}var o=e(80);t.exports=r},function(t,n,e){"use strict";function r(t,n,e,i,u){var a=-1,s=t.length;for(e||(e=c),u||(u=[]);++a<s;){var f=t[a];n>0&&e(f)?n>1?r(f,n-1,e,i,u):o(u,f):i||(u[u.length]=f)}return u}var o=e(81),c=e(82);t.exports=r},function(t,n,e){"use strict";function r(t,n){for(var e=-1,r=n.length,o=t.length;++e<r;)t[o+e]=n[e];return t}t.exports=r},function(t,n,e){"use strict";function r(t){return i(t)||c(t)||!!(u&&t&&t[u])}var o=e(2),c=e(20),i=e(0),u=o?o.isConcatSpreadable:void 0;t.exports=r},function(t,n,e){"use strict";function r(t,n,e){return n=c(void 0===n?t.length-1:n,0),function(){for(var r=arguments,i=-1,u=c(r.length-n,0),a=Array(u);++i<u;)a[i]=r[n+i];i=-1;for(var s=Array(n+1);++i<n;)s[i]=r[i];return s[n]=e(a),o(t,this,s)}}var o=e(84),c=Math.max;t.exports=r},function(t,n,e){"use strict";function r(t,n,e){switch(e.length){case 0:return t.call(n);case 1:return t.call(n,e[0]);case 2:return t.call(n,e[0],e[1]);case 3:return t.call(n,e[0],e[1],e[2])}return t.apply(n,e)}t.exports=r},function(t,n,e){"use strict";var r=e(86),o=e(89),c=o(r);t.exports=c},function(t,n,e){"use strict";var r=e(87),o=e(18),c=e(88),i=o?function(t,n){return o(t,"toString",{configurable:!0,enumerable:!1,value:r(n),writable:!0})}:c;t.exports=i},function(t,n,e){"use strict";function r(t){return function(){return t}}t.exports=r},function(t,n,e){"use strict";function r(t){return t}t.exports=r},function(t,n,e){"use strict";function r(t){var n=0,e=0;return function(){var r=i(),u=c-(r-e);if(e=r,u>0){if(++n>=o)return arguments[0]}else n=0;return t.apply(void 0,arguments)}}var o=800,c=16,i=Date.now;t.exports=r}]);
includes/admin/class-aepc-admin-handlers.php CHANGED
@@ -755,7 +755,8 @@ class AEPC_Admin_Handlers {
755
  return;
756
  }
757
 
758
- $log = ( new LogRepository() )->findByID( intval( $_GET['log'] ) );
 
759
 
760
  ob_start();
761
 
755
  return;
756
  }
757
 
758
+ $logRepository = new LogRepository();
759
+ $log = $logRepository->findByID( intval( $_GET['log'] ) );
760
 
761
  ob_start();
762
 
includes/admin/class-aepc-admin-logger.php CHANGED
@@ -55,6 +55,8 @@ class AEPC_Admin_Logger {
55
  * @param array $context
56
  */
57
  public function log( $message, array $context = array() ) {
 
 
58
  $context = wp_parse_args( $context, array(
59
  'wp_version' => $GLOBALS['wp_version'],
60
  'plugins' => get_plugins()
55
  * @param array $context
56
  */
57
  public function log( $message, array $context = array() ) {
58
+ require_once ABSPATH . 'wp-admin/includes/plugin.php';
59
+
60
  $context = wp_parse_args( $context, array(
61
  'wp_version' => $GLOBALS['wp_version'],
62
  'plugins' => get_plugins()
includes/admin/class-aepc-admin.php CHANGED
@@ -54,7 +54,6 @@ class AEPC_Admin {
54
  * Include required core files used in admin and on the frontend.
55
  */
56
  public static function init_hooks() {
57
- add_action( 'activated_plugin', array( __CLASS__, 'register_plugin_activation' ) );
58
  add_action( 'admin_init', array( __CLASS__, 'redirect_to_dashboard_on_activation' ), 1 );
59
  add_action( 'admin_init', array( __CLASS__, 'redirect_to_dashboard_on_update' ), 1 );
60
  add_filter( 'plugin_action_links_' . plugin_basename( AEPC_PLUGIN_FILE ), array( __CLASS__, 'admin_plugin_settings_link' ) );
@@ -82,13 +81,9 @@ class AEPC_Admin {
82
 
83
  /**
84
  * Register a flag useful for redirect to dashboard after activation
85
- *
86
- * @param string $plugin_file_name Plugin path to main plugin file with plugin data.
87
  */
88
- public static function register_plugin_activation( $plugin_file_name ) {
89
- if ( plugin_basename( AEPC_PLUGIN_FILE ) === $plugin_file_name ) {
90
- add_option( 'aepc_just_activated', true );
91
- }
92
  }
93
 
94
  /**
54
  * Include required core files used in admin and on the frontend.
55
  */
56
  public static function init_hooks() {
 
57
  add_action( 'admin_init', array( __CLASS__, 'redirect_to_dashboard_on_activation' ), 1 );
58
  add_action( 'admin_init', array( __CLASS__, 'redirect_to_dashboard_on_update' ), 1 );
59
  add_filter( 'plugin_action_links_' . plugin_basename( AEPC_PLUGIN_FILE ), array( __CLASS__, 'admin_plugin_settings_link' ) );
81
 
82
  /**
83
  * Register a flag useful for redirect to dashboard after activation
 
 
84
  */
85
+ public static function register_plugin_activation() {
86
+ add_option( 'aepc_just_activated', true );
 
 
87
  }
88
 
89
  /**
includes/admin/logs/class-log-db-handler.php CHANGED
@@ -42,6 +42,7 @@ class LogDBHandler extends AbstractProcessingHandler {
42
  $record['context']
43
  );
44
 
45
- ( new LogRepository() )->save( $log );
 
46
  }
47
  }
42
  $record['context']
43
  );
44
 
45
+ $repository = new LogRepository();
46
+ $repository->save( $log );
47
  }
48
  }
includes/admin/settings/general-settings.php CHANGED
@@ -94,6 +94,11 @@ return array(
94
  'default' => array()
95
  ),
96
 
 
 
 
 
 
97
  'aepc_enable_pixel_delay' => array(
98
  'type' => 'checkbox',
99
  'default' => 'no'
94
  'default' => array()
95
  ),
96
 
97
+ 'aepc_force_ids' => array(
98
+ 'type' => 'checkbox',
99
+ 'default' => 'no'
100
+ ),
101
+
102
  'aepc_enable_pixel_delay' => array(
103
  'type' => 'checkbox',
104
  'default' => 'no'
includes/admin/templates/parts/advanced-settings.php CHANGED
@@ -30,6 +30,24 @@ if ( ! AEPC_Admin::$api->is_logged_in() ) {
30
  <article class="sub-panel sub-panel-adv-opt form-horizontal-inline">
31
  <h4 class="tit"><?php _e( 'Tracking tools', 'pixel-caffeine' ) ?></h4>
32
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33
  <div class="form-group">
34
  <div class="control-wrap">
35
  <div class="checkbox with-form-control">
30
  <article class="sub-panel sub-panel-adv-opt form-horizontal-inline">
31
  <h4 class="tit"><?php _e( 'Tracking tools', 'pixel-caffeine' ) ?></h4>
32
 
33
+ <div class="form-group">
34
+ <div class="control-wrap">
35
+ <div class="checkbox">
36
+ <label for="<?php $page->field_id( 'aepc_force_ids' ) ?>">
37
+ <?php printf( esc_html_x( 'Force to use product IDs even if there is a SKU defined', 'pixel-caffeine' ),
38
+ '<strong>',
39
+ '</strong>'
40
+ ) ?>
41
+ <input
42
+ type="checkbox"
43
+ name="<?php $page->field_name( 'aepc_force_ids' ) ?>"
44
+ id="<?php $page->field_id( 'aepc_force_ids' ) ?>"
45
+ <?php checked( $page->get_value( 'aepc_force_ids' ), 'yes' ) ?>>
46
+ </label>
47
+ </div>
48
+ </div><!-- ./control-wrap -->
49
+ </div><!-- ./form-group -->
50
+
51
  <div class="form-group">
52
  <div class="control-wrap">
53
  <div class="checkbox with-form-control">
includes/class-aepc-addon-product-item.php CHANGED
@@ -157,6 +157,27 @@ class AEPC_Addon_Product_Item {
157
  return $this;
158
  }
159
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
160
  /**
161
  * Get the title
162
  *
157
  return $this;
158
  }
159
 
160
+ /**
161
+ * Get the parent_admin_url
162
+ *
163
+ * @return string
164
+ */
165
+ public function get_parent_admin_url() {
166
+ return $this->data['parent_admin_url'];
167
+ }
168
+
169
+ /**
170
+ * Set the parent_admin_url
171
+ *
172
+ * @param string $parent_admin_url
173
+ *
174
+ * @return self $this
175
+ */
176
+ public function set_parent_admin_url( $parent_admin_url ) {
177
+ $this->data['parent_admin_url'] = $parent_admin_url;
178
+ return $this;
179
+ }
180
+
181
  /**
182
  * Get the title
183
  *
includes/class-aepc-track.php CHANGED
@@ -450,6 +450,13 @@ class AEPC_Track {
450
  return 'no' === get_option( 'aepc_conversions_no_product_group', 'no' );
451
  }
452
 
 
 
 
 
 
 
 
453
  /**
454
  * Get the standard parameters
455
  *
@@ -510,7 +517,7 @@ class AEPC_Track {
510
  }
511
  }
512
 
513
- return $params;
514
  }
515
 
516
  }
450
  return 'no' === get_option( 'aepc_conversions_no_product_group', 'no' );
451
  }
452
 
453
+ /**
454
+ * Say if content_ids should contain IDs or SKUs
455
+ */
456
+ public static function can_use_sku() {
457
+ return 'no' === get_option( 'aepc_force_ids', 'no' );
458
+ }
459
+
460
  /**
461
  * Get the standard parameters
462
  *
517
  }
518
  }
519
 
520
+ return apply_filters( 'aepc_allowed_standard_event_params', $params, $event );
521
  }
522
 
523
  }
includes/product-catalogs/exception/exception-feed.php CHANGED
@@ -22,7 +22,14 @@ class FeedException extends AEPCException {
22
  }
23
 
24
  public static function mandatoryField( $field, \AEPC_Addon_Product_Item $item ) {
25
- return new self( sprintf( __( '%sProduct #%s%s error: the field "%s" in must not be empty.', 'pixel-caffeine' ), '<a href="' . $item->get_admin_url() . '">', $item->get_id(), '</a>', $field ), 4 );
 
 
 
 
 
 
 
26
  }
27
 
28
  public static function googleCategoryMandatory( \AEPC_Addon_Product_Item $item ) {
22
  }
23
 
24
  public static function mandatoryField( $field, \AEPC_Addon_Product_Item $item ) {
25
+ if ( $item->is_variation() ) {
26
+ return new self(sprintf(__('Variation #%s of %sproduct #%s%s error: the field "%s" in must not be empty.',
27
+ 'pixel-caffeine'), $item->get_id(), '<a href="' . $item->get_parent_admin_url() . '">', $item->get_group_id(),
28
+ '</a>', $field), 4);
29
+ } else {
30
+ return new self(sprintf(__('%sProduct #%s%s error: the field "%s" in must not be empty.', 'pixel-caffeine'),
31
+ '<a href="' . $item->get_admin_url() . '">', $item->get_id(), '</a>', $field), 4);
32
+ }
33
  }
34
 
35
  public static function googleCategoryMandatory( \AEPC_Addon_Product_Item $item ) {
includes/product-catalogs/feed/class-xml-writer.php CHANGED
@@ -417,6 +417,7 @@ class XMLWriter implements WriterInterface {
417
  */
418
  protected function sanitize_content( $content ) {
419
  $content = do_shortcode( $content );
 
420
  $content = wp_strip_all_tags( $content );
421
 
422
  return $content;
417
  */
418
  protected function sanitize_content( $content ) {
419
  $content = do_shortcode( $content );
420
+ $content = preg_replace( '@<(svg)[^>]*?>.*?</\\1>@si', '', $content );
421
  $content = wp_strip_all_tags( $content );
422
 
423
  return $content;
includes/supports/class-aepc-edd-addon-support.php CHANGED
@@ -272,7 +272,7 @@ class AEPC_Edd_Addon_Support extends AEPC_Addon_Factory implements ECommerceAddO
272
  * @return string|int
273
  */
274
  protected function maybe_sku( $product_id ) {
275
- if ( edd_use_skus() && ( $sku = get_post_meta( $product_id, 'edd_sku', true ) ) && ! empty( $sku ) ) {
276
  return $sku;
277
  }
278
 
272
  * @return string|int
273
  */
274
  protected function maybe_sku( $product_id ) {
275
+ if ( AEPC_Track::can_use_sku() && edd_use_skus() && ( $sku = get_post_meta( $product_id, 'edd_sku', true ) ) && ! empty( $sku ) ) {
276
  return $sku;
277
  }
278
 
includes/supports/class-aepc-woocommerce-addon-support.php CHANGED
@@ -394,7 +394,7 @@ class AEPC_Woocommerce_Addon_Support extends AEPC_Addon_Factory implements EComm
394
  * @return string|int
395
  */
396
  protected function maybe_sku( $product_id ) {
397
- if ( $sku = get_post_meta( $product_id, '_sku', true ) ) {
398
  return $sku;
399
  }
400
 
@@ -445,6 +445,25 @@ class AEPC_Woocommerce_Addon_Support extends AEPC_Addon_Factory implements EComm
445
  return function_exists('wc_get_checkout_url') ? wc_get_checkout_url() : wc_get_page_permalink('checkout');
446
  }
447
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
448
  /**
449
  * Return the AEPC_Addon_Product_item instance for the product
450
  *
@@ -456,19 +475,21 @@ class AEPC_Woocommerce_Addon_Support extends AEPC_Addon_Factory implements EComm
456
  */
457
  public function get_product_item( $product, Metaboxes $metaboxes, Configuration $configuration ) {
458
  $product_item = new AEPC_Addon_Product_Item( $this );
 
459
 
460
  // Backwards helper variables
461
  $product_is_variation = $product->is_type( 'variation' );
462
  $product_id = method_exists( $product, 'get_id' ) ? $product->get_id() : ( $product_is_variation ? $product->variation_id : $product->id );
463
  $product_slug = method_exists( $product, 'get_slug' ) ? $product->get_slug() : $product->post->post_name;
464
- $product_description = method_exists( $product, 'get_description' ) ? $product->get_description() : $product->post->post_content;
465
  $product_short_description = method_exists( $product, 'get_short_description' ) ? $product->get_short_description() : '';
466
  $product_additional_image_ids = array_map( 'wp_get_attachment_url', method_exists( $product, 'get_gallery_image_ids' ) ? $product->get_gallery_image_ids() : $product->get_gallery_attachment_ids() );
467
  $product_parent_id = method_exists( $product, 'get_parent_id' ) ? $product->get_parent_id() : ( isset( $product->parent->id ) ? $product->parent->id : 0 );
 
468
 
469
- // Get excerpt if description is empty
470
- if ( empty( $product_description ) ) {
471
- $product_description = $product_short_description;
472
  }
473
 
474
  if ( method_exists( $product, 'get_date_on_sale_from' ) && method_exists( $product, 'get_date_on_sale_to' ) ) {
@@ -487,11 +508,12 @@ class AEPC_Woocommerce_Addon_Support extends AEPC_Addon_Factory implements EComm
487
  ->set_slug( $product_slug )
488
  ->set_permalink( $product->get_permalink() )
489
  ->set_admin_url( add_query_arg( array( 'post' => $product_id, 'action' => 'edit' ), admin_url( 'post.php' ) ) )
 
490
  ->set_title( $product->get_title() )
491
  ->set_description( $product_description )
492
  ->set_short_description( $product_short_description )
493
  ->set_link( $product->get_permalink() )
494
- ->set_image_url( preg_replace( '/.*src="([^"]+)".*/', '$1', $product->get_image( $configuration->get( Configuration::OPTION_IMAGE_SIZE ) ) ) )
495
  ->set_additional_image_urls( array_filter( $product_additional_image_ids ) )
496
  ->set_currency( get_woocommerce_currency() )
497
  ->set_price( floatval( $product->is_type('variable') ? $product->get_price() : $product->get_regular_price() ) )
@@ -508,12 +530,6 @@ class AEPC_Woocommerce_Addon_Support extends AEPC_Addon_Factory implements EComm
508
  )
509
  );
510
 
511
- // If variation, get the description from the parent product
512
- if ( $product_is_variation ) {
513
- $parent = wc_get_product( $product_parent_id );
514
- $product_item->set_description( method_exists( $parent, 'get_description' ) ? $parent->get_description() : $parent->post->post_content );
515
- }
516
-
517
  // Set sale date if defined
518
  if ( $product_date_on_sale_from instanceof Datetime && $product_date_on_sale_to instanceof Datetime ) {
519
  $product_item->set_sale_price_effective_date( $product_date_on_sale_from, $product_date_on_sale_to );
@@ -694,8 +710,13 @@ class AEPC_Woocommerce_Addon_Support extends AEPC_Addon_Factory implements EComm
694
  remove_action( 'pre_get_posts', array( $this, 'customize_wp_query' ) );
695
 
696
  // Map the product item object
697
- foreach ( $products as &$item ) {
698
  $item = $this->get_product_item( $item, $metaboxes, $product_catalog->configuration() );
 
 
 
 
 
699
  }
700
 
701
  $this->_current_query_product_catalog = null;
394
  * @return string|int
395
  */
396
  protected function maybe_sku( $product_id ) {
397
+ if ( AEPC_Track::can_use_sku() && $sku = get_post_meta( $product_id, '_sku', true ) ) {
398
  return $sku;
399
  }
400
 
445
  return function_exists('wc_get_checkout_url') ? wc_get_checkout_url() : wc_get_page_permalink('checkout');
446
  }
447
 
448
+ /**
449
+ * Helper method to get the description from a product by checking first description and then short one if the full
450
+ * one is empty
451
+ *
452
+ * @param $product
453
+ *
454
+ * @return string
455
+ */
456
+ protected function get_description_from_product( $product ) {
457
+ $product_description = method_exists( $product, 'get_description' ) ? $product->get_description() : $product->post->post_content;
458
+
459
+ // Get excerpt if description is empty
460
+ if ( empty( $product_description ) ) {
461
+ $product_description = method_exists( $product, 'get_short_description' ) ? $product->get_short_description() : '';;
462
+ }
463
+
464
+ return $product_description;
465
+ }
466
+
467
  /**
468
  * Return the AEPC_Addon_Product_item instance for the product
469
  *
475
  */
476
  public function get_product_item( $product, Metaboxes $metaboxes, Configuration $configuration ) {
477
  $product_item = new AEPC_Addon_Product_Item( $this );
478
+ preg_match( '/src="([^"]+)"/', $product->get_image( $configuration->get( Configuration::OPTION_IMAGE_SIZE ) ), $image_parts );
479
 
480
  // Backwards helper variables
481
  $product_is_variation = $product->is_type( 'variation' );
482
  $product_id = method_exists( $product, 'get_id' ) ? $product->get_id() : ( $product_is_variation ? $product->variation_id : $product->id );
483
  $product_slug = method_exists( $product, 'get_slug' ) ? $product->get_slug() : $product->post->post_name;
484
+ $product_description = $this->get_description_from_product( $product );
485
  $product_short_description = method_exists( $product, 'get_short_description' ) ? $product->get_short_description() : '';
486
  $product_additional_image_ids = array_map( 'wp_get_attachment_url', method_exists( $product, 'get_gallery_image_ids' ) ? $product->get_gallery_image_ids() : $product->get_gallery_attachment_ids() );
487
  $product_parent_id = method_exists( $product, 'get_parent_id' ) ? $product->get_parent_id() : ( isset( $product->parent->id ) ? $product->parent->id : 0 );
488
+ $product_image_link = isset( $image_parts[1] ) ? $image_parts[1] : null;
489
 
490
+ // If variation description is empty get it from parent
491
+ if ( $product_is_variation && empty( $product_description ) ) {
492
+ $product_description = $this->get_description_from_product( wc_get_product( $product_parent_id ) );
493
  }
494
 
495
  if ( method_exists( $product, 'get_date_on_sale_from' ) && method_exists( $product, 'get_date_on_sale_to' ) ) {
508
  ->set_slug( $product_slug )
509
  ->set_permalink( $product->get_permalink() )
510
  ->set_admin_url( add_query_arg( array( 'post' => $product_id, 'action' => 'edit' ), admin_url( 'post.php' ) ) )
511
+ ->set_parent_admin_url( add_query_arg( array( 'post' => $product_parent_id, 'action' => 'edit' ), admin_url( 'post.php' ) ) )
512
  ->set_title( $product->get_title() )
513
  ->set_description( $product_description )
514
  ->set_short_description( $product_short_description )
515
  ->set_link( $product->get_permalink() )
516
+ ->set_image_url( $product_image_link )
517
  ->set_additional_image_urls( array_filter( $product_additional_image_ids ) )
518
  ->set_currency( get_woocommerce_currency() )
519
  ->set_price( floatval( $product->is_type('variable') ? $product->get_price() : $product->get_regular_price() ) )
530
  )
531
  );
532
 
 
 
 
 
 
 
533
  // Set sale date if defined
534
  if ( $product_date_on_sale_from instanceof Datetime && $product_date_on_sale_to instanceof Datetime ) {
535
  $product_item->set_sale_price_effective_date( $product_date_on_sale_from, $product_date_on_sale_to );
710
  remove_action( 'pre_get_posts', array( $this, 'customize_wp_query' ) );
711
 
712
  // Map the product item object
713
+ foreach ( $products as $i => &$item ) {
714
  $item = $this->get_product_item( $item, $metaboxes, $product_catalog->configuration() );
715
+
716
+ // If variant and parent is 0, go ahead
717
+ if ( $item->is_variation() && $item->get_group_id() === 0 ) {
718
+ unset( $products[$i] );
719
+ }
720
  }
721
 
722
  $this->_current_query_product_catalog = null;
languages/pixel-caffeine.pot CHANGED
@@ -2,9 +2,9 @@
2
  # This file is distributed under the same license as the Pixel Caffeine package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: Pixel Caffeine 2.0.1\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/pixel-caffeine\n"
7
- "POT-Creation-Date: 2018-02-01 09:15:45+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
@@ -199,7 +199,7 @@ msgstr[1] ""
199
  #: includes/admin/class-aepc-admin-ca.php:910
200
  #: includes/admin/class-aepc-admin-ca.php:923
201
  #: includes/admin/class-aepc-admin-ca.php:944
202
- #: includes/admin/class-aepc-admin.php:526
203
  msgid "any"
204
  msgstr ""
205
 
@@ -450,120 +450,120 @@ msgstr ""
450
  msgid "Every Saturday"
451
  msgstr ""
452
 
453
- #: includes/admin/class-aepc-admin.php:127
454
  msgid "Dashboard"
455
  msgstr ""
456
 
457
- #: includes/admin/class-aepc-admin.php:128
458
  msgid "Settings"
459
  msgstr ""
460
 
461
- #: includes/admin/class-aepc-admin.php:272
462
  msgid "The Pixel ID value must contains only numbers and must be 15 digits length."
463
  msgstr ""
464
 
465
- #: includes/admin/class-aepc-admin.php:281
466
  msgid "<strong>Some option cannot be saved</strong> Please, check errors below."
467
  msgstr ""
468
 
469
- #: includes/admin/class-aepc-admin.php:368
470
  msgid "Please, check fields errors below."
471
  msgstr ""
472
 
473
- #: includes/admin/class-aepc-admin.php:514
474
  msgid ""
475
  "You have unsaved changes on this page. Do you want to leave this page and "
476
  "discard your changes or stay on this page?"
477
  msgstr ""
478
 
479
- #: includes/admin/class-aepc-admin.php:515
480
  msgid "You need to save!"
481
  msgstr ""
482
 
483
- #: includes/admin/class-aepc-admin.php:517
484
- #: includes/admin/class-aepc-admin.php:528
485
  msgid "Saving..."
486
  msgstr ""
487
 
488
- #: includes/admin/class-aepc-admin.php:519
489
  msgid "Copied!"
490
  msgstr ""
491
 
492
- #: includes/admin/class-aepc-admin.php:520
493
  msgid "No support :("
494
  msgstr ""
495
 
496
- #: includes/admin/class-aepc-admin.php:521
497
  msgid "Press ⌘-{{{ key }}} to copy"
498
  msgstr ""
499
 
500
- #: includes/admin/class-aepc-admin.php:522
501
  msgid "Press Ctrl-{{{ key }}} to copy"
502
  msgstr ""
503
 
504
- #: includes/admin/class-aepc-admin.php:523
505
  msgid "Press ⌘-{{{ key }}} to cut"
506
  msgstr ""
507
 
508
- #: includes/admin/class-aepc-admin.php:524
509
  msgid "Press Ctrl-{{{ key }}} to cut"
510
  msgstr ""
511
 
512
- #: includes/admin/class-aepc-admin.php:527
513
  msgid "Write the key or select from below"
514
  msgstr ""
515
 
516
- #: includes/admin/class-aepc-admin.php:529
517
  msgid "<strong>Can't add filter</strong> You have to select an event type"
518
  msgstr ""
519
 
520
- #: includes/admin/class-aepc-admin.php:530
521
  msgid "<strong>Can't add filter</strong> You have to define at least one condition"
522
  msgstr ""
523
 
524
- #: includes/admin/class-aepc-admin.php:532
525
  msgid "Select an account ID"
526
  msgstr ""
527
 
528
- #: includes/admin/class-aepc-admin.php:533
529
  msgid "No Ad account found"
530
  msgstr ""
531
 
532
- #: includes/admin/class-aepc-admin.php:534
533
  msgid "No pixel found"
534
  msgstr ""
535
 
536
- #: includes/admin/class-aepc-admin.php:535
537
  msgid "No products feeds found"
538
  msgstr ""
539
 
540
- #: includes/admin/class-aepc-admin.php:537
541
  #: includes/admin/templates/parts/activity-box.php:29
542
  msgid "Today"
543
  msgstr ""
544
 
545
- #: includes/admin/class-aepc-admin.php:538
546
  #: includes/admin/templates/parts/activity-box.php:30
547
  msgid "Yesterday"
548
  msgstr ""
549
 
550
- #: includes/admin/class-aepc-admin.php:539
551
  msgid "2 Days"
552
  msgstr ""
553
 
554
- #: includes/admin/class-aepc-admin.php:540
555
  msgid "7 Days"
556
  msgstr ""
557
 
558
- #: includes/admin/class-aepc-admin.php:541
559
  msgid "14 Days"
560
  msgstr ""
561
 
562
- #: includes/admin/class-aepc-admin.php:704
563
  msgid "<strong>RSS Error</strong>: %s"
564
  msgstr ""
565
 
566
- #: includes/admin/class-aepc-admin.php:716
567
  msgid ""
568
  "An error has occurred, which probably means the feed is down. Try again "
569
  "later."
@@ -1000,89 +1000,89 @@ msgstr ""
1000
  msgid "Tracking tools"
1001
  msgstr ""
1002
 
1003
- #: includes/admin/templates/parts/advanced-settings.php:41
1004
- #: includes/admin/templates/parts/advanced-settings.php:67
1005
  msgid "num"
1006
  msgstr ""
1007
 
1008
- #: includes/admin/templates/parts/advanced-settings.php:54
1009
  msgid ""
1010
  "Postpone the events fired on page load. It's useful to avoid to track "
1011
  "bouncing users that spends less time on pages."
1012
  msgstr ""
1013
 
1014
- #: includes/admin/templates/parts/advanced-settings.php:80
1015
  msgid ""
1016
  "Postpone the AdvancedEvents pixel that contains data for post ID, post "
1017
  "type, taxonomy, custom fields, so on."
1018
  msgstr ""
1019
 
1020
- #: includes/admin/templates/parts/advanced-settings.php:129
1021
  msgid "role"
1022
  msgstr ""
1023
 
1024
- #: includes/admin/templates/parts/advanced-settings.php:142
1025
  msgid ""
1026
  "Useful for those roles (such as Administrators) that don't want to track "
1027
  "pixels for themselves."
1028
  msgstr ""
1029
 
1030
- #: includes/admin/templates/parts/advanced-settings.php:155
1031
- #: includes/admin/templates/parts/advanced-settings.php:181
1032
  msgid "event"
1033
  msgstr ""
1034
 
1035
- #: includes/admin/templates/parts/advanced-settings.php:168
1036
  msgid ""
1037
  "Exclude \"value\" and \"currency\" parameters from the specified DPA "
1038
  "standard pixels."
1039
  msgstr ""
1040
 
1041
- #: includes/admin/templates/parts/advanced-settings.php:194
1042
  msgid ""
1043
  "Exclude \"content_ids\", \"content_type\" and \"content_name\" parameters "
1044
  "from the specified DPA standard pixels."
1045
  msgstr ""
1046
 
1047
- #: includes/admin/templates/parts/advanced-settings.php:202
1048
  msgid "Developers tools"
1049
  msgstr ""
1050
 
1051
- #: includes/admin/templates/parts/advanced-settings.php:210
1052
  msgid "Clear transients"
1053
  msgstr ""
1054
 
1055
- #: includes/admin/templates/parts/advanced-settings.php:211
1056
  msgid ""
1057
  "Reset all Facebook API cached to better performance. Rarely used, it is "
1058
  "useful to fix some data don't fetched from facebook."
1059
  msgstr ""
1060
 
1061
- #: includes/admin/templates/parts/advanced-settings.php:219
1062
  msgid "Enable debug mode"
1063
  msgstr ""
1064
 
1065
- #: includes/admin/templates/parts/advanced-settings.php:226
1066
  msgid ""
1067
  "You will be able to have a details dump of pixels events fired, on "
1068
  "javascript console of browser inspector."
1069
  msgstr ""
1070
 
1071
- #: includes/admin/templates/parts/advanced-settings.php:227
1072
  msgid "Note:"
1073
  msgstr ""
1074
 
1075
- #: includes/admin/templates/parts/advanced-settings.php:227
1076
  msgid ""
1077
  "by activating this mode, the pixels won't be sent to facebook, so a warning "
1078
  "is shown on Facebook Pixel Helper chrome extension."
1079
  msgstr ""
1080
 
1081
- #: includes/admin/templates/parts/advanced-settings.php:238
1082
  msgid "Reset Facebook Connection"
1083
  msgstr ""
1084
 
1085
- #: includes/admin/templates/parts/advanced-settings.php:239
1086
  msgid ""
1087
  "Reset facebook connection status when it is blocked by an error (you won't "
1088
  "lose any data)."
@@ -2206,33 +2206,39 @@ msgid ""
2206
  "supported by Facebook."
2207
  msgstr ""
2208
 
2209
- #: includes/product-catalogs/exception/exception-feed.php:25
 
 
 
 
 
 
2210
  msgid "%sProduct #%s%s error: the field \"%s\" in must not be empty."
2211
  msgstr ""
2212
 
2213
- #: includes/product-catalogs/exception/exception-feed.php:29
2214
  msgid ""
2215
  "%sProduct #%s%s error: a google product category must be defined in the "
2216
  "product or at least in the product catalog configuration."
2217
  msgstr ""
2218
 
2219
- #: includes/product-catalogs/exception/exception-feed.php:33
2220
  msgid "EDIT ERROR: The item %s\"%s (#%s)\"%s does not exist inside the product feed"
2221
  msgstr ""
2222
 
2223
- #: includes/product-catalogs/exception/exception-feed.php:37
2224
  msgid "SAVING ERROR: There is no backup version of the feed to restore"
2225
  msgstr ""
2226
 
2227
- #: includes/product-catalogs/exception/exception-feed.php:41
2228
  msgid "There is not feed file to backup"
2229
  msgstr ""
2230
 
2231
- #: includes/product-catalogs/exception/exception-feed.php:45
2232
  msgid "The saving process cannot be started: %s"
2233
  msgstr ""
2234
 
2235
- #: pixel-caffeine.php:57 pixel-caffeine.php:64
2236
  msgid "Cheatin&#8217; huh?"
2237
  msgstr ""
2238
 
@@ -2527,42 +2533,47 @@ msgid "m/d"
2527
  msgstr ""
2528
 
2529
  #: includes/admin/templates/parts/advanced-settings.php:37
 
 
 
 
 
2530
  msgctxt "%1$s is an input text, the other strong tags"
2531
  msgid "Delay %2$sPageView%3$s pixel firing of %1$s seconds"
2532
  msgstr ""
2533
 
2534
- #: includes/admin/templates/parts/advanced-settings.php:63
2535
  msgctxt "%1$s is an input text, the other strong tags"
2536
  msgid ""
2537
  "Delay %2$sAdvancedEvents%3$s and %2$sCustom Conversions%3$s pixels firing "
2538
  "of %1$s seconds"
2539
  msgstr ""
2540
 
2541
- #: includes/admin/templates/parts/advanced-settings.php:125
2542
  msgctxt "%1$s is an input text, the other strong tags"
2543
  msgid "Don't fire the pixels if the user is logged in as %1$s"
2544
  msgstr ""
2545
 
2546
- #: includes/admin/templates/parts/advanced-settings.php:151
2547
  msgctxt "%1$s is an input text, the other strong tags"
2548
  msgid "Don't track \"value\" when following events are fired: %1$s"
2549
  msgstr ""
2550
 
2551
- #: includes/admin/templates/parts/advanced-settings.php:177
2552
  msgctxt "%1$s is an input text, the other strong tags"
2553
  msgid ""
2554
  "Don't track \"content_ids\", \"content_type\" and \"content_name\" when "
2555
  "following events are fired: %1$s"
2556
  msgstr ""
2557
 
2558
- #: includes/admin/templates/parts/advanced-settings.php:89
2559
  msgctxt "%1$s and %2$s are for strong tag"
2560
  msgid ""
2561
  "Do not track variable products as %1$sproduct_group%2$s in the conversion "
2562
  "events"
2563
  msgstr ""
2564
 
2565
- #: includes/admin/templates/parts/advanced-settings.php:107
2566
  msgctxt "%1$s and %2$s are for strong tag"
2567
  msgid ""
2568
  "Track %1$sshipping costs%2$s into %1$sPurchase%2$s and "
2
  # This file is distributed under the same license as the Pixel Caffeine package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Pixel Caffeine 2.0.3\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/pixel-caffeine\n"
7
+ "POT-Creation-Date: 2018-03-19 14:22:03+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
199
  #: includes/admin/class-aepc-admin-ca.php:910
200
  #: includes/admin/class-aepc-admin-ca.php:923
201
  #: includes/admin/class-aepc-admin-ca.php:944
202
+ #: includes/admin/class-aepc-admin.php:521
203
  msgid "any"
204
  msgstr ""
205
 
450
  msgid "Every Saturday"
451
  msgstr ""
452
 
453
+ #: includes/admin/class-aepc-admin.php:122
454
  msgid "Dashboard"
455
  msgstr ""
456
 
457
+ #: includes/admin/class-aepc-admin.php:123
458
  msgid "Settings"
459
  msgstr ""
460
 
461
+ #: includes/admin/class-aepc-admin.php:267
462
  msgid "The Pixel ID value must contains only numbers and must be 15 digits length."
463
  msgstr ""
464
 
465
+ #: includes/admin/class-aepc-admin.php:276
466
  msgid "<strong>Some option cannot be saved</strong> Please, check errors below."
467
  msgstr ""
468
 
469
+ #: includes/admin/class-aepc-admin.php:363
470
  msgid "Please, check fields errors below."
471
  msgstr ""
472
 
473
+ #: includes/admin/class-aepc-admin.php:509
474
  msgid ""
475
  "You have unsaved changes on this page. Do you want to leave this page and "
476
  "discard your changes or stay on this page?"
477
  msgstr ""
478
 
479
+ #: includes/admin/class-aepc-admin.php:510
480
  msgid "You need to save!"
481
  msgstr ""
482
 
483
+ #: includes/admin/class-aepc-admin.php:512
484
+ #: includes/admin/class-aepc-admin.php:523
485
  msgid "Saving..."
486
  msgstr ""
487
 
488
+ #: includes/admin/class-aepc-admin.php:514
489
  msgid "Copied!"
490
  msgstr ""
491
 
492
+ #: includes/admin/class-aepc-admin.php:515
493
  msgid "No support :("
494
  msgstr ""
495
 
496
+ #: includes/admin/class-aepc-admin.php:516
497
  msgid "Press ⌘-{{{ key }}} to copy"
498
  msgstr ""
499
 
500
+ #: includes/admin/class-aepc-admin.php:517
501
  msgid "Press Ctrl-{{{ key }}} to copy"
502
  msgstr ""
503
 
504
+ #: includes/admin/class-aepc-admin.php:518
505
  msgid "Press ⌘-{{{ key }}} to cut"
506
  msgstr ""
507
 
508
+ #: includes/admin/class-aepc-admin.php:519
509
  msgid "Press Ctrl-{{{ key }}} to cut"
510
  msgstr ""
511
 
512
+ #: includes/admin/class-aepc-admin.php:522
513
  msgid "Write the key or select from below"
514
  msgstr ""
515
 
516
+ #: includes/admin/class-aepc-admin.php:524
517
  msgid "<strong>Can't add filter</strong> You have to select an event type"
518
  msgstr ""
519
 
520
+ #: includes/admin/class-aepc-admin.php:525
521
  msgid "<strong>Can't add filter</strong> You have to define at least one condition"
522
  msgstr ""
523
 
524
+ #: includes/admin/class-aepc-admin.php:527
525
  msgid "Select an account ID"
526
  msgstr ""
527
 
528
+ #: includes/admin/class-aepc-admin.php:528
529
  msgid "No Ad account found"
530
  msgstr ""
531
 
532
+ #: includes/admin/class-aepc-admin.php:529
533
  msgid "No pixel found"
534
  msgstr ""
535
 
536
+ #: includes/admin/class-aepc-admin.php:530
537
  msgid "No products feeds found"
538
  msgstr ""
539
 
540
+ #: includes/admin/class-aepc-admin.php:532
541
  #: includes/admin/templates/parts/activity-box.php:29
542
  msgid "Today"
543
  msgstr ""
544
 
545
+ #: includes/admin/class-aepc-admin.php:533
546
  #: includes/admin/templates/parts/activity-box.php:30
547
  msgid "Yesterday"
548
  msgstr ""
549
 
550
+ #: includes/admin/class-aepc-admin.php:534
551
  msgid "2 Days"
552
  msgstr ""
553
 
554
+ #: includes/admin/class-aepc-admin.php:535
555
  msgid "7 Days"
556
  msgstr ""
557
 
558
+ #: includes/admin/class-aepc-admin.php:536
559
  msgid "14 Days"
560
  msgstr ""
561
 
562
+ #: includes/admin/class-aepc-admin.php:699
563
  msgid "<strong>RSS Error</strong>: %s"
564
  msgstr ""
565
 
566
+ #: includes/admin/class-aepc-admin.php:711
567
  msgid ""
568
  "An error has occurred, which probably means the feed is down. Try again "
569
  "later."
1000
  msgid "Tracking tools"
1001
  msgstr ""
1002
 
1003
+ #: includes/admin/templates/parts/advanced-settings.php:59
1004
+ #: includes/admin/templates/parts/advanced-settings.php:85
1005
  msgid "num"
1006
  msgstr ""
1007
 
1008
+ #: includes/admin/templates/parts/advanced-settings.php:72
1009
  msgid ""
1010
  "Postpone the events fired on page load. It's useful to avoid to track "
1011
  "bouncing users that spends less time on pages."
1012
  msgstr ""
1013
 
1014
+ #: includes/admin/templates/parts/advanced-settings.php:98
1015
  msgid ""
1016
  "Postpone the AdvancedEvents pixel that contains data for post ID, post "
1017
  "type, taxonomy, custom fields, so on."
1018
  msgstr ""
1019
 
1020
+ #: includes/admin/templates/parts/advanced-settings.php:147
1021
  msgid "role"
1022
  msgstr ""
1023
 
1024
+ #: includes/admin/templates/parts/advanced-settings.php:160
1025
  msgid ""
1026
  "Useful for those roles (such as Administrators) that don't want to track "
1027
  "pixels for themselves."
1028
  msgstr ""
1029
 
1030
+ #: includes/admin/templates/parts/advanced-settings.php:173
1031
+ #: includes/admin/templates/parts/advanced-settings.php:199
1032
  msgid "event"
1033
  msgstr ""
1034
 
1035
+ #: includes/admin/templates/parts/advanced-settings.php:186
1036
  msgid ""
1037
  "Exclude \"value\" and \"currency\" parameters from the specified DPA "
1038
  "standard pixels."
1039
  msgstr ""
1040
 
1041
+ #: includes/admin/templates/parts/advanced-settings.php:212
1042
  msgid ""
1043
  "Exclude \"content_ids\", \"content_type\" and \"content_name\" parameters "
1044
  "from the specified DPA standard pixels."
1045
  msgstr ""
1046
 
1047
+ #: includes/admin/templates/parts/advanced-settings.php:220
1048
  msgid "Developers tools"
1049
  msgstr ""
1050
 
1051
+ #: includes/admin/templates/parts/advanced-settings.php:228
1052
  msgid "Clear transients"
1053
  msgstr ""
1054
 
1055
+ #: includes/admin/templates/parts/advanced-settings.php:229
1056
  msgid ""
1057
  "Reset all Facebook API cached to better performance. Rarely used, it is "
1058
  "useful to fix some data don't fetched from facebook."
1059
  msgstr ""
1060
 
1061
+ #: includes/admin/templates/parts/advanced-settings.php:237
1062
  msgid "Enable debug mode"
1063
  msgstr ""
1064
 
1065
+ #: includes/admin/templates/parts/advanced-settings.php:244
1066
  msgid ""
1067
  "You will be able to have a details dump of pixels events fired, on "
1068
  "javascript console of browser inspector."
1069
  msgstr ""
1070
 
1071
+ #: includes/admin/templates/parts/advanced-settings.php:245
1072
  msgid "Note:"
1073
  msgstr ""
1074
 
1075
+ #: includes/admin/templates/parts/advanced-settings.php:245
1076
  msgid ""
1077
  "by activating this mode, the pixels won't be sent to facebook, so a warning "
1078
  "is shown on Facebook Pixel Helper chrome extension."
1079
  msgstr ""
1080
 
1081
+ #: includes/admin/templates/parts/advanced-settings.php:256
1082
  msgid "Reset Facebook Connection"
1083
  msgstr ""
1084
 
1085
+ #: includes/admin/templates/parts/advanced-settings.php:257
1086
  msgid ""
1087
  "Reset facebook connection status when it is blocked by an error (you won't "
1088
  "lose any data)."
2206
  "supported by Facebook."
2207
  msgstr ""
2208
 
2209
+ #: includes/product-catalogs/exception/exception-feed.php:26
2210
+ msgid ""
2211
+ "Variation #%s of %sproduct #%s%s error: the field \"%s\" in must not be "
2212
+ "empty."
2213
+ msgstr ""
2214
+
2215
+ #: includes/product-catalogs/exception/exception-feed.php:30
2216
  msgid "%sProduct #%s%s error: the field \"%s\" in must not be empty."
2217
  msgstr ""
2218
 
2219
+ #: includes/product-catalogs/exception/exception-feed.php:36
2220
  msgid ""
2221
  "%sProduct #%s%s error: a google product category must be defined in the "
2222
  "product or at least in the product catalog configuration."
2223
  msgstr ""
2224
 
2225
+ #: includes/product-catalogs/exception/exception-feed.php:40
2226
  msgid "EDIT ERROR: The item %s\"%s (#%s)\"%s does not exist inside the product feed"
2227
  msgstr ""
2228
 
2229
+ #: includes/product-catalogs/exception/exception-feed.php:44
2230
  msgid "SAVING ERROR: There is no backup version of the feed to restore"
2231
  msgstr ""
2232
 
2233
+ #: includes/product-catalogs/exception/exception-feed.php:48
2234
  msgid "There is not feed file to backup"
2235
  msgstr ""
2236
 
2237
+ #: includes/product-catalogs/exception/exception-feed.php:52
2238
  msgid "The saving process cannot be started: %s"
2239
  msgstr ""
2240
 
2241
+ #: pixel-caffeine.php:58 pixel-caffeine.php:65
2242
  msgid "Cheatin&#8217; huh?"
2243
  msgstr ""
2244
 
2533
  msgstr ""
2534
 
2535
  #: includes/admin/templates/parts/advanced-settings.php:37
2536
+ msgctxt "pixel-caffeine"
2537
+ msgid "Force to use product IDs even if there is a SKU defined"
2538
+ msgstr ""
2539
+
2540
+ #: includes/admin/templates/parts/advanced-settings.php:55
2541
  msgctxt "%1$s is an input text, the other strong tags"
2542
  msgid "Delay %2$sPageView%3$s pixel firing of %1$s seconds"
2543
  msgstr ""
2544
 
2545
+ #: includes/admin/templates/parts/advanced-settings.php:81
2546
  msgctxt "%1$s is an input text, the other strong tags"
2547
  msgid ""
2548
  "Delay %2$sAdvancedEvents%3$s and %2$sCustom Conversions%3$s pixels firing "
2549
  "of %1$s seconds"
2550
  msgstr ""
2551
 
2552
+ #: includes/admin/templates/parts/advanced-settings.php:143
2553
  msgctxt "%1$s is an input text, the other strong tags"
2554
  msgid "Don't fire the pixels if the user is logged in as %1$s"
2555
  msgstr ""
2556
 
2557
+ #: includes/admin/templates/parts/advanced-settings.php:169
2558
  msgctxt "%1$s is an input text, the other strong tags"
2559
  msgid "Don't track \"value\" when following events are fired: %1$s"
2560
  msgstr ""
2561
 
2562
+ #: includes/admin/templates/parts/advanced-settings.php:195
2563
  msgctxt "%1$s is an input text, the other strong tags"
2564
  msgid ""
2565
  "Don't track \"content_ids\", \"content_type\" and \"content_name\" when "
2566
  "following events are fired: %1$s"
2567
  msgstr ""
2568
 
2569
+ #: includes/admin/templates/parts/advanced-settings.php:107
2570
  msgctxt "%1$s and %2$s are for strong tag"
2571
  msgid ""
2572
  "Do not track variable products as %1$sproduct_group%2$s in the conversion "
2573
  "events"
2574
  msgstr ""
2575
 
2576
+ #: includes/admin/templates/parts/advanced-settings.php:125
2577
  msgctxt "%1$s and %2$s are for strong tag"
2578
  msgid ""
2579
  "Track %1$sshipping costs%2$s into %1$sPurchase%2$s and "
pixel-caffeine.php CHANGED
@@ -7,7 +7,7 @@
7
  * Author URI: https://adespresso.com/
8
  * Text Domain: pixel-caffeine
9
  * Domain Path: /languages
10
- * Version: 2.0.2
11
  * WC requires at least: 3.0.0
12
  * WC tested up to: 3.3.0
13
  *
@@ -24,12 +24,12 @@ if ( ! class_exists( 'PixelCaffeine' ) ) :
24
  * Main PixelCaffeine Class.
25
  *
26
  * @class PixelCaffeine
27
- * @version 2.0.2
28
  */
29
  final class PixelCaffeine {
30
 
31
  /** @var string PixelCaffeine version. */
32
- public $version = '2.0.2';
33
 
34
  /** @var PixelCaffeine The single instance of the class. */
35
  protected static $_instance = null;
@@ -46,6 +46,7 @@ if ( ! class_exists( 'PixelCaffeine' ) ) :
46
  public static function instance() {
47
  if ( is_null( self::$_instance ) ) {
48
  self::$_instance = new self();
 
49
  }
50
  return self::$_instance;
51
  }
@@ -77,10 +78,19 @@ if ( ! class_exists( 'PixelCaffeine' ) ) :
77
  define( 'AEPC_PIXEL_DEBUG', false );
78
  }
79
 
 
 
 
 
 
 
 
 
 
 
 
80
  $this->includes();
81
  $this->init_hooks();
82
-
83
- do_action( 'pixel_caffeine_loaded' );
84
  }
85
 
86
  /**
7
  * Author URI: https://adespresso.com/
8
  * Text Domain: pixel-caffeine
9
  * Domain Path: /languages
10
+ * Version: 2.0.3
11
  * WC requires at least: 3.0.0
12
  * WC tested up to: 3.3.0
13
  *
24
  * Main PixelCaffeine Class.
25
  *
26
  * @class PixelCaffeine
27
+ * @version 2.0.3
28
  */
29
  final class PixelCaffeine {
30
 
31
  /** @var string PixelCaffeine version. */
32
+ public $version = '2.0.3';
33
 
34
  /** @var PixelCaffeine The single instance of the class. */
35
  protected static $_instance = null;
46
  public static function instance() {
47
  if ( is_null( self::$_instance ) ) {
48
  self::$_instance = new self();
49
+ self::$_instance->setup();
50
  }
51
  return self::$_instance;
52
  }
78
  define( 'AEPC_PIXEL_DEBUG', false );
79
  }
80
 
81
+ do_action( 'pixel_caffeine_loaded' );
82
+ }
83
+
84
+ /**
85
+ * Hook into actions and filters.
86
+ */
87
+ private function setup() {
88
+
89
+ // Register tasks on register_plugin_activation
90
+ register_activation_hook( __FILE__, array( 'AEPC_Admin', 'register_plugin_activation' ) );
91
+
92
  $this->includes();
93
  $this->init_hooks();
 
 
94
  }
95
 
96
  /**
readme.txt CHANGED
@@ -4,8 +4,8 @@ Donate link: https://adespresso.com/
4
  Tags: facebook, facebook pixel, facebook ad, facebook insertions, custom audiences, dynamic events, woocommerce
5
  Requires at least: 4.4
6
  Requires PHP: 5.3.9
7
- Tested up to: 4.9.1
8
- Stable tag: 2.0.2
9
  License: GPLv3
10
  License URI: https://www.gnu.org/licenses/gpl-3.0.html
11
 
@@ -124,6 +124,17 @@ Unfortunately there isn’t any way at the moment to import custom audiences _fr
124
 
125
  == Changelog ==
126
 
 
 
 
 
 
 
 
 
 
 
 
127
  = 2.0.2 - 2018-02-01 =
128
  * Add - Useful hooks for the feed items
129
  * Enhancement - Translate shortcodes in the product descriptions inside the feed
4
  Tags: facebook, facebook pixel, facebook ad, facebook insertions, custom audiences, dynamic events, woocommerce
5
  Requires at least: 4.4
6
  Requires PHP: 5.3.9
7
+ Tested up to: 4.9.5
8
+ Stable tag: 2.0.3
9
  License: GPLv3
10
  License URI: https://www.gnu.org/licenses/gpl-3.0.html
11
 
124
 
125
  == Changelog ==
126
 
127
+ = 2.0.3 - 2018-03-19 =
128
+ * Add - Variation ID in the mandatory field error when the item in error is variation
129
+ * Add - Get variation description from the parent if it is empty
130
+ * Add - Add helpful hook to change allowed standard event parameters
131
+ * Add - Option in Advanced Settings to force to use IDs in content_ids parameters even if a product SKU is defined
132
+ * Fix - Description or title cannot be empty error during feed generation (for who updates please refresh again the feed)
133
+ * Fix - Strip whole SVG tags from content in the product feed
134
+ * Fix - Syntax error in Log classes
135
+ * Fix - Image link broken inside the feed with some external plugins
136
+ * Fix - Error get_plugins does not exist in feed error
137
+
138
  = 2.0.2 - 2018-02-01 =
139
  * Add - Useful hooks for the feed items
140
  * Enhancement - Translate shortcodes in the product descriptions inside the feed
vendor/autoload.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
- return ComposerAutoloaderInit2ae3fc947ace3f3b4c626ecefdb5d4e4::getLoader();
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
+ return ComposerAutoloaderInit6880367e104b250d67e4b151040e7df2::getLoader();
vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInit2ae3fc947ace3f3b4c626ecefdb5d4e4
6
  {
7
  private static $loader;
8
 
@@ -19,15 +19,15 @@ class ComposerAutoloaderInit2ae3fc947ace3f3b4c626ecefdb5d4e4
19
  return self::$loader;
20
  }
21
 
22
- spl_autoload_register(array('ComposerAutoloaderInit2ae3fc947ace3f3b4c626ecefdb5d4e4', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
- spl_autoload_unregister(array('ComposerAutoloaderInit2ae3fc947ace3f3b4c626ecefdb5d4e4', 'loadClassLoader'));
25
 
26
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
27
  if ($useStaticLoader) {
28
  require_once __DIR__ . '/autoload_static.php';
29
 
30
- call_user_func(\Composer\Autoload\ComposerStaticInit2ae3fc947ace3f3b4c626ecefdb5d4e4::getInitializer($loader));
31
  } else {
32
  $map = require __DIR__ . '/autoload_namespaces.php';
33
  foreach ($map as $namespace => $path) {
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
+ class ComposerAutoloaderInit6880367e104b250d67e4b151040e7df2
6
  {
7
  private static $loader;
8
 
19
  return self::$loader;
20
  }
21
 
22
+ spl_autoload_register(array('ComposerAutoloaderInit6880367e104b250d67e4b151040e7df2', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
+ spl_autoload_unregister(array('ComposerAutoloaderInit6880367e104b250d67e4b151040e7df2', 'loadClassLoader'));
25
 
26
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
27
  if ($useStaticLoader) {
28
  require_once __DIR__ . '/autoload_static.php';
29
 
30
+ call_user_func(\Composer\Autoload\ComposerStaticInit6880367e104b250d67e4b151040e7df2::getInitializer($loader));
31
  } else {
32
  $map = require __DIR__ . '/autoload_namespaces.php';
33
  foreach ($map as $namespace => $path) {
vendor/composer/autoload_static.php CHANGED
@@ -4,7 +4,7 @@
4
 
5
  namespace Composer\Autoload;
6
 
7
- class ComposerStaticInit2ae3fc947ace3f3b4c626ecefdb5d4e4
8
  {
9
  public static $prefixLengthsPsr4 = array (
10
  'S' =>
@@ -104,9 +104,9 @@ class ComposerStaticInit2ae3fc947ace3f3b4c626ecefdb5d4e4
104
  public static function getInitializer(ClassLoader $loader)
105
  {
106
  return \Closure::bind(function () use ($loader) {
107
- $loader->prefixLengthsPsr4 = ComposerStaticInit2ae3fc947ace3f3b4c626ecefdb5d4e4::$prefixLengthsPsr4;
108
- $loader->prefixDirsPsr4 = ComposerStaticInit2ae3fc947ace3f3b4c626ecefdb5d4e4::$prefixDirsPsr4;
109
- $loader->classMap = ComposerStaticInit2ae3fc947ace3f3b4c626ecefdb5d4e4::$classMap;
110
 
111
  }, null, ClassLoader::class);
112
  }
4
 
5
  namespace Composer\Autoload;
6
 
7
+ class ComposerStaticInit6880367e104b250d67e4b151040e7df2
8
  {
9
  public static $prefixLengthsPsr4 = array (
10
  'S' =>
104
  public static function getInitializer(ClassLoader $loader)
105
  {
106
  return \Closure::bind(function () use ($loader) {
107
+ $loader->prefixLengthsPsr4 = ComposerStaticInit6880367e104b250d67e4b151040e7df2::$prefixLengthsPsr4;
108
+ $loader->prefixDirsPsr4 = ComposerStaticInit6880367e104b250d67e4b151040e7df2::$prefixDirsPsr4;
109
+ $loader->classMap = ComposerStaticInit6880367e104b250d67e4b151040e7df2::$classMap;
110
 
111
  }, null, ClassLoader::class);
112
  }