From 210e5662fbbd90c550eb086c72abc54f876d6b91 Mon Sep 17 00:00:00 2001 From: Thomas Steur Date: Wed, 10 Jun 2020 07:55:45 +1200 Subject: Expose setVisitorId JS tracker method (#16042) --- matomo.js | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) (limited to 'matomo.js') diff --git a/matomo.js b/matomo.js index 30b80905b2..131a4f7468 100644 --- a/matomo.js +++ b/matomo.js @@ -60,22 +60,22 @@ return false}var dk=cs(cO(dl,dn,dj,dm),dq,"event");bE(dk,bI,dp)}function b7(dj,d if(!dk||aU(dk)){return}dk=k(dk,av);var dl=bq();dk=F(dk,av,dl);ae.setAnyAttribute(dj,"href",dk)}function aA(dm){var dn=ae.getAttributeValueFromNode(dm,"href");if(!dn){return false}dn=String(dn);var dk=dn.indexOf("//")===0||dn.indexOf("http://")===0||dn.indexOf("https://")===0;if(!dk){return false}var dj=dm.pathname||ck(dm.href);var dl=(dm.hostname||d(dm.href)).toLowerCase();if(ar(dl,dj)){if(!cF(cU,L(dl))){return true}return false}return false}function cE(dj){var dk=dc(dj);if(dk&&dk.type){dk.href=p(dk.href);c1(dk.href,dk.type,undefined,null,dj);return}if(cM){dj=au(dj);if(aA(dj)){ci(dj)}}}function cv(){return G.all&&!G.addEventListener}function cV(dj){var dl=dj.which;var dk=(typeof dj.button);if(!dl&&dk!=="undefined"){if(cv()){if(dj.button&1){dl=1}else{if(dj.button&2){dl=3}else{if(dj.button&4){dl=2}}}}else{if(dj.button===0||dj.button==="0"){dl=1}else{if(dj.button&1){dl=2}else{if(dj.button&2){dl=3}}}}}return dl}function bS(dj){switch(cV(dj)){case 1:return"left";case 2:return"middle";case 3:return"right" }}function a1(dj){return dj.target||dj.srcElement}function aB(dj){return function(dm){dm=dm||T.event;var dl=bS(dm);var dn=a1(dm);if(dm.type==="click"){var dk=false;if(dj&&dl==="middle"){dk=true}if(dn&&!dk){cE(dn)}}else{if(dm.type==="mousedown"){if(dl==="middle"&&dn){aR=dl;bz=dn}else{aR=bz=null}}else{if(dm.type==="mouseup"){if(dl===aR&&dn===bz){cE(dn)}aR=bz=null}else{if(dm.type==="contextmenu"){cE(dn)}}}}}}function aq(dl,dk){var dj=typeof dk;if(dj==="undefined"){dk=true}an(dl,"click",aB(dk),false);if(dk){an(dl,"mouseup",aB(dk),false);an(dl,"mousedown",aB(dk),false);an(dl,"contextmenu",aB(dk),false)}}function bC(dl,dn){ap=true;var dm,dk=a0(by,"ignore"),dp=G.links,dj=null,dq=null;if(dp){for(dm=0;dm0){dn=parseInt(dn,10);dr(dn)}})}var bB={enabled:true,requests:[],timeout:null,interval:2500,sendRequests:function(){var dj=this.requests;this.requests=[];if(dj.length===1){bE(dj[0],bI)}else{df(dj,bI)}},canQueue:function(){return !m&&this.enabled},pushMultiple:function(dk){if(!this.canQueue()){df(dk,bI);return}var dj;for(dj=0;dj0){if(!J(dk)){dk=""}if(!w(dk)){dk=String(dk)}bl[dj]=dk}};this.getCustomDimension=function(dj){dj=parseInt(dj,10);if(dj>0&&Object.prototype.hasOwnProperty.call(bl,dj)){return bl[dj]}};this.deleteCustomDimension=function(dj){dj=parseInt(dj,10);if(dj>0){delete bl[dj]}};this.setCustomVariable=function(dk,dj,dn,dl){var dm;if(!J(dl)){dl="visit"}if(!J(dj)){return}if(!J(dn)){dn=""}if(dk>0){dj=!w(dj)?String(dj):dj;dn=!w(dn)?String(dn):dn;dm=[dj.slice(0,bs),dn.slice(0,bs)];if(dl==="visit"||dl===2){cD();aQ[dk]=dm}else{if(dl==="page"||dl===3){bV[dk]=dm}else{if(dl==="event"){cl[dk]=dm}}}}};this.getCustomVariable=function(dk,dl){var dj;if(!J(dl)){dl="visit"}if(dl==="page"||dl===3){dj=bV[dk]}else{if(dl==="event"){dj=cl[dk] -}else{if(dl==="visit"||dl===2){cD();dj=aQ[dk]}}}if(!J(dj)||(dj&&dj[0]==="")){return false}return dj};this.deleteCustomVariable=function(dj,dk){if(this.getCustomVariable(dj,dk)){this.setCustomVariable(dj,"","",dk)}};this.deleteCustomVariables=function(dj){if(dj==="page"||dj===3){bV={}}else{if(dj==="event"){cl={}}else{if(dj==="visit"||dj===2){aQ={}}}}};this.storeCustomVariablesInCookie=function(){bP=true};this.setLinkTrackingTimer=function(dj){bI=dj};this.getLinkTrackingTimer=function(){return bI};this.setDownloadExtensions=function(dj){if(w(dj)){dj=dj.split("|")}c6=dj};this.addDownloadExtensions=function(dk){var dj;if(w(dk)){dk=dk.split("|")}for(dj=0;dj1&&ap!=="addTracker"){ak("The method "+ap+' is registered more than once in "_paq" variable. Only the last call has an effect. Please have a look at the multiple Piwik trackers documentation: https://developer.piwik.org/guides/tracking-javascript-guide#multiple-piwik-trackers')}av[ap]++}}}}return au}var C=["addTracker","disableCookies","setTrackerUrl","setAPIUrl","enableCrossDomainLinking","setCrossDomainLinkingTimeout","setSessionCookieTimeout","setVisitorCookieTimeout","setSecureCookie","setCookiePath","setCookieDomain","setDomains","setUserId","setSiteId","alwaysUseSendBeacon","enableLinkTracking","requireConsent","setConsentGiven"];function ad(ao,aq){var ap=new Q(ao,aq);I.push(ap);_paq=c(_paq,C);for(E=0;E<_paq.length;E++){if(_paq[E]){af(_paq[E]) -}}_paq=new H();e.trigger("TrackerAdded",[ap]);return ap}an(T,"beforeunload",ai,false);an(T,"message",function(au){if(!au||!au.origin){return}var aw,ar,ap;var ax=d(au.origin);var at=e.getAsyncTrackers();for(ar=0;ar0){if(!J(dk)){dk=""}if(!w(dk)){dk=String(dk)}bl[dj]=dk}};this.getCustomDimension=function(dj){dj=parseInt(dj,10);if(dj>0&&Object.prototype.hasOwnProperty.call(bl,dj)){return bl[dj]}};this.deleteCustomDimension=function(dj){dj=parseInt(dj,10);if(dj>0){delete bl[dj]}};this.setCustomVariable=function(dk,dj,dn,dl){var dm;if(!J(dl)){dl="visit"}if(!J(dj)){return}if(!J(dn)){dn=""}if(dk>0){dj=!w(dj)?String(dj):dj;dn=!w(dn)?String(dn):dn;dm=[dj.slice(0,bs),dn.slice(0,bs)];if(dl==="visit"||dl===2){cD();aQ[dk]=dm}else{if(dl==="page"||dl===3){bV[dk]=dm}else{if(dl==="event"){cl[dk]=dm}}}}};this.getCustomVariable=function(dk,dl){var dj; +if(!J(dl)){dl="visit"}if(dl==="page"||dl===3){dj=bV[dk]}else{if(dl==="event"){dj=cl[dk]}else{if(dl==="visit"||dl===2){cD();dj=aQ[dk]}}}if(!J(dj)||(dj&&dj[0]==="")){return false}return dj};this.deleteCustomVariable=function(dj,dk){if(this.getCustomVariable(dj,dk)){this.setCustomVariable(dj,"","",dk)}};this.deleteCustomVariables=function(dj){if(dj==="page"||dj===3){bV={}}else{if(dj==="event"){cl={}}else{if(dj==="visit"||dj===2){aQ={}}}}};this.storeCustomVariablesInCookie=function(){bP=true};this.setLinkTrackingTimer=function(dj){bI=dj};this.getLinkTrackingTimer=function(){return bI};this.setDownloadExtensions=function(dj){if(w(dj)){dj=dj.split("|")}c6=dj};this.addDownloadExtensions=function(dk){var dj;if(w(dk)){dk=dk.split("|")}for(dj=0;dj1&&ap!=="addTracker"){ak("The method "+ap+' is registered more than once in "_paq" variable. Only the last call has an effect. Please have a look at the multiple Piwik trackers documentation: https://developer.piwik.org/guides/tracking-javascript-guide#multiple-piwik-trackers')}av[ap]++}}}}return au}var C=["addTracker","disableCookies","setTrackerUrl","setAPIUrl","enableCrossDomainLinking","setCrossDomainLinkingTimeout","setSessionCookieTimeout","setVisitorCookieTimeout","setSecureCookie","setCookiePath","setCookieDomain","setDomains","setUserId","setVisitorId","setSiteId","alwaysUseSendBeacon","enableLinkTracking","requireConsent","setConsentGiven"]; +function ad(ao,aq){var ap=new Q(ao,aq);I.push(ap);_paq=c(_paq,C);for(E=0;E<_paq.length;E++){if(_paq[E]){af(_paq[E])}}_paq=new H();e.trigger("TrackerAdded",[ap]);return ap}an(T,"beforeunload",ai,false);an(T,"message",function(au){if(!au||!au.origin){return}var aw,ar,ap;var ax=d(au.origin);var at=e.getAsyncTrackers();for(ar=0;ar Date: Tue, 30 Jun 2020 09:26:16 +1200 Subject: Better detection for cookies for browser plugins report for hybrid consent (#16101) --- matomo.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'matomo.js') diff --git a/matomo.js b/matomo.js index 131a4f7468..fa093a5122 100644 --- a/matomo.js +++ b/matomo.js @@ -45,9 +45,9 @@ var dk=new Image(1,1);dk.onload=function(){E=0;if(typeof dl==="function"){dl({re dn.open("POST",aD,true);dn.onreadystatechange=function(){if(this.readyState===4&&!(this.status>=200&&this.status<300)){var dq=m&&a6(dk,dl,dj);if(!dq&&dj){cp(dk,dl)}else{if(typeof dl==="function"){dl({request:dk,trackerUrl:aD,success:false,xhr:this})}}}else{if(this.readyState===4&&(typeof dl==="function")){dl({request:dk,trackerUrl:aD,success:true,xhr:this})}}};dn.setRequestHeader("Content-Type",cw);dn.withCredentials=true;dn.send(dk)}catch(dm){dp=m&&a6(dk,dl,dj);if(!dp&&dj){cp(dk,dl)}else{if(typeof dl==="function"){dl({request:dk,trackerUrl:aD,success:false})}}}},50)}function cf(dk){var dj=new Date();var dl=dj.getTime()+dk;if(!r||dl>r){r=dl}}function cn(dj){if(cb||!a5||!bA){return}cb=setTimeout(function dk(){cb=null;if(!bc){bc=(!G.hasFocus||G.hasFocus())}if(!bc){cn(a5);return}if(bQ()){return}var dl=new Date(),dm=a5-(dl.getTime()-cY);dm=Math.min(a5,dm);cn(dm)},dj||a5)}function bJ(){if(!cb){return}clearTimeout(cb);cb=null}function ba(){bc=true;cR=new Date().getTime()}function dd(){var dj=new Date().getTime(); return !cR||(dj-cR)>a5}function ay(){if(dd()){bQ()}bJ()}function dg(){if(aN||!a5){return}aN=true;an(T,"focus",ba);an(T,"blur",ay);ab++;e.addPlugin("HeartBeat"+ab,{unload:function(){if(aN&&dd()){bQ()}}})}function cB(dn){var dk=new Date();var dj=dk.getTime();cY=dj;if(cA&&dj=dj.length){return[dj]}var dk=0;var dl=dj.length;var dm=[];for(dk;dk=dk&&dj<=(dk+aZ)){return true}}return false}function dh(dj){if(!cM){return""}var dn=f(dj,av);if(!dn){return""}dn=String(dn); -var dl=new RegExp("^[a-zA-Z0-9]+$");if(dn.length===32&&dl.test(dn)){var dk=dn.substr(16,32);if(c2(dk)){var dm=dn.substr(0,16);return dm}}return""}function cN(){if(!bN){bN=dh(bM)}var dl=new Date(),dj=Math.round(dl.getTime()/1000),dk=aT("id"),dp=aC(dk),dn,dm;if(dp){dn=dp.split(".");dn.unshift("0");if(bN.length){dn[1]=bN}return dn}if(bN.length){dm=bN}else{if("0"===b4()){dm=""}else{dm=cQ()}}dn=["1",dm,dj,0,dj,"",""];return dn}function aY(){var dr=cN(),dm=dr[0],dn=dr[1],dk=dr[2],dj=dr[3],dp=dr[4],dl=dr[5];if(!J(dr[6])){dr[6]=""}var dq=dr[6];return{newVisitor:dm,uuid:dn,createTs:dk,visitCount:dj,currentVisitTs:dp,lastVisitTs:dl,lastEcommerceOrderTs:dq}}function aG(){var dm=new Date(),dk=dm.getTime(),dn=aY().createTs;var dj=parseInt(dn,10);var dl=(dj*1000)+cI-dk;return dl}function aL(dj){if(!b5){return}var dl=new Date(),dk=Math.round(dl.getTime()/1000);if(!J(dj)){dj=aY()}var dm=dj.uuid+"."+dj.createTs+"."+dj.visitCount+"."+dk+"."+dj.lastVisitTs+"."+dj.lastEcommerceOrderTs;de(aT("id"),dm,aG(),bo,cX,bR) -}function bL(){var dj=aC(aT("ref"));if(dj.length){try{dj=JSON_PIWIK.parse(dj);if(W(dj)){return dj}}catch(dk){}}return["","",0,""]}function bv(dk){var dj="testvalue";de("test",dj,10000,null,dk);if(aC("test")===dj){bX("test",null,dk);return true}return false}function aE(){var dk=bk;bk=false;var dj,dl;for(dj=0;dj=dk&&dj<=(dk+aZ)){return true}}return false +}function dh(dj){if(!cM){return""}var dn=f(dj,av);if(!dn){return""}dn=String(dn);var dl=new RegExp("^[a-zA-Z0-9]+$");if(dn.length===32&&dl.test(dn)){var dk=dn.substr(16,32);if(c2(dk)){var dm=dn.substr(0,16);return dm}}return""}function cN(){if(!bN){bN=dh(bM)}var dl=new Date(),dj=Math.round(dl.getTime()/1000),dk=aT("id"),dp=aC(dk),dn,dm;if(dp){dn=dp.split(".");dn.unshift("0");if(bN.length){dn[1]=bN}return dn}if(bN.length){dm=bN}else{if("0"===b4()){dm=""}else{dm=cQ()}}dn=["1",dm,dj,0,dj,"",""];return dn}function aY(){var dr=cN(),dm=dr[0],dn=dr[1],dk=dr[2],dj=dr[3],dp=dr[4],dl=dr[5];if(!J(dr[6])){dr[6]=""}var dq=dr[6];return{newVisitor:dm,uuid:dn,createTs:dk,visitCount:dj,currentVisitTs:dp,lastVisitTs:dl,lastEcommerceOrderTs:dq}}function aG(){var dm=new Date(),dk=dm.getTime(),dn=aY().createTs;var dj=parseInt(dn,10);var dl=(dj*1000)+cI-dk;return dl}function aL(dj){if(!b5){return}var dl=new Date(),dk=Math.round(dl.getTime()/1000);if(!J(dj)){dj=aY()}var dm=dj.uuid+"."+dj.createTs+"."+dj.visitCount+"."+dk+"."+dj.lastVisitTs+"."+dj.lastEcommerceOrderTs; +de(aT("id"),dm,aG(),bo,cX,bR)}function bL(){var dj=aC(aT("ref"));if(dj.length){try{dj=JSON_PIWIK.parse(dj);if(W(dj)){return dj}}catch(dk){}}return["","",0,""]}function bv(dk){var dj="testvalue";de("test",dj,10000,null,dk);if(aC("test")===dj){bX("test",null,dk);return true}return false}function aE(){var dk=bk;bk=false;var dj,dl;for(dj=0;djdJ){dA.visitCount++;dA.lastVisitTs=dA.currentVisitTs}if(!bu||!ds.length){for(dG in cq){if(Object.prototype.hasOwnProperty.call(cq,dG)){ds=f(dK,cq[dG]);if(ds.length){break}}}for(dG in bF){if(Object.prototype.hasOwnProperty.call(bF,dG)){dj=f(dK,bF[dG]);if(dj.length){break}}}}dO=d(bm);dv=dF.length?d(dF):"";if(dO.length&&!aV(dO)&&(!bu||!dv.length||aV(dv))){dF=bm}if(dF.length||ds.length){dr=du;dE=[ds,dj,dr,b1(dF.slice(0,dn))];de(dB,JSON_PIWIK.stringify(dE),c5,bo,cX)}}dl+="&idsite="+b5+"&rec=1&r="+String(Math.random()).slice(2,8)+"&h="+dk.getHours()+"&m="+dk.getMinutes()+"&s="+dk.getSeconds()+"&url="+t(b1(dK))+(bm.length?"&urlref="+t(b1(bm)):"")+((bx&&bx.length)?"&uid="+t(bx):"")+"&_id="+dA.uuid+"&_idts="+dA.createTs+"&_idvc="+dA.visitCount+"&_idn="+dA.newVisitor+(ds.length?"&_rcn="+t(ds):"")+(dj.length?"&_rck="+t(dj):"")+"&_refts="+dr+"&_viewts="+dA.lastVisitTs+(String(dA.lastEcommerceOrderTs).length?"&_ects="+dA.lastEcommerceOrderTs:"")+(String(dF).length?"&_ref="+t(b1(dF.slice(0,dn))):"")+(dx?"&cs="+t(dx):"")+"&send_image=0"; var dN=cG();for(dG in dN){if(Object.prototype.hasOwnProperty.call(dN,dG)){dl+="&"+dG+"="+dN[dG]}}var dM=[];if(dH){for(dG in dH){if(Object.prototype.hasOwnProperty.call(dH,dG)&&/^dimension\d+$/.test(dG)){var dq=dG.replace("dimension","");dM.push(parseInt(dq,10));dM.push(String(dq));dl+="&"+dG+"="+t(dH[dG]);delete dH[dG]}}}if(dH&&B(dH)){dH=null}for(dG in bl){if(Object.prototype.hasOwnProperty.call(bl,dG)){var dw=(-1===M(dM,dG));if(dw){dl+="&dimension"+dG+"="+t(bl[dG])}}}if(dH){dl+="&data="+t(JSON_PIWIK.stringify(dH))}else{if(ao){dl+="&data="+t(JSON_PIWIK.stringify(ao))}}function dt(dP,dQ){var dR=JSON_PIWIK.stringify(dP);if(dR.length>2){return"&"+dQ+"="+t(dR)}return""}var dL=di(bV);var dC=di(cl);dl+=dt(dL,"cvar");dl+=dt(dC,"e_cvar");if(aQ){dl+=dt(aQ,"_cvar");for(dG in dD){if(Object.prototype.hasOwnProperty.call(dD,dG)){if(aQ[dG][0]===""||aQ[dG][1]===""){delete aQ[dG]}}}if(bP){de(dy,JSON_PIWIK.stringify(aQ),co,bo,cX)}}if(a2){if(cm){dl+=">_ms="+cm}else{if(i&&i.timing&&i.timing.requestStart&&i.timing.responseEnd){dl+=">_ms="+(i.timing.responseEnd-i.timing.requestStart) }}}if(aK){dl+="&pv_id="+aK}dA.lastEcommerceOrderTs=J(dm)&&String(dm).length?dm:dA.lastEcommerceOrderTs;aL(dA);cc();dl+=ac(dI,{tracker:bH,request:dl});if(cZ.length){dl+="&"+cZ}if(A(ca)){dl=ca(dl)}return dl}bQ=function a7(){var dj=new Date();dj=dj.getTime();if(!cY){return false}if((cY+(1000*c7))<=dj){return false}if(cY+a5<=dj){bH.ping();return true}return false};function bp(dm,dl,ds,dn,dj,dv){var dq="idgoal=0",dr,dk=new Date(),dt=[],du,dp=String(dm).length;if(dp){dq+="&ec_id="+t(dm);dr=Math.round(dk.getTime()/1000)}dq+="&revenue="+dl;if(String(ds).length){dq+="&ec_st="+ds}if(String(dn).length){dq+="&ec_tx="+dn}if(String(dj).length){dq+="&ec_sh="+dj}if(String(dv).length){dq+="&ec_dt="+dv}if(c0){for(du in c0){if(Object.prototype.hasOwnProperty.call(c0,du)){if(!J(c0[du][1])){c0[du][1]=""}if(!J(c0[du][2])){c0[du][2]=""}if(!J(c0[du][3])||String(c0[du][3]).length===0){c0[du][3]=0}if(!J(c0[du][4])||String(c0[du][4]).length===0){c0[du][4]=1}dt.push(c0[du])}}dq+="&ec_items="+t(JSON_PIWIK.stringify(dt)) @@ -64,7 +64,7 @@ if(!dk||aU(dk)){return}dk=k(dk,av);var dl=bq();dk=F(dk,av,dl);ae.setAnyAttribute }};this.getUserId=function(){return bx};this.setCustomData=function(dj,dk){if(W(dj)){ao=dj}else{if(!ao){ao={}}ao[dj]=dk}};this.getCustomData=function(){return ao};this.setCustomRequestProcessing=function(dj){ca=dj};this.appendToTrackingUrl=function(dj){cZ=dj};this.getRequest=function(dj){return cs(dj)};this.addPlugin=function(dj,dk){b[dj]=dk};this.setCustomDimension=function(dj,dk){dj=parseInt(dj,10);if(dj>0){if(!J(dk)){dk=""}if(!w(dk)){dk=String(dk)}bl[dj]=dk}};this.getCustomDimension=function(dj){dj=parseInt(dj,10);if(dj>0&&Object.prototype.hasOwnProperty.call(bl,dj)){return bl[dj]}};this.deleteCustomDimension=function(dj){dj=parseInt(dj,10);if(dj>0){delete bl[dj]}};this.setCustomVariable=function(dk,dj,dn,dl){var dm;if(!J(dl)){dl="visit"}if(!J(dj)){return}if(!J(dn)){dn=""}if(dk>0){dj=!w(dj)?String(dj):dj;dn=!w(dn)?String(dn):dn;dm=[dj.slice(0,bs),dn.slice(0,bs)];if(dl==="visit"||dl===2){cD();aQ[dk]=dm}else{if(dl==="page"||dl===3){bV[dk]=dm}else{if(dl==="event"){cl[dk]=dm}}}}};this.getCustomVariable=function(dk,dl){var dj; if(!J(dl)){dl="visit"}if(dl==="page"||dl===3){dj=bV[dk]}else{if(dl==="event"){dj=cl[dk]}else{if(dl==="visit"||dl===2){cD();dj=aQ[dk]}}}if(!J(dj)||(dj&&dj[0]==="")){return false}return dj};this.deleteCustomVariable=function(dj,dk){if(this.getCustomVariable(dj,dk)){this.setCustomVariable(dj,"","",dk)}};this.deleteCustomVariables=function(dj){if(dj==="page"||dj===3){bV={}}else{if(dj==="event"){cl={}}else{if(dj==="visit"||dj===2){aQ={}}}}};this.storeCustomVariablesInCookie=function(){bP=true};this.setLinkTrackingTimer=function(dj){bI=dj};this.getLinkTrackingTimer=function(){return bI};this.setDownloadExtensions=function(dj){if(w(dj)){dj=dj.split("|")}c6=dj};this.addDownloadExtensions=function(dk){var dj;if(w(dk)){dk=dk.split("|")}for(dj=0;dj Date: Fri, 3 Jul 2020 19:31:21 +1200 Subject: Add method to enable cookies in JS (#16113) * Better detection for cookies for browser plugins report * rebuilt piwik.js * improve comment * Add method to enable cookies * rebuilt piwik.js * fix test * no longer include cookie in fingerprint * only ignore cookies in fingerprint for IE * fix tests * fix test * tweak enablecookies * rebuilt piwik.js * send tracking request if needed when enable cookies * rebuilt piwik.js * tweak code * update docs * rebuilt piwik.js * Update Visit.php * fix tests * rebuilt piwik.js Co-authored-by: diosmosis --- matomo.js | 66 +++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 33 insertions(+), 33 deletions(-) (limited to 'matomo.js') diff --git a/matomo.js b/matomo.js index fa093a5122..4e61b790b4 100644 --- a/matomo.js +++ b/matomo.js @@ -38,39 +38,39 @@ if(!aq){aq="/"}}return aq},findMediaUrlInNode:function(at){if(!at){return}var aq if(aq&&au.offsetTop){aq=(au.offsetTop+at.height)>0}var ap=ar.clientWidth;if(T.innerWidth&&ap>T.innerWidth){ap=T.innerWidth}var ao=ar.clientHeight;if(T.innerHeight&&ao>T.innerHeight){ao=T.innerHeight}return((at.bottom>0||aq)&&at.right>0&&at.left=0){dl=dl.slice(0,dk)}dk=dl.lastIndexOf("/");if(dk!==dl.length-1){dl=dl.slice(0,dk+1)}return dl+dj}function cF(dl,dj){var dk;dl=String(dl).toLowerCase();dj=String(dj).toLowerCase();if(dl===dj){return true}if(dj.slice(0,1)==="."){if(dl===dj.slice(1)){return true}dk=dl.length-dj.length;if((dk>0)&&(dl.slice(dk)===dj)){return true}}return false}function ck(dj){var dk=document.createElement("a"); -if(dj.indexOf("//")!==0&&dj.indexOf("http")!==0){if(dj.indexOf("*")===0){dj=dj.substr(1)}if(dj.indexOf(".")===0){dj=dj.substr(1)}dj="http://"+dj}dk.href=v.toAbsoluteUrl(dj);if(dk.pathname){return dk.pathname}return""}function a3(dk,dj){if(!aj(dj,"/")){dj="/"+dj}if(!aj(dk,"/")){dk="/"+dk}var dl=(dj==="/"||dj==="/*");if(dl){return true}if(dk===dj){return true}dj=String(dj).toLowerCase();dk=String(dk).toLowerCase();if(R(dj,"*")){dj=dj.slice(0,-1);dl=(!dj||dj==="/");if(dl){return true}if(dk===dj){return true}return dk.indexOf(dj)===0}if(!R(dk,"/")){dk+="/"}if(!R(dj,"/")){dj+="/"}return dk.indexOf(dj)===0}function ar(dn,dq){var dk,dj,dl,dm,dp;for(dk=0;dk0)&&(dm.slice(dl)===dj)){return true}}}return false}function cp(dj,dl){dj=dj.replace("send_image=0","send_image=1"); -var dk=new Image(1,1);dk.onload=function(){E=0;if(typeof dl==="function"){dl({request:dj,trackerUrl:aD,success:true})}};dk.onerror=function(){if(typeof dl==="function"){dl({request:dj,trackerUrl:aD,success:false})}};dk.src=aD+(aD.indexOf("?")<0?"?":"&")+dj}function cC(dj){if(da==="POST"){return true}return dj&&(dj.length>2000||dj.indexOf('{"requests"')===0)}function aJ(){return"object"===typeof h&&"function"===typeof h.sendBeacon&&"function"===typeof Blob}function a6(dn,dr,dq){var dl=aJ();if(!dl){return false}var dm={type:"application/x-www-form-urlencoded; charset=UTF-8"};var ds=false;var dk=aD;try{var dj=new Blob([dn],dm);if(dq&&!cC(dn)){dj=new Blob([],dm);dk=dk+(dk.indexOf("?")<0?"?":"&")+dn}ds=h.sendBeacon(dk,dj)}catch(dp){return false}if(ds&&typeof dr==="function"){dr({request:dn,trackerUrl:aD,success:true,isSendBeacon:true})}return ds}function c4(dk,dl,dj){if(!J(dj)||null===dj){dj=true}if(m&&a6(dk,dl,dj)){return}setTimeout(function(){if(m&&a6(dk,dl,dj)){return}var dp;try{var dn=T.XMLHttpRequest?new T.XMLHttpRequest():T.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):null; -dn.open("POST",aD,true);dn.onreadystatechange=function(){if(this.readyState===4&&!(this.status>=200&&this.status<300)){var dq=m&&a6(dk,dl,dj);if(!dq&&dj){cp(dk,dl)}else{if(typeof dl==="function"){dl({request:dk,trackerUrl:aD,success:false,xhr:this})}}}else{if(this.readyState===4&&(typeof dl==="function")){dl({request:dk,trackerUrl:aD,success:true,xhr:this})}}};dn.setRequestHeader("Content-Type",cw);dn.withCredentials=true;dn.send(dk)}catch(dm){dp=m&&a6(dk,dl,dj);if(!dp&&dj){cp(dk,dl)}else{if(typeof dl==="function"){dl({request:dk,trackerUrl:aD,success:false})}}}},50)}function cf(dk){var dj=new Date();var dl=dj.getTime()+dk;if(!r||dl>r){r=dl}}function cn(dj){if(cb||!a5||!bA){return}cb=setTimeout(function dk(){cb=null;if(!bc){bc=(!G.hasFocus||G.hasFocus())}if(!bc){cn(a5);return}if(bQ()){return}var dl=new Date(),dm=a5-(dl.getTime()-cY);dm=Math.min(a5,dm);cn(dm)},dj||a5)}function bJ(){if(!cb){return}clearTimeout(cb);cb=null}function ba(){bc=true;cR=new Date().getTime()}function dd(){var dj=new Date().getTime(); -return !cR||(dj-cR)>a5}function ay(){if(dd()){bQ()}bJ()}function dg(){if(aN||!a5){return}aN=true;an(T,"focus",ba);an(T,"blur",ay);ab++;e.addPlugin("HeartBeat"+ab,{unload:function(){if(aN&&dd()){bQ()}}})}function cB(dn){var dk=new Date();var dj=dk.getTime();cY=dj;if(cA&&dj=dj.length){return[dj]}var dk=0;var dl=dj.length;var dm=[];for(dk;dk=dk&&dj<=(dk+aZ)){return true}}return false -}function dh(dj){if(!cM){return""}var dn=f(dj,av);if(!dn){return""}dn=String(dn);var dl=new RegExp("^[a-zA-Z0-9]+$");if(dn.length===32&&dl.test(dn)){var dk=dn.substr(16,32);if(c2(dk)){var dm=dn.substr(0,16);return dm}}return""}function cN(){if(!bN){bN=dh(bM)}var dl=new Date(),dj=Math.round(dl.getTime()/1000),dk=aT("id"),dp=aC(dk),dn,dm;if(dp){dn=dp.split(".");dn.unshift("0");if(bN.length){dn[1]=bN}return dn}if(bN.length){dm=bN}else{if("0"===b4()){dm=""}else{dm=cQ()}}dn=["1",dm,dj,0,dj,"",""];return dn}function aY(){var dr=cN(),dm=dr[0],dn=dr[1],dk=dr[2],dj=dr[3],dp=dr[4],dl=dr[5];if(!J(dr[6])){dr[6]=""}var dq=dr[6];return{newVisitor:dm,uuid:dn,createTs:dk,visitCount:dj,currentVisitTs:dp,lastVisitTs:dl,lastEcommerceOrderTs:dq}}function aG(){var dm=new Date(),dk=dm.getTime(),dn=aY().createTs;var dj=parseInt(dn,10);var dl=(dj*1000)+cI-dk;return dl}function aL(dj){if(!b5){return}var dl=new Date(),dk=Math.round(dl.getTime()/1000);if(!J(dj)){dj=aY()}var dm=dj.uuid+"."+dj.createTs+"."+dj.visitCount+"."+dk+"."+dj.lastVisitTs+"."+dj.lastEcommerceOrderTs; -de(aT("id"),dm,aG(),bo,cX,bR)}function bL(){var dj=aC(aT("ref"));if(dj.length){try{dj=JSON_PIWIK.parse(dj);if(W(dj)){return dj}}catch(dk){}}return["","",0,""]}function bv(dk){var dj="testvalue";de("test",dj,10000,null,dk);if(aC("test")===dj){bX("test",null,dk);return true}return false}function aE(){var dk=bk;bk=false;var dj,dl;for(dj=0;djdJ){dA.visitCount++;dA.lastVisitTs=dA.currentVisitTs}if(!bu||!ds.length){for(dG in cq){if(Object.prototype.hasOwnProperty.call(cq,dG)){ds=f(dK,cq[dG]);if(ds.length){break}}}for(dG in bF){if(Object.prototype.hasOwnProperty.call(bF,dG)){dj=f(dK,bF[dG]);if(dj.length){break}}}}dO=d(bm);dv=dF.length?d(dF):"";if(dO.length&&!aV(dO)&&(!bu||!dv.length||aV(dv))){dF=bm}if(dF.length||ds.length){dr=du;dE=[ds,dj,dr,b1(dF.slice(0,dn))];de(dB,JSON_PIWIK.stringify(dE),c5,bo,cX)}}dl+="&idsite="+b5+"&rec=1&r="+String(Math.random()).slice(2,8)+"&h="+dk.getHours()+"&m="+dk.getMinutes()+"&s="+dk.getSeconds()+"&url="+t(b1(dK))+(bm.length?"&urlref="+t(b1(bm)):"")+((bx&&bx.length)?"&uid="+t(bx):"")+"&_id="+dA.uuid+"&_idts="+dA.createTs+"&_idvc="+dA.visitCount+"&_idn="+dA.newVisitor+(ds.length?"&_rcn="+t(ds):"")+(dj.length?"&_rck="+t(dj):"")+"&_refts="+dr+"&_viewts="+dA.lastVisitTs+(String(dA.lastEcommerceOrderTs).length?"&_ects="+dA.lastEcommerceOrderTs:"")+(String(dF).length?"&_ref="+t(b1(dF.slice(0,dn))):"")+(dx?"&cs="+t(dx):"")+"&send_image=0"; -var dN=cG();for(dG in dN){if(Object.prototype.hasOwnProperty.call(dN,dG)){dl+="&"+dG+"="+dN[dG]}}var dM=[];if(dH){for(dG in dH){if(Object.prototype.hasOwnProperty.call(dH,dG)&&/^dimension\d+$/.test(dG)){var dq=dG.replace("dimension","");dM.push(parseInt(dq,10));dM.push(String(dq));dl+="&"+dG+"="+t(dH[dG]);delete dH[dG]}}}if(dH&&B(dH)){dH=null}for(dG in bl){if(Object.prototype.hasOwnProperty.call(bl,dG)){var dw=(-1===M(dM,dG));if(dw){dl+="&dimension"+dG+"="+t(bl[dG])}}}if(dH){dl+="&data="+t(JSON_PIWIK.stringify(dH))}else{if(ao){dl+="&data="+t(JSON_PIWIK.stringify(ao))}}function dt(dP,dQ){var dR=JSON_PIWIK.stringify(dP);if(dR.length>2){return"&"+dQ+"="+t(dR)}return""}var dL=di(bV);var dC=di(cl);dl+=dt(dL,"cvar");dl+=dt(dC,"e_cvar");if(aQ){dl+=dt(aQ,"_cvar");for(dG in dD){if(Object.prototype.hasOwnProperty.call(dD,dG)){if(aQ[dG][0]===""||aQ[dG][1]===""){delete aQ[dG]}}}if(bP){de(dy,JSON_PIWIK.stringify(aQ),co,bo,cX)}}if(a2){if(cm){dl+=">_ms="+cm}else{if(i&&i.timing&&i.timing.requestStart&&i.timing.responseEnd){dl+=">_ms="+(i.timing.responseEnd-i.timing.requestStart) -}}}if(aK){dl+="&pv_id="+aK}dA.lastEcommerceOrderTs=J(dm)&&String(dm).length?dm:dA.lastEcommerceOrderTs;aL(dA);cc();dl+=ac(dI,{tracker:bH,request:dl});if(cZ.length){dl+="&"+cZ}if(A(ca)){dl=ca(dl)}return dl}bQ=function a7(){var dj=new Date();dj=dj.getTime();if(!cY){return false}if((cY+(1000*c7))<=dj){return false}if(cY+a5<=dj){bH.ping();return true}return false};function bp(dm,dl,ds,dn,dj,dv){var dq="idgoal=0",dr,dk=new Date(),dt=[],du,dp=String(dm).length;if(dp){dq+="&ec_id="+t(dm);dr=Math.round(dk.getTime()/1000)}dq+="&revenue="+dl;if(String(ds).length){dq+="&ec_st="+ds}if(String(dn).length){dq+="&ec_tx="+dn}if(String(dj).length){dq+="&ec_sh="+dj}if(String(dv).length){dq+="&ec_dt="+dv}if(c0){for(du in c0){if(Object.prototype.hasOwnProperty.call(c0,du)){if(!J(c0[du][1])){c0[du][1]=""}if(!J(c0[du][2])){c0[du][2]=""}if(!J(c0[du][3])||String(c0[du][3]).length===0){c0[du][3]=0}if(!J(c0[du][4])||String(c0[du][4]).length===0){c0[du][4]=1}dt.push(c0[du])}}dq+="&ec_items="+t(JSON_PIWIK.stringify(dt)) -}dq=cs(dq,ao,"ecommerce",dr);bE(dq,bI);if(dp){c0={}}}function bY(dj,dn,dm,dl,dk,dp){if(String(dj).length&&J(dn)){bp(dj,dn,dm,dl,dk,dp)}}function br(dj){if(J(dj)){bp("",dj,"","","","")}}function bZ(dk,dm,dl){aK=bg();var dj=cs("action_name="+t(al(dk||bi)),dm,"log");bE(dj,bI,dl)}function a0(dl,dk){var dm,dj="(^| )(piwik[_-]"+dk;if(dl){for(dm=0;dm0){dn=parseInt(dn,10);dr(dn)}})}var bB={enabled:true,requests:[],timeout:null,interval:2500,sendRequests:function(){var dj=this.requests;this.requests=[];if(dj.length===1){bE(dj[0],bI)}else{df(dj,bI)}},canQueue:function(){return !m&&this.enabled},pushMultiple:function(dk){if(!this.canQueue()){df(dk,bI);return}var dj;for(dj=0;dj0){if(!J(dk)){dk=""}if(!w(dk)){dk=String(dk)}bl[dj]=dk}};this.getCustomDimension=function(dj){dj=parseInt(dj,10);if(dj>0&&Object.prototype.hasOwnProperty.call(bl,dj)){return bl[dj]}};this.deleteCustomDimension=function(dj){dj=parseInt(dj,10);if(dj>0){delete bl[dj]}};this.setCustomVariable=function(dk,dj,dn,dl){var dm;if(!J(dl)){dl="visit"}if(!J(dj)){return}if(!J(dn)){dn=""}if(dk>0){dj=!w(dj)?String(dj):dj;dn=!w(dn)?String(dn):dn;dm=[dj.slice(0,bs),dn.slice(0,bs)];if(dl==="visit"||dl===2){cD();aQ[dk]=dm}else{if(dl==="page"||dl===3){bV[dk]=dm}else{if(dl==="event"){cl[dk]=dm}}}}};this.getCustomVariable=function(dk,dl){var dj; -if(!J(dl)){dl="visit"}if(dl==="page"||dl===3){dj=bV[dk]}else{if(dl==="event"){dj=cl[dk]}else{if(dl==="visit"||dl===2){cD();dj=aQ[dk]}}}if(!J(dj)||(dj&&dj[0]==="")){return false}return dj};this.deleteCustomVariable=function(dj,dk){if(this.getCustomVariable(dj,dk)){this.setCustomVariable(dj,"","",dk)}};this.deleteCustomVariables=function(dj){if(dj==="page"||dj===3){bV={}}else{if(dj==="event"){cl={}}else{if(dj==="visit"||dj===2){aQ={}}}}};this.storeCustomVariablesInCookie=function(){bP=true};this.setLinkTrackingTimer=function(dj){bI=dj};this.getLinkTrackingTimer=function(){return bI};this.setDownloadExtensions=function(dj){if(w(dj)){dj=dj.split("|")}c6=dj};this.addDownloadExtensions=function(dk){var dj;if(w(dk)){dk=dk.split("|")}for(dj=0;dj1&&ap!=="addTracker"){ak("The method "+ap+' is registered more than once in "_paq" variable. Only the last call has an effect. Please have a look at the multiple Piwik trackers documentation: https://developer.piwik.org/guides/tracking-javascript-guide#multiple-piwik-trackers')}av[ap]++}}}}return au}var C=["addTracker","disableCookies","setTrackerUrl","setAPIUrl","enableCrossDomainLinking","setCrossDomainLinkingTimeout","setSessionCookieTimeout","setVisitorCookieTimeout","setSecureCookie","setCookiePath","setCookieDomain","setDomains","setUserId","setVisitorId","setSiteId","alwaysUseSendBeacon","enableLinkTracking","requireConsent","setConsentGiven"]; +if(at!==String(av)){return false}var au=aq[2],ao=aq[3],ar=aq[4];if(!ar){ar=""}else{if(ar.indexOf("&segment=")===0){ar=ar.substr("&segment=".length)}}T.name=ax+"###"+au+"###"+ao+"###"+ar}var aw=T.name.split("###");return aw.length===4&&aw[0]===ax}function Z(ap,aw,ar){var av=T.name.split("###"),au=av[1],ao=av[2],at=av[3],aq=O(ap,aw);o(aq+"plugins/Overlay/client/client.js?v=1",function(){Piwik_Overlay_Client.initialize(aq,ar,au,ao,at)})}function u(){var aq;try{aq=T.frameElement}catch(ap){return true}if(J(aq)){return(aq&&String(aq.nodeName).toLowerCase()==="iframe")?true:false}try{return T.self!==T.top}catch(ao){return true}}function Q(ce,b9){var bI=this,be="mtm_consent",cM="mtm_consent_removed",b4=aa(G.domain,T.location.href,K()),cV=L(b4[0]),bN=p(b4[1]),bn=p(b4[2]),cT=false,ci="GET",db=ci,aI="application/x-www-form-urlencoded; charset=UTF-8",cx=aI,aE=ce||"",bH="",c0="",b6=b9||"",by="",bO="",a5,bj="",c7=["7z","aac","apk","arc","arj","asf","asx","avi","azw3","bin","csv","deb","dmg","doc","docx","epub","exe","flv","gif","gz","gzip","hqx","ibooks","jar","jpg","jpeg","js","mobi","mp2","mp3","mp4","mpg","mpeg","mov","movie","msi","msp","odb","odf","odg","ods","odt","ogg","ogv","pdf","phps","png","ppt","pptx","qt","qtm","ra","ram","rar","rpm","sea","sit","tar","tbz","tbz2","bz","bz2","tgz","torrent","txt","wav","wma","wmv","wpd","xls","xlsx","xml","z","zip"],ay=[cV],bz=[],bL=[],a9=[],bJ=500,cX=false,cI,a6,bR,c8=1800,bP,ao,cr=["pk_campaign","piwik_campaign","utm_campaign","utm_source","utm_medium"],bG=["pk_kwd","piwik_kwd","utm_term"],bk="_pk_",av="pk_vid",a0=180,cY,bp,bS=false,bl=false,cQ,bf,bv,cJ=33955200000,cp=1800000,c6=15768000000,a3=true,cn=0,bQ=false,aR=false,cb,bW={},cm={},bm={},bt=200,c1={},c9={},ca=[],cf=false,cB=false,ap=false,da=false,cN=false,aO=false,bd=u(),cS=null,cZ=null,cc,aS,bA,b7=am,bo,aL,cs=0,bu=["id","ses","cvar","ref"],cA=false,bB=null,cK=[],ax=U++,aw=false; +try{bj=G.title}catch(cy){bj=""}function df(dr,dp,dn,dq,dm,dl){if(bl){return}var dk;if(dn){dk=new Date();dk.setTime(dk.getTime()+dn)}G.cookie=dr+"="+t(dp)+(dn?";expires="+dk.toGMTString():"")+";path="+(dq||"/")+(dm?";domain="+dm:"")+(dl?";secure":"")+";SameSite=Lax"}function aD(dm){if(bl){return 0}var dk=new RegExp("(^|;)[ ]*"+dm+"=([^;]*)"),dl=dk.exec(G.cookie);return dl?S(dl[2]):0}bB=!aD(cM);function b2(dk){var dl;dk=k(dk,av);if(bP){dl=new RegExp("#.*");return dk.replace(dl,"")}return dk}function bV(dm,dk){var dn=s(dk),dl;if(dn){return dk}if(dk.slice(0,1)==="/"){return s(dm)+"://"+d(dm)+dk}dm=b2(dm);dl=dm.indexOf("?");if(dl>=0){dm=dm.slice(0,dl)}dl=dm.lastIndexOf("/");if(dl!==dm.length-1){dm=dm.slice(0,dl+1)}return dm+dk}function cG(dm,dk){var dl;dm=String(dm).toLowerCase();dk=String(dk).toLowerCase();if(dm===dk){return true}if(dk.slice(0,1)==="."){if(dm===dk.slice(1)){return true}dl=dm.length-dk.length;if((dl>0)&&(dm.slice(dl)===dk)){return true}}return false}function cl(dk){var dl=document.createElement("a"); +if(dk.indexOf("//")!==0&&dk.indexOf("http")!==0){if(dk.indexOf("*")===0){dk=dk.substr(1)}if(dk.indexOf(".")===0){dk=dk.substr(1)}dk="http://"+dk}dl.href=v.toAbsoluteUrl(dk);if(dl.pathname){return dl.pathname}return""}function a4(dl,dk){if(!aj(dk,"/")){dk="/"+dk}if(!aj(dl,"/")){dl="/"+dl}var dm=(dk==="/"||dk==="/*");if(dm){return true}if(dl===dk){return true}dk=String(dk).toLowerCase();dl=String(dl).toLowerCase();if(R(dk,"*")){dk=dk.slice(0,-1);dm=(!dk||dk==="/");if(dm){return true}if(dl===dk){return true}return dl.indexOf(dk)===0}if(!R(dl,"/")){dl+="/"}if(!R(dk,"/")){dk+="/"}return dl.indexOf(dk)===0}function ar(dp,dr){var dl,dk,dm,dn,dq;for(dl=0;dl0)&&(dn.slice(dm)===dk)){return true}}}return false}function cq(dk,dm){dk=dk.replace("send_image=0","send_image=1"); +var dl=new Image(1,1);dl.onload=function(){E=0;if(typeof dm==="function"){dm({request:dk,trackerUrl:aE,success:true})}};dl.onerror=function(){if(typeof dm==="function"){dm({request:dk,trackerUrl:aE,success:false})}};dl.src=aE+(aE.indexOf("?")<0?"?":"&")+dk}function cD(dk){if(db==="POST"){return true}return dk&&(dk.length>2000||dk.indexOf('{"requests"')===0)}function aK(){return"object"===typeof h&&"function"===typeof h.sendBeacon&&"function"===typeof Blob}function a7(dp,ds,dr){var dm=aK();if(!dm){return false}var dn={type:"application/x-www-form-urlencoded; charset=UTF-8"};var dt=false;var dl=aE;try{var dk=new Blob([dp],dn);if(dr&&!cD(dp)){dk=new Blob([],dn);dl=dl+(dl.indexOf("?")<0?"?":"&")+dp}dt=h.sendBeacon(dl,dk)}catch(dq){return false}if(dt&&typeof ds==="function"){ds({request:dp,trackerUrl:aE,success:true,isSendBeacon:true})}return dt}function c5(dl,dm,dk){if(!J(dk)||null===dk){dk=true}if(m&&a7(dl,dm,dk)){return}setTimeout(function(){if(m&&a7(dl,dm,dk)){return}var dq;try{var dp=T.XMLHttpRequest?new T.XMLHttpRequest():T.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):null; +dp.open("POST",aE,true);dp.onreadystatechange=function(){if(this.readyState===4&&!(this.status>=200&&this.status<300)){var dr=m&&a7(dl,dm,dk);if(!dr&&dk){cq(dl,dm)}else{if(typeof dm==="function"){dm({request:dl,trackerUrl:aE,success:false,xhr:this})}}}else{if(this.readyState===4&&(typeof dm==="function")){dm({request:dl,trackerUrl:aE,success:true,xhr:this})}}};dp.setRequestHeader("Content-Type",cx);dp.withCredentials=true;dp.send(dl)}catch(dn){dq=m&&a7(dl,dm,dk);if(!dq&&dk){cq(dl,dm)}else{if(typeof dm==="function"){dm({request:dl,trackerUrl:aE,success:false})}}}},50)}function cg(dl){var dk=new Date();var dm=dk.getTime()+dl;if(!r||dm>r){r=dm}}function co(dk){if(cc||!a6||!bB){return}cc=setTimeout(function dl(){cc=null;if(!bd){bd=(!G.hasFocus||G.hasFocus())}if(!bd){co(a6);return}if(bR()){return}var dm=new Date(),dn=a6-(dm.getTime()-cZ);dn=Math.min(a6,dn);co(dn)},dk||a6)}function bK(){if(!cc){return}clearTimeout(cc);cc=null}function bb(){bd=true;cS=new Date().getTime()}function de(){var dk=new Date().getTime(); +return !cS||(dk-cS)>a6}function az(){if(de()){bR()}bK()}function dh(){if(aO||!a6){return}aO=true;an(T,"focus",bb);an(T,"blur",az);ab++;e.addPlugin("HeartBeat"+ab,{unload:function(){if(aO&&de()){bR()}}})}function cC(dp){var dl=new Date();var dk=dl.getTime();cZ=dk;if(cB&&dk=dk.length){return[dk]}var dl=0;var dm=dk.length;var dn=[];for(dl;dl=dl&&dk<=(dl+a0)){return true}}return false +}function di(dk){if(!cN){return""}var dp=f(dk,av);if(!dp){return""}dp=String(dp);var dm=new RegExp("^[a-zA-Z0-9]+$");if(dp.length===32&&dm.test(dp)){var dl=dp.substr(16,32);if(c3(dl)){var dn=dp.substr(0,16);return dn}}return""}function cO(){if(!bO){bO=di(bN)}var dm=new Date(),dk=Math.round(dm.getTime()/1000),dl=aU("id"),dq=aD(dl),dp,dn;if(dq){dp=dq.split(".");dp.unshift("0");if(bO.length){dp[1]=bO}return dp}if(bO.length){dn=bO}else{if("0"===b5()){dn=""}else{dn=cR()}}dp=["1",dn,dk,0,dk,"",""];return dp}function aZ(){var ds=cO(),dn=ds[0],dp=ds[1],dl=ds[2],dk=ds[3],dq=ds[4],dm=ds[5];if(!J(ds[6])){ds[6]=""}var dr=ds[6];return{newVisitor:dn,uuid:dp,createTs:dl,visitCount:dk,currentVisitTs:dq,lastVisitTs:dm,lastEcommerceOrderTs:dr}}function aH(){var dn=new Date(),dl=dn.getTime(),dp=aZ().createTs;var dk=parseInt(dp,10);var dm=(dk*1000)+cJ-dl;return dm}function aM(dk){if(!b6){return}var dm=new Date(),dl=Math.round(dm.getTime()/1000);if(!J(dk)){dk=aZ()}var dn=dk.uuid+"."+dk.createTs+"."+dk.visitCount+"."+dl+"."+dk.lastVisitTs+"."+dk.lastEcommerceOrderTs; +df(aU("id"),dn,aH(),bp,cY,bS)}function bM(){var dk=aD(aU("ref"));if(dk.length){try{dk=JSON_PIWIK.parse(dk);if(W(dk)){return dk}}catch(dl){}}return["","",0,""]}function bw(dl){var dk="testvalue";df("test",dk,10000,null,dl);if(aD("test")===dk){bY("test",null,dl);return true}return false}function aF(){var dl=bl;bl=false;var dk,dm;for(dk=0;dkdK){dB.visitCount++;dB.lastVisitTs=dB.currentVisitTs}if(!bv||!dt.length){for(dH in cr){if(Object.prototype.hasOwnProperty.call(cr,dH)){dt=f(dL,cr[dH]);if(dt.length){break}}}for(dH in bG){if(Object.prototype.hasOwnProperty.call(bG,dH)){dk=f(dL,bG[dH]);if(dk.length){break}}}}dP=d(bn);dw=dG.length?d(dG):"";if(dP.length&&!aW(dP)&&(!bv||!dw.length||aW(dw))){dG=bn}if(dG.length||dt.length){ds=dv;dF=[dt,dk,ds,b2(dG.slice(0,dp))];df(dC,JSON_PIWIK.stringify(dF),c6,bp,cY)}}dm+="&idsite="+b6+"&rec=1&r="+String(Math.random()).slice(2,8)+"&h="+dl.getHours()+"&m="+dl.getMinutes()+"&s="+dl.getSeconds()+"&url="+t(b2(dL))+(bn.length?"&urlref="+t(b2(bn)):"")+((by&&by.length)?"&uid="+t(by):"")+"&_id="+dB.uuid+"&_idts="+dB.createTs+"&_idvc="+dB.visitCount+"&_idn="+dB.newVisitor+(dt.length?"&_rcn="+t(dt):"")+(dk.length?"&_rck="+t(dk):"")+"&_refts="+ds+"&_viewts="+dB.lastVisitTs+(String(dB.lastEcommerceOrderTs).length?"&_ects="+dB.lastEcommerceOrderTs:"")+(String(dG).length?"&_ref="+t(b2(dG.slice(0,dp))):"")+(dy?"&cs="+t(dy):"")+"&send_image=0"; +var dO=cH();for(dH in dO){if(Object.prototype.hasOwnProperty.call(dO,dH)){dm+="&"+dH+"="+dO[dH]}}var dN=[];if(dI){for(dH in dI){if(Object.prototype.hasOwnProperty.call(dI,dH)&&/^dimension\d+$/.test(dH)){var dr=dH.replace("dimension","");dN.push(parseInt(dr,10));dN.push(String(dr));dm+="&"+dH+"="+t(dI[dH]);delete dI[dH]}}}if(dI&&B(dI)){dI=null}for(dH in bm){if(Object.prototype.hasOwnProperty.call(bm,dH)){var dx=(-1===M(dN,dH));if(dx){dm+="&dimension"+dH+"="+t(bm[dH])}}}if(dI){dm+="&data="+t(JSON_PIWIK.stringify(dI))}else{if(ao){dm+="&data="+t(JSON_PIWIK.stringify(ao))}}function du(dQ,dR){var dS=JSON_PIWIK.stringify(dQ);if(dS.length>2){return"&"+dR+"="+t(dS)}return""}var dM=dj(bW);var dD=dj(cm);dm+=du(dM,"cvar");dm+=du(dD,"e_cvar");if(aR){dm+=du(aR,"_cvar");for(dH in dE){if(Object.prototype.hasOwnProperty.call(dE,dH)){if(aR[dH][0]===""||aR[dH][1]===""){delete aR[dH]}}}if(bQ){df(dz,JSON_PIWIK.stringify(aR),cp,bp,cY)}}if(a3){if(cn){dm+=">_ms="+cn}else{if(i&&i.timing&&i.timing.requestStart&&i.timing.responseEnd){dm+=">_ms="+(i.timing.responseEnd-i.timing.requestStart) +}}}if(aL){dm+="&pv_id="+aL}dB.lastEcommerceOrderTs=J(dn)&&String(dn).length?dn:dB.lastEcommerceOrderTs;aM(dB);cd();dm+=ac(dJ,{tracker:bI,request:dm});if(c0.length){dm+="&"+c0}if(A(cb)){dm=cb(dm)}return dm}bR=function a8(){var dk=new Date();dk=dk.getTime();if(!cZ){return false}if((cZ+(1000*c8))<=dk){return false}if(cZ+a6<=dk){bI.ping();return true}return false};function bq(dn,dm,dt,dp,dk,dw){var dr="idgoal=0",ds,dl=new Date(),du=[],dv,dq=String(dn).length;if(dq){dr+="&ec_id="+t(dn);ds=Math.round(dl.getTime()/1000)}dr+="&revenue="+dm;if(String(dt).length){dr+="&ec_st="+dt}if(String(dp).length){dr+="&ec_tx="+dp}if(String(dk).length){dr+="&ec_sh="+dk}if(String(dw).length){dr+="&ec_dt="+dw}if(c1){for(dv in c1){if(Object.prototype.hasOwnProperty.call(c1,dv)){if(!J(c1[dv][1])){c1[dv][1]=""}if(!J(c1[dv][2])){c1[dv][2]=""}if(!J(c1[dv][3])||String(c1[dv][3]).length===0){c1[dv][3]=0}if(!J(c1[dv][4])||String(c1[dv][4]).length===0){c1[dv][4]=1}du.push(c1[dv])}}dr+="&ec_items="+t(JSON_PIWIK.stringify(du)) +}dr=ct(dr,ao,"ecommerce",ds);bF(dr,bJ);if(dq){c1={}}}function bZ(dk,dp,dn,dm,dl,dq){if(String(dk).length&&J(dp)){bq(dk,dp,dn,dm,dl,dq)}}function bs(dk){if(J(dk)){bq("",dk,"","","","")}}function b0(dl,dn,dm){aL=bh();var dk=ct("action_name="+t(al(dl||bj)),dn,"log");bF(dk,bJ,dm)}function a1(dm,dl){var dn,dk="(^| )(piwik[_-]"+dl;if(dm){for(dn=0;dn0){dp=parseInt(dp,10);ds(dp)}})}var bC={enabled:true,requests:[],timeout:null,interval:2500,sendRequests:function(){var dk=this.requests;this.requests=[];if(dk.length===1){bF(dk[0],bJ)}else{dg(dk,bJ)}},canQueue:function(){return !m&&this.enabled},pushMultiple:function(dl){if(!this.canQueue()){dg(dl,bJ);return}var dk;for(dk=0;dk0){if(!J(dl)){dl=""}if(!w(dl)){dl=String(dl)}bm[dk]=dl}};this.getCustomDimension=function(dk){dk=parseInt(dk,10);if(dk>0&&Object.prototype.hasOwnProperty.call(bm,dk)){return bm[dk]}};this.deleteCustomDimension=function(dk){dk=parseInt(dk,10);if(dk>0){delete bm[dk]}};this.setCustomVariable=function(dl,dk,dp,dm){var dn;if(!J(dm)){dm="visit"}if(!J(dk)){return}if(!J(dp)){dp=""}if(dl>0){dk=!w(dk)?String(dk):dk;dp=!w(dp)?String(dp):dp;dn=[dk.slice(0,bt),dp.slice(0,bt)];if(dm==="visit"||dm===2){cE();aR[dl]=dn}else{if(dm==="page"||dm===3){bW[dl]=dn}else{if(dm==="event"){cm[dl]=dn}}}}};this.getCustomVariable=function(dl,dm){var dk; +if(!J(dm)){dm="visit"}if(dm==="page"||dm===3){dk=bW[dl]}else{if(dm==="event"){dk=cm[dl]}else{if(dm==="visit"||dm===2){cE();dk=aR[dl]}}}if(!J(dk)||(dk&&dk[0]==="")){return false}return dk};this.deleteCustomVariable=function(dk,dl){if(this.getCustomVariable(dk,dl)){this.setCustomVariable(dk,"","",dl)}};this.deleteCustomVariables=function(dk){if(dk==="page"||dk===3){bW={}}else{if(dk==="event"){cm={}}else{if(dk==="visit"||dk===2){aR={}}}}};this.storeCustomVariablesInCookie=function(){bQ=true};this.setLinkTrackingTimer=function(dk){bJ=dk};this.getLinkTrackingTimer=function(){return bJ};this.setDownloadExtensions=function(dk){if(w(dk)){dk=dk.split("|")}c7=dk};this.addDownloadExtensions=function(dl){var dk;if(w(dl)){dl=dl.split("|")}for(dk=0;dk1&&ap!=="addTracker"){ak("The method "+ap+' is registered more than once in "_paq" variable. Only the last call has an effect. Please have a look at the multiple Piwik trackers documentation: https://developer.piwik.org/guides/tracking-javascript-guide#multiple-piwik-trackers')}av[ap]++}}}}return au}var C=["addTracker","disableCookies","setTrackerUrl","setAPIUrl","enableCrossDomainLinking","setCrossDomainLinkingTimeout","setSessionCookieTimeout","setVisitorCookieTimeout","setSecureCookie","setCookiePath","setCookieDomain","setDomains","setUserId","setVisitorId","setSiteId","alwaysUseSendBeacon","enableLinkTracking","enableCookies","requireConsent","setConsentGiven"]; function ad(ao,aq){var ap=new Q(ao,aq);I.push(ap);_paq=c(_paq,C);for(E=0;E<_paq.length;E++){if(_paq[E]){af(_paq[E])}}_paq=new H();e.trigger("TrackerAdded",[ap]);return ap}an(T,"beforeunload",ai,false);an(T,"message",function(au){if(!au||!au.origin){return}var aw,ar,ap;var ax=d(au.origin);var at=e.getAsyncTrackers();for(ar=0;ar Date: Tue, 7 Jul 2020 13:13:12 +1200 Subject: Implement cookie consent (#16178) * implement cookie consent * rebuilt piwik.js * fix documentation --- matomo.js | 79 ++++++++++++++++++++++++++++++++------------------------------- 1 file changed, 40 insertions(+), 39 deletions(-) (limited to 'matomo.js') diff --git a/matomo.js b/matomo.js index 4e61b790b4..7642308816 100644 --- a/matomo.js +++ b/matomo.js @@ -38,44 +38,45 @@ if(!aq){aq="/"}}return aq},findMediaUrlInNode:function(at){if(!at){return}var aq if(aq&&au.offsetTop){aq=(au.offsetTop+at.height)>0}var ap=ar.clientWidth;if(T.innerWidth&&ap>T.innerWidth){ap=T.innerWidth}var ao=ar.clientHeight;if(T.innerHeight&&ao>T.innerHeight){ao=T.innerHeight}return((at.bottom>0||aq)&&at.right>0&&at.left=0){dm=dm.slice(0,dl)}dl=dm.lastIndexOf("/");if(dl!==dm.length-1){dm=dm.slice(0,dl+1)}return dm+dk}function cG(dm,dk){var dl;dm=String(dm).toLowerCase();dk=String(dk).toLowerCase();if(dm===dk){return true}if(dk.slice(0,1)==="."){if(dm===dk.slice(1)){return true}dl=dm.length-dk.length;if((dl>0)&&(dm.slice(dl)===dk)){return true}}return false}function cl(dk){var dl=document.createElement("a"); -if(dk.indexOf("//")!==0&&dk.indexOf("http")!==0){if(dk.indexOf("*")===0){dk=dk.substr(1)}if(dk.indexOf(".")===0){dk=dk.substr(1)}dk="http://"+dk}dl.href=v.toAbsoluteUrl(dk);if(dl.pathname){return dl.pathname}return""}function a4(dl,dk){if(!aj(dk,"/")){dk="/"+dk}if(!aj(dl,"/")){dl="/"+dl}var dm=(dk==="/"||dk==="/*");if(dm){return true}if(dl===dk){return true}dk=String(dk).toLowerCase();dl=String(dl).toLowerCase();if(R(dk,"*")){dk=dk.slice(0,-1);dm=(!dk||dk==="/");if(dm){return true}if(dl===dk){return true}return dl.indexOf(dk)===0}if(!R(dl,"/")){dl+="/"}if(!R(dk,"/")){dk+="/"}return dl.indexOf(dk)===0}function ar(dp,dr){var dl,dk,dm,dn,dq;for(dl=0;dl0)&&(dn.slice(dm)===dk)){return true}}}return false}function cq(dk,dm){dk=dk.replace("send_image=0","send_image=1"); -var dl=new Image(1,1);dl.onload=function(){E=0;if(typeof dm==="function"){dm({request:dk,trackerUrl:aE,success:true})}};dl.onerror=function(){if(typeof dm==="function"){dm({request:dk,trackerUrl:aE,success:false})}};dl.src=aE+(aE.indexOf("?")<0?"?":"&")+dk}function cD(dk){if(db==="POST"){return true}return dk&&(dk.length>2000||dk.indexOf('{"requests"')===0)}function aK(){return"object"===typeof h&&"function"===typeof h.sendBeacon&&"function"===typeof Blob}function a7(dp,ds,dr){var dm=aK();if(!dm){return false}var dn={type:"application/x-www-form-urlencoded; charset=UTF-8"};var dt=false;var dl=aE;try{var dk=new Blob([dp],dn);if(dr&&!cD(dp)){dk=new Blob([],dn);dl=dl+(dl.indexOf("?")<0?"?":"&")+dp}dt=h.sendBeacon(dl,dk)}catch(dq){return false}if(dt&&typeof ds==="function"){ds({request:dp,trackerUrl:aE,success:true,isSendBeacon:true})}return dt}function c5(dl,dm,dk){if(!J(dk)||null===dk){dk=true}if(m&&a7(dl,dm,dk)){return}setTimeout(function(){if(m&&a7(dl,dm,dk)){return}var dq;try{var dp=T.XMLHttpRequest?new T.XMLHttpRequest():T.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):null; -dp.open("POST",aE,true);dp.onreadystatechange=function(){if(this.readyState===4&&!(this.status>=200&&this.status<300)){var dr=m&&a7(dl,dm,dk);if(!dr&&dk){cq(dl,dm)}else{if(typeof dm==="function"){dm({request:dl,trackerUrl:aE,success:false,xhr:this})}}}else{if(this.readyState===4&&(typeof dm==="function")){dm({request:dl,trackerUrl:aE,success:true,xhr:this})}}};dp.setRequestHeader("Content-Type",cx);dp.withCredentials=true;dp.send(dl)}catch(dn){dq=m&&a7(dl,dm,dk);if(!dq&&dk){cq(dl,dm)}else{if(typeof dm==="function"){dm({request:dl,trackerUrl:aE,success:false})}}}},50)}function cg(dl){var dk=new Date();var dm=dk.getTime()+dl;if(!r||dm>r){r=dm}}function co(dk){if(cc||!a6||!bB){return}cc=setTimeout(function dl(){cc=null;if(!bd){bd=(!G.hasFocus||G.hasFocus())}if(!bd){co(a6);return}if(bR()){return}var dm=new Date(),dn=a6-(dm.getTime()-cZ);dn=Math.min(a6,dn);co(dn)},dk||a6)}function bK(){if(!cc){return}clearTimeout(cc);cc=null}function bb(){bd=true;cS=new Date().getTime()}function de(){var dk=new Date().getTime(); -return !cS||(dk-cS)>a6}function az(){if(de()){bR()}bK()}function dh(){if(aO||!a6){return}aO=true;an(T,"focus",bb);an(T,"blur",az);ab++;e.addPlugin("HeartBeat"+ab,{unload:function(){if(aO&&de()){bR()}}})}function cC(dp){var dl=new Date();var dk=dl.getTime();cZ=dk;if(cB&&dk=dk.length){return[dk]}var dl=0;var dm=dk.length;var dn=[];for(dl;dl=dl&&dk<=(dl+a0)){return true}}return false -}function di(dk){if(!cN){return""}var dp=f(dk,av);if(!dp){return""}dp=String(dp);var dm=new RegExp("^[a-zA-Z0-9]+$");if(dp.length===32&&dm.test(dp)){var dl=dp.substr(16,32);if(c3(dl)){var dn=dp.substr(0,16);return dn}}return""}function cO(){if(!bO){bO=di(bN)}var dm=new Date(),dk=Math.round(dm.getTime()/1000),dl=aU("id"),dq=aD(dl),dp,dn;if(dq){dp=dq.split(".");dp.unshift("0");if(bO.length){dp[1]=bO}return dp}if(bO.length){dn=bO}else{if("0"===b5()){dn=""}else{dn=cR()}}dp=["1",dn,dk,0,dk,"",""];return dp}function aZ(){var ds=cO(),dn=ds[0],dp=ds[1],dl=ds[2],dk=ds[3],dq=ds[4],dm=ds[5];if(!J(ds[6])){ds[6]=""}var dr=ds[6];return{newVisitor:dn,uuid:dp,createTs:dl,visitCount:dk,currentVisitTs:dq,lastVisitTs:dm,lastEcommerceOrderTs:dr}}function aH(){var dn=new Date(),dl=dn.getTime(),dp=aZ().createTs;var dk=parseInt(dp,10);var dm=(dk*1000)+cJ-dl;return dm}function aM(dk){if(!b6){return}var dm=new Date(),dl=Math.round(dm.getTime()/1000);if(!J(dk)){dk=aZ()}var dn=dk.uuid+"."+dk.createTs+"."+dk.visitCount+"."+dl+"."+dk.lastVisitTs+"."+dk.lastEcommerceOrderTs; -df(aU("id"),dn,aH(),bp,cY,bS)}function bM(){var dk=aD(aU("ref"));if(dk.length){try{dk=JSON_PIWIK.parse(dk);if(W(dk)){return dk}}catch(dl){}}return["","",0,""]}function bw(dl){var dk="testvalue";df("test",dk,10000,null,dl);if(aD("test")===dk){bY("test",null,dl);return true}return false}function aF(){var dl=bl;bl=false;var dk,dm;for(dk=0;dkdK){dB.visitCount++;dB.lastVisitTs=dB.currentVisitTs}if(!bv||!dt.length){for(dH in cr){if(Object.prototype.hasOwnProperty.call(cr,dH)){dt=f(dL,cr[dH]);if(dt.length){break}}}for(dH in bG){if(Object.prototype.hasOwnProperty.call(bG,dH)){dk=f(dL,bG[dH]);if(dk.length){break}}}}dP=d(bn);dw=dG.length?d(dG):"";if(dP.length&&!aW(dP)&&(!bv||!dw.length||aW(dw))){dG=bn}if(dG.length||dt.length){ds=dv;dF=[dt,dk,ds,b2(dG.slice(0,dp))];df(dC,JSON_PIWIK.stringify(dF),c6,bp,cY)}}dm+="&idsite="+b6+"&rec=1&r="+String(Math.random()).slice(2,8)+"&h="+dl.getHours()+"&m="+dl.getMinutes()+"&s="+dl.getSeconds()+"&url="+t(b2(dL))+(bn.length?"&urlref="+t(b2(bn)):"")+((by&&by.length)?"&uid="+t(by):"")+"&_id="+dB.uuid+"&_idts="+dB.createTs+"&_idvc="+dB.visitCount+"&_idn="+dB.newVisitor+(dt.length?"&_rcn="+t(dt):"")+(dk.length?"&_rck="+t(dk):"")+"&_refts="+ds+"&_viewts="+dB.lastVisitTs+(String(dB.lastEcommerceOrderTs).length?"&_ects="+dB.lastEcommerceOrderTs:"")+(String(dG).length?"&_ref="+t(b2(dG.slice(0,dp))):"")+(dy?"&cs="+t(dy):"")+"&send_image=0"; -var dO=cH();for(dH in dO){if(Object.prototype.hasOwnProperty.call(dO,dH)){dm+="&"+dH+"="+dO[dH]}}var dN=[];if(dI){for(dH in dI){if(Object.prototype.hasOwnProperty.call(dI,dH)&&/^dimension\d+$/.test(dH)){var dr=dH.replace("dimension","");dN.push(parseInt(dr,10));dN.push(String(dr));dm+="&"+dH+"="+t(dI[dH]);delete dI[dH]}}}if(dI&&B(dI)){dI=null}for(dH in bm){if(Object.prototype.hasOwnProperty.call(bm,dH)){var dx=(-1===M(dN,dH));if(dx){dm+="&dimension"+dH+"="+t(bm[dH])}}}if(dI){dm+="&data="+t(JSON_PIWIK.stringify(dI))}else{if(ao){dm+="&data="+t(JSON_PIWIK.stringify(ao))}}function du(dQ,dR){var dS=JSON_PIWIK.stringify(dQ);if(dS.length>2){return"&"+dR+"="+t(dS)}return""}var dM=dj(bW);var dD=dj(cm);dm+=du(dM,"cvar");dm+=du(dD,"e_cvar");if(aR){dm+=du(aR,"_cvar");for(dH in dE){if(Object.prototype.hasOwnProperty.call(dE,dH)){if(aR[dH][0]===""||aR[dH][1]===""){delete aR[dH]}}}if(bQ){df(dz,JSON_PIWIK.stringify(aR),cp,bp,cY)}}if(a3){if(cn){dm+=">_ms="+cn}else{if(i&&i.timing&&i.timing.requestStart&&i.timing.responseEnd){dm+=">_ms="+(i.timing.responseEnd-i.timing.requestStart) -}}}if(aL){dm+="&pv_id="+aL}dB.lastEcommerceOrderTs=J(dn)&&String(dn).length?dn:dB.lastEcommerceOrderTs;aM(dB);cd();dm+=ac(dJ,{tracker:bI,request:dm});if(c0.length){dm+="&"+c0}if(A(cb)){dm=cb(dm)}return dm}bR=function a8(){var dk=new Date();dk=dk.getTime();if(!cZ){return false}if((cZ+(1000*c8))<=dk){return false}if(cZ+a6<=dk){bI.ping();return true}return false};function bq(dn,dm,dt,dp,dk,dw){var dr="idgoal=0",ds,dl=new Date(),du=[],dv,dq=String(dn).length;if(dq){dr+="&ec_id="+t(dn);ds=Math.round(dl.getTime()/1000)}dr+="&revenue="+dm;if(String(dt).length){dr+="&ec_st="+dt}if(String(dp).length){dr+="&ec_tx="+dp}if(String(dk).length){dr+="&ec_sh="+dk}if(String(dw).length){dr+="&ec_dt="+dw}if(c1){for(dv in c1){if(Object.prototype.hasOwnProperty.call(c1,dv)){if(!J(c1[dv][1])){c1[dv][1]=""}if(!J(c1[dv][2])){c1[dv][2]=""}if(!J(c1[dv][3])||String(c1[dv][3]).length===0){c1[dv][3]=0}if(!J(c1[dv][4])||String(c1[dv][4]).length===0){c1[dv][4]=1}du.push(c1[dv])}}dr+="&ec_items="+t(JSON_PIWIK.stringify(du)) -}dr=ct(dr,ao,"ecommerce",ds);bF(dr,bJ);if(dq){c1={}}}function bZ(dk,dp,dn,dm,dl,dq){if(String(dk).length&&J(dp)){bq(dk,dp,dn,dm,dl,dq)}}function bs(dk){if(J(dk)){bq("",dk,"","","","")}}function b0(dl,dn,dm){aL=bh();var dk=ct("action_name="+t(al(dl||bj)),dn,"log");bF(dk,bJ,dm)}function a1(dm,dl){var dn,dk="(^| )(piwik[_-]"+dl;if(dm){for(dn=0;dn0){dp=parseInt(dp,10);ds(dp)}})}var bC={enabled:true,requests:[],timeout:null,interval:2500,sendRequests:function(){var dk=this.requests;this.requests=[];if(dk.length===1){bF(dk[0],bJ)}else{dg(dk,bJ)}},canQueue:function(){return !m&&this.enabled},pushMultiple:function(dl){if(!this.canQueue()){dg(dl,bJ);return}var dk;for(dk=0;dk0){if(!J(dl)){dl=""}if(!w(dl)){dl=String(dl)}bm[dk]=dl}};this.getCustomDimension=function(dk){dk=parseInt(dk,10);if(dk>0&&Object.prototype.hasOwnProperty.call(bm,dk)){return bm[dk]}};this.deleteCustomDimension=function(dk){dk=parseInt(dk,10);if(dk>0){delete bm[dk]}};this.setCustomVariable=function(dl,dk,dp,dm){var dn;if(!J(dm)){dm="visit"}if(!J(dk)){return}if(!J(dp)){dp=""}if(dl>0){dk=!w(dk)?String(dk):dk;dp=!w(dp)?String(dp):dp;dn=[dk.slice(0,bt),dp.slice(0,bt)];if(dm==="visit"||dm===2){cE();aR[dl]=dn}else{if(dm==="page"||dm===3){bW[dl]=dn}else{if(dm==="event"){cm[dl]=dn}}}}};this.getCustomVariable=function(dl,dm){var dk; -if(!J(dm)){dm="visit"}if(dm==="page"||dm===3){dk=bW[dl]}else{if(dm==="event"){dk=cm[dl]}else{if(dm==="visit"||dm===2){cE();dk=aR[dl]}}}if(!J(dk)||(dk&&dk[0]==="")){return false}return dk};this.deleteCustomVariable=function(dk,dl){if(this.getCustomVariable(dk,dl)){this.setCustomVariable(dk,"","",dl)}};this.deleteCustomVariables=function(dk){if(dk==="page"||dk===3){bW={}}else{if(dk==="event"){cm={}}else{if(dk==="visit"||dk===2){aR={}}}}};this.storeCustomVariablesInCookie=function(){bQ=true};this.setLinkTrackingTimer=function(dk){bJ=dk};this.getLinkTrackingTimer=function(){return bJ};this.setDownloadExtensions=function(dk){if(w(dk)){dk=dk.split("|")}c7=dk};this.addDownloadExtensions=function(dl){var dk;if(w(dl)){dl=dl.split("|")}for(dk=0;dk1&&ap!=="addTracker"){ak("The method "+ap+' is registered more than once in "_paq" variable. Only the last call has an effect. Please have a look at the multiple Piwik trackers documentation: https://developer.piwik.org/guides/tracking-javascript-guide#multiple-piwik-trackers')}av[ap]++}}}}return au}var C=["addTracker","disableCookies","setTrackerUrl","setAPIUrl","enableCrossDomainLinking","setCrossDomainLinkingTimeout","setSessionCookieTimeout","setVisitorCookieTimeout","setSecureCookie","setCookiePath","setCookieDomain","setDomains","setUserId","setVisitorId","setSiteId","alwaysUseSendBeacon","enableLinkTracking","enableCookies","requireConsent","setConsentGiven"]; -function ad(ao,aq){var ap=new Q(ao,aq);I.push(ap);_paq=c(_paq,C);for(E=0;E<_paq.length;E++){if(_paq[E]){af(_paq[E])}}_paq=new H();e.trigger("TrackerAdded",[ap]);return ap}an(T,"beforeunload",ai,false);an(T,"message",function(au){if(!au||!au.origin){return}var aw,ar,ap;var ax=d(au.origin);var at=e.getAsyncTrackers();for(ar=0;ar=0){dn=dn.slice(0,dm)}dm=dn.lastIndexOf("/");if(dm!==dn.length-1){dn=dn.slice(0,dm+1)}return dn+dl}function cH(dn,dl){var dm;dn=String(dn).toLowerCase();dl=String(dl).toLowerCase();if(dn===dl){return true}if(dl.slice(0,1)==="."){if(dn===dl.slice(1)){return true}dm=dn.length-dl.length;if((dm>0)&&(dn.slice(dm)===dl)){return true}}return false}function cl(dl){var dm=document.createElement("a"); +if(dl.indexOf("//")!==0&&dl.indexOf("http")!==0){if(dl.indexOf("*")===0){dl=dl.substr(1)}if(dl.indexOf(".")===0){dl=dl.substr(1)}dl="http://"+dl}dm.href=v.toAbsoluteUrl(dl);if(dm.pathname){return dm.pathname}return""}function a4(dm,dl){if(!aj(dl,"/")){dl="/"+dl}if(!aj(dm,"/")){dm="/"+dm}var dn=(dl==="/"||dl==="/*");if(dn){return true}if(dm===dl){return true}dl=String(dl).toLowerCase();dm=String(dm).toLowerCase();if(R(dl,"*")){dl=dl.slice(0,-1);dn=(!dl||dl==="/");if(dn){return true}if(dm===dl){return true}return dm.indexOf(dl)===0}if(!R(dm,"/")){dm+="/"}if(!R(dl,"/")){dl+="/"}return dm.indexOf(dl)===0}function ar(dq,ds){var dm,dl,dn,dp,dr;for(dm=0;dm0)&&(dp.slice(dn)===dl)){return true}}}return false}function cq(dl,dn){dl=dl.replace("send_image=0","send_image=1"); +var dm=new Image(1,1);dm.onload=function(){E=0;if(typeof dn==="function"){dn({request:dl,trackerUrl:aE,success:true})}};dm.onerror=function(){if(typeof dn==="function"){dn({request:dl,trackerUrl:aE,success:false})}};dm.src=aE+(aE.indexOf("?")<0?"?":"&")+dl}function cE(dl){if(dc==="POST"){return true}return dl&&(dl.length>2000||dl.indexOf('{"requests"')===0)}function aK(){return"object"===typeof h&&"function"===typeof h.sendBeacon&&"function"===typeof Blob}function a7(dq,dt,ds){var dn=aK();if(!dn){return false}var dp={type:"application/x-www-form-urlencoded; charset=UTF-8"};var du=false;var dm=aE;try{var dl=new Blob([dq],dp);if(ds&&!cE(dq)){dl=new Blob([],dp);dm=dm+(dm.indexOf("?")<0?"?":"&")+dq}du=h.sendBeacon(dm,dl)}catch(dr){return false}if(du&&typeof dt==="function"){dt({request:dq,trackerUrl:aE,success:true,isSendBeacon:true})}return du}function c6(dm,dn,dl){if(!J(dl)||null===dl){dl=true}if(m&&a7(dm,dn,dl)){return}setTimeout(function(){if(m&&a7(dm,dn,dl)){return}var dr;try{var dq=T.XMLHttpRequest?new T.XMLHttpRequest():T.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):null; +dq.open("POST",aE,true);dq.onreadystatechange=function(){if(this.readyState===4&&!(this.status>=200&&this.status<300)){var ds=m&&a7(dm,dn,dl);if(!ds&&dl){cq(dm,dn)}else{if(typeof dn==="function"){dn({request:dm,trackerUrl:aE,success:false,xhr:this})}}}else{if(this.readyState===4&&(typeof dn==="function")){dn({request:dm,trackerUrl:aE,success:true,xhr:this})}}};dq.setRequestHeader("Content-Type",cx);dq.withCredentials=true;dq.send(dm)}catch(dp){dr=m&&a7(dm,dn,dl);if(!dr&&dl){cq(dm,dn)}else{if(typeof dn==="function"){dn({request:dm,trackerUrl:aE,success:false})}}}},50)}function cg(dm){var dl=new Date();var dn=dl.getTime()+dm;if(!r||dn>r){r=dn}}function co(dl){if(cc||!a6||!bB){return}cc=setTimeout(function dm(){cc=null;if(!bd){bd=(!G.hasFocus||G.hasFocus())}if(!bd){co(a6);return}if(bR()){return}var dn=new Date(),dp=a6-(dn.getTime()-c0);dp=Math.min(a6,dp);co(dp)},dl||a6)}function bK(){if(!cc){return}clearTimeout(cc);cc=null}function bb(){bd=true;cT=new Date().getTime()}function df(){var dl=new Date().getTime(); +return !cT||(dl-cT)>a6}function az(){if(df()){bR()}bK()}function di(){if(aO||!a6){return}aO=true;an(T,"focus",bb);an(T,"blur",az);ab++;e.addPlugin("HeartBeat"+ab,{unload:function(){if(aO&&df()){bR()}}})}function cC(dq){var dm=new Date();var dl=dm.getTime();c0=dl;if(cB&&dl=dl.length){return[dl]}var dm=0;var dn=dl.length;var dp=[];for(dm;dm=dm&&dl<=(dm+a0)){return true}}return false +}function dj(dl){if(!cO){return""}var dq=f(dl,av);if(!dq){return""}dq=String(dq);var dn=new RegExp("^[a-zA-Z0-9]+$");if(dq.length===32&&dn.test(dq)){var dm=dq.substr(16,32);if(c4(dm)){var dp=dq.substr(0,16);return dp}}return""}function cP(){if(!bO){bO=dj(bN)}var dn=new Date(),dl=Math.round(dn.getTime()/1000),dm=aU("id"),dr=aD(dm),dq,dp;if(dr){dq=dr.split(".");dq.unshift("0");if(bO.length){dq[1]=bO}return dq}if(bO.length){dp=bO}else{if("0"===b5()){dp=""}else{dp=cS()}}dq=["1",dp,dl,0,dl,"",""];return dq}function aZ(){var dt=cP(),dp=dt[0],dq=dt[1],dm=dt[2],dl=dt[3],dr=dt[4],dn=dt[5];if(!J(dt[6])){dt[6]=""}var ds=dt[6];return{newVisitor:dp,uuid:dq,createTs:dm,visitCount:dl,currentVisitTs:dr,lastVisitTs:dn,lastEcommerceOrderTs:ds}}function aH(){var dp=new Date(),dm=dp.getTime(),dq=aZ().createTs;var dl=parseInt(dq,10);var dn=(dl*1000)+cK-dm;return dn}function aM(dl){if(!b6){return}var dn=new Date(),dm=Math.round(dn.getTime()/1000);if(!J(dl)){dl=aZ()}var dp=dl.uuid+"."+dl.createTs+"."+dl.visitCount+"."+dm+"."+dl.lastVisitTs+"."+dl.lastEcommerceOrderTs; +dg(aU("id"),dp,aH(),bp,cZ,bS)}function bM(){var dl=aD(aU("ref"));if(dl.length){try{dl=JSON_PIWIK.parse(dl);if(W(dl)){return dl}}catch(dm){}}return["","",0,""]}function bw(dm){var dl="testvalue";dg("test",dl,10000,null,dm);if(aD("test")===dl){bY("test",null,dm);return true}return false}function aF(){var dm=bl;bl=false;var dl,dn;for(dl=0;dldL){dC.visitCount++;dC.lastVisitTs=dC.currentVisitTs}if(!bv||!du.length){for(dI in cr){if(Object.prototype.hasOwnProperty.call(cr,dI)){du=f(dM,cr[dI]);if(du.length){break}}}for(dI in bG){if(Object.prototype.hasOwnProperty.call(bG,dI)){dl=f(dM,bG[dI]);if(dl.length){break}}}}dQ=d(bn);dx=dH.length?d(dH):"";if(dQ.length&&!aW(dQ)&&(!bv||!dx.length||aW(dx))){dH=bn}if(dH.length||du.length){dt=dw;dG=[du,dl,dt,b2(dH.slice(0,dq))];dg(dD,JSON_PIWIK.stringify(dG),c7,bp,cZ)}}dn+="&idsite="+b6+"&rec=1&r="+String(Math.random()).slice(2,8)+"&h="+dm.getHours()+"&m="+dm.getMinutes()+"&s="+dm.getSeconds()+"&url="+t(b2(dM))+(bn.length?"&urlref="+t(b2(bn)):"")+((by&&by.length)?"&uid="+t(by):"")+"&_id="+dC.uuid+"&_idts="+dC.createTs+"&_idvc="+dC.visitCount+"&_idn="+dC.newVisitor+(du.length?"&_rcn="+t(du):"")+(dl.length?"&_rck="+t(dl):"")+"&_refts="+dt+"&_viewts="+dC.lastVisitTs+(String(dC.lastEcommerceOrderTs).length?"&_ects="+dC.lastEcommerceOrderTs:"")+(String(dH).length?"&_ref="+t(b2(dH.slice(0,dq))):"")+(dz?"&cs="+t(dz):"")+"&send_image=0"; +var dP=cI();for(dI in dP){if(Object.prototype.hasOwnProperty.call(dP,dI)){dn+="&"+dI+"="+dP[dI]}}var dO=[];if(dJ){for(dI in dJ){if(Object.prototype.hasOwnProperty.call(dJ,dI)&&/^dimension\d+$/.test(dI)){var ds=dI.replace("dimension","");dO.push(parseInt(ds,10));dO.push(String(ds));dn+="&"+dI+"="+t(dJ[dI]);delete dJ[dI]}}}if(dJ&&B(dJ)){dJ=null}for(dI in bm){if(Object.prototype.hasOwnProperty.call(bm,dI)){var dy=(-1===M(dO,dI));if(dy){dn+="&dimension"+dI+"="+t(bm[dI])}}}if(dJ){dn+="&data="+t(JSON_PIWIK.stringify(dJ))}else{if(ao){dn+="&data="+t(JSON_PIWIK.stringify(ao))}}function dv(dR,dS){var dT=JSON_PIWIK.stringify(dR);if(dT.length>2){return"&"+dS+"="+t(dT)}return""}var dN=dk(bW);var dE=dk(cm);dn+=dv(dN,"cvar");dn+=dv(dE,"e_cvar");if(aR){dn+=dv(aR,"_cvar");for(dI in dF){if(Object.prototype.hasOwnProperty.call(dF,dI)){if(aR[dI][0]===""||aR[dI][1]===""){delete aR[dI]}}}if(bQ){dg(dA,JSON_PIWIK.stringify(aR),cp,bp,cZ)}}if(a3){if(cn){dn+=">_ms="+cn}else{if(i&&i.timing&&i.timing.requestStart&&i.timing.responseEnd){dn+=">_ms="+(i.timing.responseEnd-i.timing.requestStart) +}}}if(aL){dn+="&pv_id="+aL}dC.lastEcommerceOrderTs=J(dp)&&String(dp).length?dp:dC.lastEcommerceOrderTs;aM(dC);cd();dn+=ac(dK,{tracker:bI,request:dn});if(c1.length){dn+="&"+c1}if(A(cb)){dn=cb(dn)}return dn}bR=function a8(){var dl=new Date();dl=dl.getTime();if(!c0){return false}if((c0+(1000*c9))<=dl){return false}if(c0+a6<=dl){bI.ping();return true}return false};function bq(dp,dn,du,dq,dl,dx){var ds="idgoal=0",dt,dm=new Date(),dv=[],dw,dr=String(dp).length;if(dr){ds+="&ec_id="+t(dp);dt=Math.round(dm.getTime()/1000)}ds+="&revenue="+dn;if(String(du).length){ds+="&ec_st="+du}if(String(dq).length){ds+="&ec_tx="+dq}if(String(dl).length){ds+="&ec_sh="+dl}if(String(dx).length){ds+="&ec_dt="+dx}if(c2){for(dw in c2){if(Object.prototype.hasOwnProperty.call(c2,dw)){if(!J(c2[dw][1])){c2[dw][1]=""}if(!J(c2[dw][2])){c2[dw][2]=""}if(!J(c2[dw][3])||String(c2[dw][3]).length===0){c2[dw][3]=0}if(!J(c2[dw][4])||String(c2[dw][4]).length===0){c2[dw][4]=1}dv.push(c2[dw])}}ds+="&ec_items="+t(JSON_PIWIK.stringify(dv)) +}ds=ct(ds,ao,"ecommerce",dt);bF(ds,bJ);if(dr){c2={}}}function bZ(dl,dq,dp,dn,dm,dr){if(String(dl).length&&J(dq)){bq(dl,dq,dp,dn,dm,dr)}}function bs(dl){if(J(dl)){bq("",dl,"","","","")}}function b0(dm,dp,dn){aL=bh();var dl=ct("action_name="+t(al(dm||bj)),dp,"log");bF(dl,bJ,dn)}function a1(dn,dm){var dp,dl="(^| )(piwik[_-]"+dm;if(dn){for(dp=0;dp0){dq=parseInt(dq,10);dt(dq)}})}var bC={enabled:true,requests:[],timeout:null,interval:2500,sendRequests:function(){var dl=this.requests;this.requests=[];if(dl.length===1){bF(dl[0],bJ)}else{dh(dl,bJ)}},canQueue:function(){return !m&&this.enabled},pushMultiple:function(dm){if(!this.canQueue()){dh(dm,bJ);return}var dl;for(dl=0;dl0){if(!J(dm)){dm=""}if(!w(dm)){dm=String(dm)}bm[dl]=dm}};this.getCustomDimension=function(dl){dl=parseInt(dl,10);if(dl>0&&Object.prototype.hasOwnProperty.call(bm,dl)){return bm[dl]}};this.deleteCustomDimension=function(dl){dl=parseInt(dl,10);if(dl>0){delete bm[dl]}};this.setCustomVariable=function(dm,dl,dq,dn){var dp;if(!J(dn)){dn="visit"}if(!J(dl)){return}if(!J(dq)){dq=""}if(dm>0){dl=!w(dl)?String(dl):dl;dq=!w(dq)?String(dq):dq;dp=[dl.slice(0,bt),dq.slice(0,bt)];if(dn==="visit"||dn===2){cF();aR[dm]=dp}else{if(dn==="page"||dn===3){bW[dm]=dp}else{if(dn==="event"){cm[dm]=dp}}}}};this.getCustomVariable=function(dm,dn){var dl; +if(!J(dn)){dn="visit"}if(dn==="page"||dn===3){dl=bW[dm]}else{if(dn==="event"){dl=cm[dm]}else{if(dn==="visit"||dn===2){cF();dl=aR[dm]}}}if(!J(dl)||(dl&&dl[0]==="")){return false}return dl};this.deleteCustomVariable=function(dl,dm){if(this.getCustomVariable(dl,dm)){this.setCustomVariable(dl,"","",dm)}};this.deleteCustomVariables=function(dl){if(dl==="page"||dl===3){bW={}}else{if(dl==="event"){cm={}}else{if(dl==="visit"||dl===2){aR={}}}}};this.storeCustomVariablesInCookie=function(){bQ=true};this.setLinkTrackingTimer=function(dl){bJ=dl};this.getLinkTrackingTimer=function(){return bJ};this.setDownloadExtensions=function(dl){if(w(dl)){dl=dl.split("|")}c8=dl};this.addDownloadExtensions=function(dm){var dl;if(w(dm)){dm=dm.split("|")}for(dl=0;dl1&&ap!=="addTracker"){ak("The method "+ap+' is registered more than once in "_paq" variable. Only the last call has an effect. Please have a look at the multiple Piwik trackers documentation: https://developer.piwik.org/guides/tracking-javascript-guide#multiple-piwik-trackers')}av[ap]++}}}}return au}var C=["addTracker","forgetCookieConsentGiven","requireCookieConsent","disableCookies","setTrackerUrl","setAPIUrl","enableCrossDomainLinking","setCrossDomainLinkingTimeout","setSessionCookieTimeout","setVisitorCookieTimeout","setSecureCookie","setCookiePath","setCookieDomain","setDomains","setUserId","setVisitorId","setSiteId","alwaysUseSendBeacon","enableLinkTracking","setCookieConsentGiven","requireConsent","setConsentGiven"];function ad(ao,aq){var ap=new Q(ao,aq);I.push(ap);_paq=c(_paq,C);for(E=0;E<_paq.length;E++){if(_paq[E]){af(_paq[E]) +}}_paq=new H();e.trigger("TrackerAdded",[ap]);return ap}an(T,"beforeunload",ai,false);an(T,"message",function(au){if(!au||!au.origin){return}var aw,ar,ap;var ax=d(au.origin);var at=e.getAsyncTrackers();for(ar=0;ar Date: Thu, 9 Jul 2020 09:07:19 +1200 Subject: Backport support for matomo_ignore class (#16195) --- matomo.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'matomo.js') diff --git a/matomo.js b/matomo.js index 7642308816..14d2b29e0e 100644 --- a/matomo.js +++ b/matomo.js @@ -51,8 +51,8 @@ dg(aU("id"),dp,aH(),bp,cZ,bS)}function bM(){var dl=aD(aU("ref"));if(dl.length){t if(bl){aF()}if(cR){return""}var dC=aZ();if(!J(dp)){dp=""}var dz=G.characterSet||G.charset;if(!dz||dz.toLowerCase()==="utf-8"){dz=null}du=dG[0];dl=dG[1];dt=dG[2];dH=dG[3];if(!dB){var dL=cp/1000;if(!dC.lastVisitTs||(dw-dC.lastVisitTs)>dL){dC.visitCount++;dC.lastVisitTs=dC.currentVisitTs}if(!bv||!du.length){for(dI in cr){if(Object.prototype.hasOwnProperty.call(cr,dI)){du=f(dM,cr[dI]);if(du.length){break}}}for(dI in bG){if(Object.prototype.hasOwnProperty.call(bG,dI)){dl=f(dM,bG[dI]);if(dl.length){break}}}}dQ=d(bn);dx=dH.length?d(dH):"";if(dQ.length&&!aW(dQ)&&(!bv||!dx.length||aW(dx))){dH=bn}if(dH.length||du.length){dt=dw;dG=[du,dl,dt,b2(dH.slice(0,dq))];dg(dD,JSON_PIWIK.stringify(dG),c7,bp,cZ)}}dn+="&idsite="+b6+"&rec=1&r="+String(Math.random()).slice(2,8)+"&h="+dm.getHours()+"&m="+dm.getMinutes()+"&s="+dm.getSeconds()+"&url="+t(b2(dM))+(bn.length?"&urlref="+t(b2(bn)):"")+((by&&by.length)?"&uid="+t(by):"")+"&_id="+dC.uuid+"&_idts="+dC.createTs+"&_idvc="+dC.visitCount+"&_idn="+dC.newVisitor+(du.length?"&_rcn="+t(du):"")+(dl.length?"&_rck="+t(dl):"")+"&_refts="+dt+"&_viewts="+dC.lastVisitTs+(String(dC.lastEcommerceOrderTs).length?"&_ects="+dC.lastEcommerceOrderTs:"")+(String(dH).length?"&_ref="+t(b2(dH.slice(0,dq))):"")+(dz?"&cs="+t(dz):"")+"&send_image=0"; var dP=cI();for(dI in dP){if(Object.prototype.hasOwnProperty.call(dP,dI)){dn+="&"+dI+"="+dP[dI]}}var dO=[];if(dJ){for(dI in dJ){if(Object.prototype.hasOwnProperty.call(dJ,dI)&&/^dimension\d+$/.test(dI)){var ds=dI.replace("dimension","");dO.push(parseInt(ds,10));dO.push(String(ds));dn+="&"+dI+"="+t(dJ[dI]);delete dJ[dI]}}}if(dJ&&B(dJ)){dJ=null}for(dI in bm){if(Object.prototype.hasOwnProperty.call(bm,dI)){var dy=(-1===M(dO,dI));if(dy){dn+="&dimension"+dI+"="+t(bm[dI])}}}if(dJ){dn+="&data="+t(JSON_PIWIK.stringify(dJ))}else{if(ao){dn+="&data="+t(JSON_PIWIK.stringify(ao))}}function dv(dR,dS){var dT=JSON_PIWIK.stringify(dR);if(dT.length>2){return"&"+dS+"="+t(dT)}return""}var dN=dk(bW);var dE=dk(cm);dn+=dv(dN,"cvar");dn+=dv(dE,"e_cvar");if(aR){dn+=dv(aR,"_cvar");for(dI in dF){if(Object.prototype.hasOwnProperty.call(dF,dI)){if(aR[dI][0]===""||aR[dI][1]===""){delete aR[dI]}}}if(bQ){dg(dA,JSON_PIWIK.stringify(aR),cp,bp,cZ)}}if(a3){if(cn){dn+=">_ms="+cn}else{if(i&&i.timing&&i.timing.requestStart&&i.timing.responseEnd){dn+=">_ms="+(i.timing.responseEnd-i.timing.requestStart) }}}if(aL){dn+="&pv_id="+aL}dC.lastEcommerceOrderTs=J(dp)&&String(dp).length?dp:dC.lastEcommerceOrderTs;aM(dC);cd();dn+=ac(dK,{tracker:bI,request:dn});if(c1.length){dn+="&"+c1}if(A(cb)){dn=cb(dn)}return dn}bR=function a8(){var dl=new Date();dl=dl.getTime();if(!c0){return false}if((c0+(1000*c9))<=dl){return false}if(c0+a6<=dl){bI.ping();return true}return false};function bq(dp,dn,du,dq,dl,dx){var ds="idgoal=0",dt,dm=new Date(),dv=[],dw,dr=String(dp).length;if(dr){ds+="&ec_id="+t(dp);dt=Math.round(dm.getTime()/1000)}ds+="&revenue="+dn;if(String(du).length){ds+="&ec_st="+du}if(String(dq).length){ds+="&ec_tx="+dq}if(String(dl).length){ds+="&ec_sh="+dl}if(String(dx).length){ds+="&ec_dt="+dx}if(c2){for(dw in c2){if(Object.prototype.hasOwnProperty.call(c2,dw)){if(!J(c2[dw][1])){c2[dw][1]=""}if(!J(c2[dw][2])){c2[dw][2]=""}if(!J(c2[dw][3])||String(c2[dw][3]).length===0){c2[dw][3]=0}if(!J(c2[dw][4])||String(c2[dw][4]).length===0){c2[dw][4]=1}dv.push(c2[dw])}}ds+="&ec_items="+t(JSON_PIWIK.stringify(dv)) -}ds=ct(ds,ao,"ecommerce",dt);bF(ds,bJ);if(dr){c2={}}}function bZ(dl,dq,dp,dn,dm,dr){if(String(dl).length&&J(dq)){bq(dl,dq,dp,dn,dm,dr)}}function bs(dl){if(J(dl)){bq("",dl,"","","","")}}function b0(dm,dp,dn){aL=bh();var dl=ct("action_name="+t(al(dm||bj)),dp,"log");bF(dl,bJ,dn)}function a1(dn,dm){var dp,dl="(^| )(piwik[_-]"+dm;if(dn){for(dp=0;dp