diff options
-rw-r--r-- | js/piwik.js | 2 | ||||
-rw-r--r-- | js/piwik.min.js | 4 | ||||
-rw-r--r-- | matomo.js | 4 | ||||
-rw-r--r-- | piwik.js | 4 | ||||
-rw-r--r-- | plugins/BulkTracking/BulkTracking.php | 9 | ||||
-rw-r--r-- | plugins/BulkTracking/Tracker/Requests.php | 11 | ||||
-rw-r--r-- | plugins/BulkTracking/Tracker/Response.php | 20 |
7 files changed, 47 insertions, 7 deletions
diff --git a/js/piwik.js b/js/piwik.js index 6c88b24835..68a7dae957 100644 --- a/js/piwik.js +++ b/js/piwik.js @@ -3000,7 +3000,7 @@ if (typeof window.Matomo !== 'object') { var i = 0, bulk; for (i; i < chunks.length; i++) { - bulk = '{"requests":["?' + chunks[i].join('","?') + '"]}'; + bulk = '{"requests":["?' + chunks[i].join('","?') + '"],"send_image":0}'; if (configAlwaysUseSendBeacon && sendPostRequestViaSendBeacon(bulk, null, false)) { // makes sure to load the next page faster by not waiting as long // we apply this once we know send beacon works diff --git a/js/piwik.min.js b/js/piwik.min.js index 09acbf5fe2..92a144c9ef 100644 --- a/js/piwik.min.js +++ b/js/piwik.min.js @@ -34,8 +34,8 @@ try{bk=G.title}catch(cy){bk=""}function dd(dq,dn,dm,dp,dl,dk,dj){if(bn&&dq!==cM) }function cl(di){var dj=document.createElement("a");if(di.indexOf("//")!==0&&di.indexOf("http")!==0){if(di.indexOf("*")===0){di=di.substr(1)}if(di.indexOf(".")===0){di=di.substr(1)}di="http://"+di}dj.href=v.toAbsoluteUrl(di);if(dj.pathname){return dj.pathname}return""}function a4(dj,di){if(!aj(di,"/")){di="/"+di}if(!aj(dj,"/")){dj="/"+dj}var dk=(di==="/"||di==="/*");if(dk){return true}if(dj===di){return true}di=String(di).toLowerCase();dj=String(dj).toLowerCase();if(Q(di,"*")){di=di.slice(0,-1);dk=(!di||di==="/");if(dk){return true}if(dj===di){return true}return dj.indexOf(di)===0}if(!Q(dj,"/")){dj+="/"}if(!Q(di,"/")){di+="/"}return dj.indexOf(di)===0}function ar(dm,dp){var dj,di,dk,dl,dn;for(dj=0;dj<ay.length;dj++){dl=L(ay[dj]);dn=cl(ay[dj]);if(cH(dm,dl)&&a4(dp,dn)){return true}}return false}function aW(dl){var dj,di,dk;for(dj=0;dj<ay.length;dj++){di=L(ay[dj].toLowerCase());if(dl===di){return true}if(di.slice(0,1)==="."){if(dl===di.slice(1)){return true}dk=dl.length-di.length;if((dk>0)&&(dl.slice(dk)===di)){return true }}}return false}function co(di,dk){di=di.replace("send_image=0","send_image=1");var dj=new Image(1,1);dj.onload=function(){E=0;if(typeof dk==="function"){dk({request:di,trackerUrl:aE,success:true})}};dj.onerror=function(){if(typeof dk==="function"){dk({request:di,trackerUrl:aE,success:false})}};dj.src=aE+(aE.indexOf("?")<0?"?":"&")+di}function cE(di){if(c9==="POST"){return true}return di&&(di.length>2000||di.indexOf('{"requests"')===0)}function aL(){return"object"===typeof g&&"function"===typeof g.sendBeacon&&"function"===typeof Blob}function a7(dm,dq,dp){var dk=aL();if(!dk){return false}var dl={type:"application/x-www-form-urlencoded; charset=UTF-8"};var dr=false;var dj=aE;try{var di=new Blob([dm],dl);if(dp&&!cE(dm)){di=new Blob([],dl);dj=dj+(dj.indexOf("?")<0?"?":"&")+dm}dr=g.sendBeacon(dj,di)}catch(dn){return false}if(dr&&typeof dq==="function"){dq({request:dm,trackerUrl:aE,success:true,isSendBeacon:true})}return dr}function c4(dj,dk,di){if(!J(di)||null===di){di=true}if(l&&a7(dj,dk,di)){return }setTimeout(function(){if(l&&a7(dj,dk,di)){return}var dn;try{var dm=S.XMLHttpRequest?new S.XMLHttpRequest():S.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):null;dm.open("POST",aE,true);dm.onreadystatechange=function(){if(this.readyState===4&&!(this.status>=200&&this.status<300)){var dp=l&&a7(dj,dk,di);if(!dp&&di){co(dj,dk)}else{if(typeof dk==="function"){dk({request:dj,trackerUrl:aE,success:false,xhr:this})}}}else{if(this.readyState===4&&(typeof dk==="function")){dk({request:dj,trackerUrl:aE,success:true,xhr:this})}}};dm.setRequestHeader("Content-Type",cw);dm.withCredentials=true;dm.send(dj)}catch(dl){dn=l&&a7(dj,dk,di);if(!dn&&di){co(dj,dk)}else{if(typeof dk==="function"){dk({request:dj,trackerUrl:aE,success:false})}}}},50)}function cg(dj){var di=new Date();var dk=di.getTime()+dj;if(!q||dk>q){q=dk}}function bb(){bd=true;cx=new Date().getTime()}function dc(){var di=new Date().getTime();return !cx||(di-cx)>a6}function az(){if(dc()){bS()}}function df(){if(aO||!a6){return}aO=true;an(S,"focus",bb); -an(S,"blur",az);ab++;t.addPlugin("HeartBeat"+ab,{unload:function(){if(aO&&dc()){bS()}}})}function cC(dm){var dj=new Date();var di=dj.getTime();cY=di;if(cB&&di<cB){var dk=cB-di;setTimeout(dm,dk);cg(dk+50);cB+=50;return}if(cB===false){var dl=800;cB=di+dl}dm()}function aP(){if(aD(cM)){bD=false}else{if(aD(be)){bD=true}}}function bH(dj,di,dk){aP();if(!bD){cL.push(dj);return}aw=true;if(!cQ&&dj){if(cA&&bD){dj+="&consent=1"}cC(function(){if(cW&&a7(dj,dk,true)){cg(100);return}if(cE(dj)){c4(dj,dk)}else{co(dj,dk)}cg(di)})}if(!aO){df()}}function ck(di){if(cQ){return false}return(di&&di.length)}function c3(di,dm){if(!dm||dm>=di.length){return[di]}var dj=0;var dk=di.length;var dl=[];for(dj;dj<dk;dj+=dm){dl.push(di.slice(dj,dj+dm))}return dl}function de(dj,di){if(!ck(dj)){return}if(!bD){cL.push(dj);return}aw=true;cC(function(){var dm=c3(dj,50);var dk=0,dl;for(dk;dk<dm.length;dk++){dl='{"requests":["?'+dm[dk].join('","?')+'"]}';if(cW&&a7(dl,null,false)){cg(100)}else{c4(dl,null,false)}}cg(di)})}function aU(di){return bl+di+"."+b7+"."+bq -}function bZ(dk,dj,di){dd(dk,"",-86400,dj,di)}function b6(){if(bn){return"0"}if(!J(S.showModalDialog)&&J(g.cookieEnabled)){return g.cookieEnabled?"1":"0"}var di=bl+"testcookie";dd(di,"1",undefined,br,cX,bT,aJ);var dj=aD(di)==="1"?"1":"0";bZ(di);return dj}function bj(){bq=b8((cX||cU)+(br||"/")).slice(0,4)}function cI(){if(J(c7.res)){return c7}var dj,dl,dm={pdf:"application/pdf",qt:"video/quicktime",realp:"audio/x-pn-realaudio-plugin",wma:"application/x-mplayer2",fla:"application/x-shockwave-flash",java:"application/x-java-vm",ag:"application/x-silverlight"};if(!((new RegExp("MSIE")).test(g.userAgent))){if(g.mimeTypes&&g.mimeTypes.length){for(dj in dm){if(Object.prototype.hasOwnProperty.call(dm,dj)){dl=g.mimeTypes[dm[dj]];c7[dj]=(dl&&dl.enabledPlugin)?"1":"0"}}}if(!((new RegExp("Edge[ /](\\d+[\\.\\d]+)")).test(g.userAgent))&&typeof navigator.javaEnabled!=="unknown"&&J(g.javaEnabled)&&g.javaEnabled()){c7.java="1"}if(!J(S.showModalDialog)&&J(g.cookieEnabled)){c7.cookie=g.cookieEnabled?"1":"0" +an(S,"blur",az);ab++;t.addPlugin("HeartBeat"+ab,{unload:function(){if(aO&&dc()){bS()}}})}function cC(dm){var dj=new Date();var di=dj.getTime();cY=di;if(cB&&di<cB){var dk=cB-di;setTimeout(dm,dk);cg(dk+50);cB+=50;return}if(cB===false){var dl=800;cB=di+dl}dm()}function aP(){if(aD(cM)){bD=false}else{if(aD(be)){bD=true}}}function bH(dj,di,dk){aP();if(!bD){cL.push(dj);return}aw=true;if(!cQ&&dj){if(cA&&bD){dj+="&consent=1"}cC(function(){if(cW&&a7(dj,dk,true)){cg(100);return}if(cE(dj)){c4(dj,dk)}else{co(dj,dk)}cg(di)})}if(!aO){df()}}function ck(di){if(cQ){return false}return(di&&di.length)}function c3(di,dm){if(!dm||dm>=di.length){return[di]}var dj=0;var dk=di.length;var dl=[];for(dj;dj<dk;dj+=dm){dl.push(di.slice(dj,dj+dm))}return dl}function de(dj,di){if(!ck(dj)){return}if(!bD){cL.push(dj);return}aw=true;cC(function(){var dm=c3(dj,50);var dk=0,dl;for(dk;dk<dm.length;dk++){dl='{"requests":["?'+dm[dk].join('","?')+'"],"send_image":0}';if(cW&&a7(dl,null,false)){cg(100)}else{c4(dl,null,false)}}cg(di) +})}function aU(di){return bl+di+"."+b7+"."+bq}function bZ(dk,dj,di){dd(dk,"",-86400,dj,di)}function b6(){if(bn){return"0"}if(!J(S.showModalDialog)&&J(g.cookieEnabled)){return g.cookieEnabled?"1":"0"}var di=bl+"testcookie";dd(di,"1",undefined,br,cX,bT,aJ);var dj=aD(di)==="1"?"1":"0";bZ(di);return dj}function bj(){bq=b8((cX||cU)+(br||"/")).slice(0,4)}function cI(){if(J(c7.res)){return c7}var dj,dl,dm={pdf:"application/pdf",qt:"video/quicktime",realp:"audio/x-pn-realaudio-plugin",wma:"application/x-mplayer2",fla:"application/x-shockwave-flash",java:"application/x-java-vm",ag:"application/x-silverlight"};if(!((new RegExp("MSIE")).test(g.userAgent))){if(g.mimeTypes&&g.mimeTypes.length){for(dj in dm){if(Object.prototype.hasOwnProperty.call(dm,dj)){dl=g.mimeTypes[dm[dj]];c7[dj]=(dl&&dl.enabledPlugin)?"1":"0"}}}if(!((new RegExp("Edge[ /](\\d+[\\.\\d]+)")).test(g.userAgent))&&typeof navigator.javaEnabled!=="unknown"&&J(g.javaEnabled)&&g.javaEnabled()){c7.java="1"}if(!J(S.showModalDialog)&&J(g.cookieEnabled)){c7.cookie=g.cookieEnabled?"1":"0" }else{c7.cookie=b6()}}var dk=parseInt(X.width,10);var di=parseInt(X.height,10);c7.res=parseInt(dk,10)+"x"+parseInt(di,10);return c7}function bY(){var dj=aU("cvar"),di=aD(dj);if(di&&di.length){di=S.JSON.parse(di);if(V(di)){return di}}return{}}function cF(){if(aR===false){aR=bY()}}function cR(){var di=cI();return b8((g.userAgent||"")+(g.platform||"")+S.JSON.stringify(di)+(new Date()).getTime()+Math.random()).slice(0,16)}function aB(){var di=cI();return b8((g.userAgent||"")+(g.platform||"")+S.JSON.stringify(di)).slice(0,6)}function bg(){return Math.floor((new Date()).getTime()/1000)}function aK(){var dj=bg();var dk=aB();var di=String(dj)+dk;return di}function c2(dk){dk=String(dk);var dn=aB();var dl=dn.length;var dm=dk.substr(-1*dl,dl);var dj=parseInt(dk.substr(0,dk.length-dl),10);if(dj&&dm&&dm===dn){var di=bg();if(a0<=0){return true}if(di>=dj&&di<=(dj+a0)){return true}}return false}function dg(di){if(!cN){return""}var dm=e(di,av);if(!dm){return""}dm=String(dm);var dk=new RegExp("^[a-zA-Z0-9]+$"); if(dm.length===32&&dk.test(dm)){var dj=dm.substr(16,32);if(c2(dj)){var dl=dm.substr(0,16);return dl}}return""}function cO(){if(!bP){bP=dg(bO)}var dk=new Date(),di=Math.round(dk.getTime()/1000),dj=aU("id"),dn=aD(dj),dm,dl;if(dn){dm=dn.split(".");dm.unshift("0");if(bP.length){dm[1]=bP}return dm}if(bP.length){dl=bP}else{if("0"===b6()){dl=""}else{dl=cR()}}dm=["1",dl,di];return dm}function aZ(){var dl=cO(),dj=dl[0],dk=dl[1],di=dl[2];return{newVisitor:dj,uuid:dk,createTs:di}}function aH(){var dl=new Date(),dj=dl.getTime(),dm=aZ().createTs;var di=parseInt(dm,10);var dk=(di*1000)+cK-dj;return dk}function aN(di){if(!b7){return}var dk=new Date(),dj=Math.round(dk.getTime()/1000);if(!J(di)){di=aZ()}var dl=di.uuid+"."+di.createTs+".";dd(aU("id"),dl,aH(),br,cX,bT,aJ)}function bN(){var di=aD(aU("ref"));if(di.length){try{di=S.JSON.parse(di);if(V(di)){return di}}catch(dj){}}return["","",0,""]}function by(dj){var di="testvalue";dd("test",di,10000,null,dj,bT,aJ);if(aD("test")===di){bZ("test",null,dj);return true }return false}function aF(){var dj=bn;bn=false;var di,dk;for(di=0;di<bw.length;di++){dk=aU(bw[di]);if(dk!==cM&&dk!==be&&0!==aD(dk)){bZ(dk,br,cX)}}bn=dj}function b4(di){b7=di}function dh(dm){if(!dm||!V(dm)){return}var dl=[];var dk;for(dk in dm){if(Object.prototype.hasOwnProperty.call(dm,dk)){dl.push(dk)}}var dn={};dl.sort();var di=dl.length;var dj;for(dj=0;dj<di;dj++){dn[dl[dj]]=dm[dl[dj]]}return dn}function cd(){dd(aU("ses"),"1",cn,br,cX,bT,aJ)}function bh(){var dl="";var dj="abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";var dk=dj.length;var di;for(di=0;di<6;di++){dl+=dj.charAt(Math.floor(Math.random()*dk))}return dl}function aA(dj){if(!h){return dj}var dk=(typeof h.getEntriesByType==="function")&&h.getEntriesByType("navigation")?h.getEntriesByType("navigation")[0]:h.timing;if(!dk){return dj}var di="";if(dk.connectEnd&&dk.fetchStart){if(dk.connectEnd<dk.fetchStart){return}di+="&pf_net="+(dk.connectEnd-dk.fetchStart)}if(dk.responseStart&&dk.requestStart){if(dk.responseStart<dk.requestStart){return @@ -34,8 +34,8 @@ try{bk=G.title}catch(cy){bk=""}function dd(dq,dn,dm,dp,dl,dk,dj){if(bn&&dq!==cM) }function cl(di){var dj=document.createElement("a");if(di.indexOf("//")!==0&&di.indexOf("http")!==0){if(di.indexOf("*")===0){di=di.substr(1)}if(di.indexOf(".")===0){di=di.substr(1)}di="http://"+di}dj.href=v.toAbsoluteUrl(di);if(dj.pathname){return dj.pathname}return""}function a4(dj,di){if(!aj(di,"/")){di="/"+di}if(!aj(dj,"/")){dj="/"+dj}var dk=(di==="/"||di==="/*");if(dk){return true}if(dj===di){return true}di=String(di).toLowerCase();dj=String(dj).toLowerCase();if(Q(di,"*")){di=di.slice(0,-1);dk=(!di||di==="/");if(dk){return true}if(dj===di){return true}return dj.indexOf(di)===0}if(!Q(dj,"/")){dj+="/"}if(!Q(di,"/")){di+="/"}return dj.indexOf(di)===0}function ar(dm,dp){var dj,di,dk,dl,dn;for(dj=0;dj<ay.length;dj++){dl=L(ay[dj]);dn=cl(ay[dj]);if(cH(dm,dl)&&a4(dp,dn)){return true}}return false}function aW(dl){var dj,di,dk;for(dj=0;dj<ay.length;dj++){di=L(ay[dj].toLowerCase());if(dl===di){return true}if(di.slice(0,1)==="."){if(dl===di.slice(1)){return true}dk=dl.length-di.length;if((dk>0)&&(dl.slice(dk)===di)){return true }}}return false}function co(di,dk){di=di.replace("send_image=0","send_image=1");var dj=new Image(1,1);dj.onload=function(){E=0;if(typeof dk==="function"){dk({request:di,trackerUrl:aE,success:true})}};dj.onerror=function(){if(typeof dk==="function"){dk({request:di,trackerUrl:aE,success:false})}};dj.src=aE+(aE.indexOf("?")<0?"?":"&")+di}function cE(di){if(c9==="POST"){return true}return di&&(di.length>2000||di.indexOf('{"requests"')===0)}function aL(){return"object"===typeof g&&"function"===typeof g.sendBeacon&&"function"===typeof Blob}function a7(dm,dq,dp){var dk=aL();if(!dk){return false}var dl={type:"application/x-www-form-urlencoded; charset=UTF-8"};var dr=false;var dj=aE;try{var di=new Blob([dm],dl);if(dp&&!cE(dm)){di=new Blob([],dl);dj=dj+(dj.indexOf("?")<0?"?":"&")+dm}dr=g.sendBeacon(dj,di)}catch(dn){return false}if(dr&&typeof dq==="function"){dq({request:dm,trackerUrl:aE,success:true,isSendBeacon:true})}return dr}function c4(dj,dk,di){if(!J(di)||null===di){di=true}if(l&&a7(dj,dk,di)){return }setTimeout(function(){if(l&&a7(dj,dk,di)){return}var dn;try{var dm=S.XMLHttpRequest?new S.XMLHttpRequest():S.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):null;dm.open("POST",aE,true);dm.onreadystatechange=function(){if(this.readyState===4&&!(this.status>=200&&this.status<300)){var dp=l&&a7(dj,dk,di);if(!dp&&di){co(dj,dk)}else{if(typeof dk==="function"){dk({request:dj,trackerUrl:aE,success:false,xhr:this})}}}else{if(this.readyState===4&&(typeof dk==="function")){dk({request:dj,trackerUrl:aE,success:true,xhr:this})}}};dm.setRequestHeader("Content-Type",cw);dm.withCredentials=true;dm.send(dj)}catch(dl){dn=l&&a7(dj,dk,di);if(!dn&&di){co(dj,dk)}else{if(typeof dk==="function"){dk({request:dj,trackerUrl:aE,success:false})}}}},50)}function cg(dj){var di=new Date();var dk=di.getTime()+dj;if(!q||dk>q){q=dk}}function bb(){bd=true;cx=new Date().getTime()}function dc(){var di=new Date().getTime();return !cx||(di-cx)>a6}function az(){if(dc()){bS()}}function df(){if(aO||!a6){return}aO=true;an(S,"focus",bb); -an(S,"blur",az);ab++;t.addPlugin("HeartBeat"+ab,{unload:function(){if(aO&&dc()){bS()}}})}function cC(dm){var dj=new Date();var di=dj.getTime();cY=di;if(cB&&di<cB){var dk=cB-di;setTimeout(dm,dk);cg(dk+50);cB+=50;return}if(cB===false){var dl=800;cB=di+dl}dm()}function aP(){if(aD(cM)){bD=false}else{if(aD(be)){bD=true}}}function bH(dj,di,dk){aP();if(!bD){cL.push(dj);return}aw=true;if(!cQ&&dj){if(cA&&bD){dj+="&consent=1"}cC(function(){if(cW&&a7(dj,dk,true)){cg(100);return}if(cE(dj)){c4(dj,dk)}else{co(dj,dk)}cg(di)})}if(!aO){df()}}function ck(di){if(cQ){return false}return(di&&di.length)}function c3(di,dm){if(!dm||dm>=di.length){return[di]}var dj=0;var dk=di.length;var dl=[];for(dj;dj<dk;dj+=dm){dl.push(di.slice(dj,dj+dm))}return dl}function de(dj,di){if(!ck(dj)){return}if(!bD){cL.push(dj);return}aw=true;cC(function(){var dm=c3(dj,50);var dk=0,dl;for(dk;dk<dm.length;dk++){dl='{"requests":["?'+dm[dk].join('","?')+'"]}';if(cW&&a7(dl,null,false)){cg(100)}else{c4(dl,null,false)}}cg(di)})}function aU(di){return bl+di+"."+b7+"."+bq -}function bZ(dk,dj,di){dd(dk,"",-86400,dj,di)}function b6(){if(bn){return"0"}if(!J(S.showModalDialog)&&J(g.cookieEnabled)){return g.cookieEnabled?"1":"0"}var di=bl+"testcookie";dd(di,"1",undefined,br,cX,bT,aJ);var dj=aD(di)==="1"?"1":"0";bZ(di);return dj}function bj(){bq=b8((cX||cU)+(br||"/")).slice(0,4)}function cI(){if(J(c7.res)){return c7}var dj,dl,dm={pdf:"application/pdf",qt:"video/quicktime",realp:"audio/x-pn-realaudio-plugin",wma:"application/x-mplayer2",fla:"application/x-shockwave-flash",java:"application/x-java-vm",ag:"application/x-silverlight"};if(!((new RegExp("MSIE")).test(g.userAgent))){if(g.mimeTypes&&g.mimeTypes.length){for(dj in dm){if(Object.prototype.hasOwnProperty.call(dm,dj)){dl=g.mimeTypes[dm[dj]];c7[dj]=(dl&&dl.enabledPlugin)?"1":"0"}}}if(!((new RegExp("Edge[ /](\\d+[\\.\\d]+)")).test(g.userAgent))&&typeof navigator.javaEnabled!=="unknown"&&J(g.javaEnabled)&&g.javaEnabled()){c7.java="1"}if(!J(S.showModalDialog)&&J(g.cookieEnabled)){c7.cookie=g.cookieEnabled?"1":"0" +an(S,"blur",az);ab++;t.addPlugin("HeartBeat"+ab,{unload:function(){if(aO&&dc()){bS()}}})}function cC(dm){var dj=new Date();var di=dj.getTime();cY=di;if(cB&&di<cB){var dk=cB-di;setTimeout(dm,dk);cg(dk+50);cB+=50;return}if(cB===false){var dl=800;cB=di+dl}dm()}function aP(){if(aD(cM)){bD=false}else{if(aD(be)){bD=true}}}function bH(dj,di,dk){aP();if(!bD){cL.push(dj);return}aw=true;if(!cQ&&dj){if(cA&&bD){dj+="&consent=1"}cC(function(){if(cW&&a7(dj,dk,true)){cg(100);return}if(cE(dj)){c4(dj,dk)}else{co(dj,dk)}cg(di)})}if(!aO){df()}}function ck(di){if(cQ){return false}return(di&&di.length)}function c3(di,dm){if(!dm||dm>=di.length){return[di]}var dj=0;var dk=di.length;var dl=[];for(dj;dj<dk;dj+=dm){dl.push(di.slice(dj,dj+dm))}return dl}function de(dj,di){if(!ck(dj)){return}if(!bD){cL.push(dj);return}aw=true;cC(function(){var dm=c3(dj,50);var dk=0,dl;for(dk;dk<dm.length;dk++){dl='{"requests":["?'+dm[dk].join('","?')+'"],"send_image":0}';if(cW&&a7(dl,null,false)){cg(100)}else{c4(dl,null,false)}}cg(di) +})}function aU(di){return bl+di+"."+b7+"."+bq}function bZ(dk,dj,di){dd(dk,"",-86400,dj,di)}function b6(){if(bn){return"0"}if(!J(S.showModalDialog)&&J(g.cookieEnabled)){return g.cookieEnabled?"1":"0"}var di=bl+"testcookie";dd(di,"1",undefined,br,cX,bT,aJ);var dj=aD(di)==="1"?"1":"0";bZ(di);return dj}function bj(){bq=b8((cX||cU)+(br||"/")).slice(0,4)}function cI(){if(J(c7.res)){return c7}var dj,dl,dm={pdf:"application/pdf",qt:"video/quicktime",realp:"audio/x-pn-realaudio-plugin",wma:"application/x-mplayer2",fla:"application/x-shockwave-flash",java:"application/x-java-vm",ag:"application/x-silverlight"};if(!((new RegExp("MSIE")).test(g.userAgent))){if(g.mimeTypes&&g.mimeTypes.length){for(dj in dm){if(Object.prototype.hasOwnProperty.call(dm,dj)){dl=g.mimeTypes[dm[dj]];c7[dj]=(dl&&dl.enabledPlugin)?"1":"0"}}}if(!((new RegExp("Edge[ /](\\d+[\\.\\d]+)")).test(g.userAgent))&&typeof navigator.javaEnabled!=="unknown"&&J(g.javaEnabled)&&g.javaEnabled()){c7.java="1"}if(!J(S.showModalDialog)&&J(g.cookieEnabled)){c7.cookie=g.cookieEnabled?"1":"0" }else{c7.cookie=b6()}}var dk=parseInt(X.width,10);var di=parseInt(X.height,10);c7.res=parseInt(dk,10)+"x"+parseInt(di,10);return c7}function bY(){var dj=aU("cvar"),di=aD(dj);if(di&&di.length){di=S.JSON.parse(di);if(V(di)){return di}}return{}}function cF(){if(aR===false){aR=bY()}}function cR(){var di=cI();return b8((g.userAgent||"")+(g.platform||"")+S.JSON.stringify(di)+(new Date()).getTime()+Math.random()).slice(0,16)}function aB(){var di=cI();return b8((g.userAgent||"")+(g.platform||"")+S.JSON.stringify(di)).slice(0,6)}function bg(){return Math.floor((new Date()).getTime()/1000)}function aK(){var dj=bg();var dk=aB();var di=String(dj)+dk;return di}function c2(dk){dk=String(dk);var dn=aB();var dl=dn.length;var dm=dk.substr(-1*dl,dl);var dj=parseInt(dk.substr(0,dk.length-dl),10);if(dj&&dm&&dm===dn){var di=bg();if(a0<=0){return true}if(di>=dj&&di<=(dj+a0)){return true}}return false}function dg(di){if(!cN){return""}var dm=e(di,av);if(!dm){return""}dm=String(dm);var dk=new RegExp("^[a-zA-Z0-9]+$"); if(dm.length===32&&dk.test(dm)){var dj=dm.substr(16,32);if(c2(dj)){var dl=dm.substr(0,16);return dl}}return""}function cO(){if(!bP){bP=dg(bO)}var dk=new Date(),di=Math.round(dk.getTime()/1000),dj=aU("id"),dn=aD(dj),dm,dl;if(dn){dm=dn.split(".");dm.unshift("0");if(bP.length){dm[1]=bP}return dm}if(bP.length){dl=bP}else{if("0"===b6()){dl=""}else{dl=cR()}}dm=["1",dl,di];return dm}function aZ(){var dl=cO(),dj=dl[0],dk=dl[1],di=dl[2];return{newVisitor:dj,uuid:dk,createTs:di}}function aH(){var dl=new Date(),dj=dl.getTime(),dm=aZ().createTs;var di=parseInt(dm,10);var dk=(di*1000)+cK-dj;return dk}function aN(di){if(!b7){return}var dk=new Date(),dj=Math.round(dk.getTime()/1000);if(!J(di)){di=aZ()}var dl=di.uuid+"."+di.createTs+".";dd(aU("id"),dl,aH(),br,cX,bT,aJ)}function bN(){var di=aD(aU("ref"));if(di.length){try{di=S.JSON.parse(di);if(V(di)){return di}}catch(dj){}}return["","",0,""]}function by(dj){var di="testvalue";dd("test",di,10000,null,dj,bT,aJ);if(aD("test")===di){bZ("test",null,dj);return true }return false}function aF(){var dj=bn;bn=false;var di,dk;for(di=0;di<bw.length;di++){dk=aU(bw[di]);if(dk!==cM&&dk!==be&&0!==aD(dk)){bZ(dk,br,cX)}}bn=dj}function b4(di){b7=di}function dh(dm){if(!dm||!V(dm)){return}var dl=[];var dk;for(dk in dm){if(Object.prototype.hasOwnProperty.call(dm,dk)){dl.push(dk)}}var dn={};dl.sort();var di=dl.length;var dj;for(dj=0;dj<di;dj++){dn[dl[dj]]=dm[dl[dj]]}return dn}function cd(){dd(aU("ses"),"1",cn,br,cX,bT,aJ)}function bh(){var dl="";var dj="abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";var dk=dj.length;var di;for(di=0;di<6;di++){dl+=dj.charAt(Math.floor(Math.random()*dk))}return dl}function aA(dj){if(!h){return dj}var dk=(typeof h.getEntriesByType==="function")&&h.getEntriesByType("navigation")?h.getEntriesByType("navigation")[0]:h.timing;if(!dk){return dj}var di="";if(dk.connectEnd&&dk.fetchStart){if(dk.connectEnd<dk.fetchStart){return}di+="&pf_net="+(dk.connectEnd-dk.fetchStart)}if(dk.responseStart&&dk.requestStart){if(dk.responseStart<dk.requestStart){return @@ -34,8 +34,8 @@ try{bk=G.title}catch(cy){bk=""}function dd(dq,dn,dm,dp,dl,dk,dj){if(bn&&dq!==cM) }function cl(di){var dj=document.createElement("a");if(di.indexOf("//")!==0&&di.indexOf("http")!==0){if(di.indexOf("*")===0){di=di.substr(1)}if(di.indexOf(".")===0){di=di.substr(1)}di="http://"+di}dj.href=v.toAbsoluteUrl(di);if(dj.pathname){return dj.pathname}return""}function a4(dj,di){if(!aj(di,"/")){di="/"+di}if(!aj(dj,"/")){dj="/"+dj}var dk=(di==="/"||di==="/*");if(dk){return true}if(dj===di){return true}di=String(di).toLowerCase();dj=String(dj).toLowerCase();if(Q(di,"*")){di=di.slice(0,-1);dk=(!di||di==="/");if(dk){return true}if(dj===di){return true}return dj.indexOf(di)===0}if(!Q(dj,"/")){dj+="/"}if(!Q(di,"/")){di+="/"}return dj.indexOf(di)===0}function ar(dm,dp){var dj,di,dk,dl,dn;for(dj=0;dj<ay.length;dj++){dl=L(ay[dj]);dn=cl(ay[dj]);if(cH(dm,dl)&&a4(dp,dn)){return true}}return false}function aW(dl){var dj,di,dk;for(dj=0;dj<ay.length;dj++){di=L(ay[dj].toLowerCase());if(dl===di){return true}if(di.slice(0,1)==="."){if(dl===di.slice(1)){return true}dk=dl.length-di.length;if((dk>0)&&(dl.slice(dk)===di)){return true }}}return false}function co(di,dk){di=di.replace("send_image=0","send_image=1");var dj=new Image(1,1);dj.onload=function(){E=0;if(typeof dk==="function"){dk({request:di,trackerUrl:aE,success:true})}};dj.onerror=function(){if(typeof dk==="function"){dk({request:di,trackerUrl:aE,success:false})}};dj.src=aE+(aE.indexOf("?")<0?"?":"&")+di}function cE(di){if(c9==="POST"){return true}return di&&(di.length>2000||di.indexOf('{"requests"')===0)}function aL(){return"object"===typeof g&&"function"===typeof g.sendBeacon&&"function"===typeof Blob}function a7(dm,dq,dp){var dk=aL();if(!dk){return false}var dl={type:"application/x-www-form-urlencoded; charset=UTF-8"};var dr=false;var dj=aE;try{var di=new Blob([dm],dl);if(dp&&!cE(dm)){di=new Blob([],dl);dj=dj+(dj.indexOf("?")<0?"?":"&")+dm}dr=g.sendBeacon(dj,di)}catch(dn){return false}if(dr&&typeof dq==="function"){dq({request:dm,trackerUrl:aE,success:true,isSendBeacon:true})}return dr}function c4(dj,dk,di){if(!J(di)||null===di){di=true}if(l&&a7(dj,dk,di)){return }setTimeout(function(){if(l&&a7(dj,dk,di)){return}var dn;try{var dm=S.XMLHttpRequest?new S.XMLHttpRequest():S.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):null;dm.open("POST",aE,true);dm.onreadystatechange=function(){if(this.readyState===4&&!(this.status>=200&&this.status<300)){var dp=l&&a7(dj,dk,di);if(!dp&&di){co(dj,dk)}else{if(typeof dk==="function"){dk({request:dj,trackerUrl:aE,success:false,xhr:this})}}}else{if(this.readyState===4&&(typeof dk==="function")){dk({request:dj,trackerUrl:aE,success:true,xhr:this})}}};dm.setRequestHeader("Content-Type",cw);dm.withCredentials=true;dm.send(dj)}catch(dl){dn=l&&a7(dj,dk,di);if(!dn&&di){co(dj,dk)}else{if(typeof dk==="function"){dk({request:dj,trackerUrl:aE,success:false})}}}},50)}function cg(dj){var di=new Date();var dk=di.getTime()+dj;if(!q||dk>q){q=dk}}function bb(){bd=true;cx=new Date().getTime()}function dc(){var di=new Date().getTime();return !cx||(di-cx)>a6}function az(){if(dc()){bS()}}function df(){if(aO||!a6){return}aO=true;an(S,"focus",bb); -an(S,"blur",az);ab++;t.addPlugin("HeartBeat"+ab,{unload:function(){if(aO&&dc()){bS()}}})}function cC(dm){var dj=new Date();var di=dj.getTime();cY=di;if(cB&&di<cB){var dk=cB-di;setTimeout(dm,dk);cg(dk+50);cB+=50;return}if(cB===false){var dl=800;cB=di+dl}dm()}function aP(){if(aD(cM)){bD=false}else{if(aD(be)){bD=true}}}function bH(dj,di,dk){aP();if(!bD){cL.push(dj);return}aw=true;if(!cQ&&dj){if(cA&&bD){dj+="&consent=1"}cC(function(){if(cW&&a7(dj,dk,true)){cg(100);return}if(cE(dj)){c4(dj,dk)}else{co(dj,dk)}cg(di)})}if(!aO){df()}}function ck(di){if(cQ){return false}return(di&&di.length)}function c3(di,dm){if(!dm||dm>=di.length){return[di]}var dj=0;var dk=di.length;var dl=[];for(dj;dj<dk;dj+=dm){dl.push(di.slice(dj,dj+dm))}return dl}function de(dj,di){if(!ck(dj)){return}if(!bD){cL.push(dj);return}aw=true;cC(function(){var dm=c3(dj,50);var dk=0,dl;for(dk;dk<dm.length;dk++){dl='{"requests":["?'+dm[dk].join('","?')+'"]}';if(cW&&a7(dl,null,false)){cg(100)}else{c4(dl,null,false)}}cg(di)})}function aU(di){return bl+di+"."+b7+"."+bq -}function bZ(dk,dj,di){dd(dk,"",-86400,dj,di)}function b6(){if(bn){return"0"}if(!J(S.showModalDialog)&&J(g.cookieEnabled)){return g.cookieEnabled?"1":"0"}var di=bl+"testcookie";dd(di,"1",undefined,br,cX,bT,aJ);var dj=aD(di)==="1"?"1":"0";bZ(di);return dj}function bj(){bq=b8((cX||cU)+(br||"/")).slice(0,4)}function cI(){if(J(c7.res)){return c7}var dj,dl,dm={pdf:"application/pdf",qt:"video/quicktime",realp:"audio/x-pn-realaudio-plugin",wma:"application/x-mplayer2",fla:"application/x-shockwave-flash",java:"application/x-java-vm",ag:"application/x-silverlight"};if(!((new RegExp("MSIE")).test(g.userAgent))){if(g.mimeTypes&&g.mimeTypes.length){for(dj in dm){if(Object.prototype.hasOwnProperty.call(dm,dj)){dl=g.mimeTypes[dm[dj]];c7[dj]=(dl&&dl.enabledPlugin)?"1":"0"}}}if(!((new RegExp("Edge[ /](\\d+[\\.\\d]+)")).test(g.userAgent))&&typeof navigator.javaEnabled!=="unknown"&&J(g.javaEnabled)&&g.javaEnabled()){c7.java="1"}if(!J(S.showModalDialog)&&J(g.cookieEnabled)){c7.cookie=g.cookieEnabled?"1":"0" +an(S,"blur",az);ab++;t.addPlugin("HeartBeat"+ab,{unload:function(){if(aO&&dc()){bS()}}})}function cC(dm){var dj=new Date();var di=dj.getTime();cY=di;if(cB&&di<cB){var dk=cB-di;setTimeout(dm,dk);cg(dk+50);cB+=50;return}if(cB===false){var dl=800;cB=di+dl}dm()}function aP(){if(aD(cM)){bD=false}else{if(aD(be)){bD=true}}}function bH(dj,di,dk){aP();if(!bD){cL.push(dj);return}aw=true;if(!cQ&&dj){if(cA&&bD){dj+="&consent=1"}cC(function(){if(cW&&a7(dj,dk,true)){cg(100);return}if(cE(dj)){c4(dj,dk)}else{co(dj,dk)}cg(di)})}if(!aO){df()}}function ck(di){if(cQ){return false}return(di&&di.length)}function c3(di,dm){if(!dm||dm>=di.length){return[di]}var dj=0;var dk=di.length;var dl=[];for(dj;dj<dk;dj+=dm){dl.push(di.slice(dj,dj+dm))}return dl}function de(dj,di){if(!ck(dj)){return}if(!bD){cL.push(dj);return}aw=true;cC(function(){var dm=c3(dj,50);var dk=0,dl;for(dk;dk<dm.length;dk++){dl='{"requests":["?'+dm[dk].join('","?')+'"],"send_image":0}';if(cW&&a7(dl,null,false)){cg(100)}else{c4(dl,null,false)}}cg(di) +})}function aU(di){return bl+di+"."+b7+"."+bq}function bZ(dk,dj,di){dd(dk,"",-86400,dj,di)}function b6(){if(bn){return"0"}if(!J(S.showModalDialog)&&J(g.cookieEnabled)){return g.cookieEnabled?"1":"0"}var di=bl+"testcookie";dd(di,"1",undefined,br,cX,bT,aJ);var dj=aD(di)==="1"?"1":"0";bZ(di);return dj}function bj(){bq=b8((cX||cU)+(br||"/")).slice(0,4)}function cI(){if(J(c7.res)){return c7}var dj,dl,dm={pdf:"application/pdf",qt:"video/quicktime",realp:"audio/x-pn-realaudio-plugin",wma:"application/x-mplayer2",fla:"application/x-shockwave-flash",java:"application/x-java-vm",ag:"application/x-silverlight"};if(!((new RegExp("MSIE")).test(g.userAgent))){if(g.mimeTypes&&g.mimeTypes.length){for(dj in dm){if(Object.prototype.hasOwnProperty.call(dm,dj)){dl=g.mimeTypes[dm[dj]];c7[dj]=(dl&&dl.enabledPlugin)?"1":"0"}}}if(!((new RegExp("Edge[ /](\\d+[\\.\\d]+)")).test(g.userAgent))&&typeof navigator.javaEnabled!=="unknown"&&J(g.javaEnabled)&&g.javaEnabled()){c7.java="1"}if(!J(S.showModalDialog)&&J(g.cookieEnabled)){c7.cookie=g.cookieEnabled?"1":"0" }else{c7.cookie=b6()}}var dk=parseInt(X.width,10);var di=parseInt(X.height,10);c7.res=parseInt(dk,10)+"x"+parseInt(di,10);return c7}function bY(){var dj=aU("cvar"),di=aD(dj);if(di&&di.length){di=S.JSON.parse(di);if(V(di)){return di}}return{}}function cF(){if(aR===false){aR=bY()}}function cR(){var di=cI();return b8((g.userAgent||"")+(g.platform||"")+S.JSON.stringify(di)+(new Date()).getTime()+Math.random()).slice(0,16)}function aB(){var di=cI();return b8((g.userAgent||"")+(g.platform||"")+S.JSON.stringify(di)).slice(0,6)}function bg(){return Math.floor((new Date()).getTime()/1000)}function aK(){var dj=bg();var dk=aB();var di=String(dj)+dk;return di}function c2(dk){dk=String(dk);var dn=aB();var dl=dn.length;var dm=dk.substr(-1*dl,dl);var dj=parseInt(dk.substr(0,dk.length-dl),10);if(dj&&dm&&dm===dn){var di=bg();if(a0<=0){return true}if(di>=dj&&di<=(dj+a0)){return true}}return false}function dg(di){if(!cN){return""}var dm=e(di,av);if(!dm){return""}dm=String(dm);var dk=new RegExp("^[a-zA-Z0-9]+$"); if(dm.length===32&&dk.test(dm)){var dj=dm.substr(16,32);if(c2(dj)){var dl=dm.substr(0,16);return dl}}return""}function cO(){if(!bP){bP=dg(bO)}var dk=new Date(),di=Math.round(dk.getTime()/1000),dj=aU("id"),dn=aD(dj),dm,dl;if(dn){dm=dn.split(".");dm.unshift("0");if(bP.length){dm[1]=bP}return dm}if(bP.length){dl=bP}else{if("0"===b6()){dl=""}else{dl=cR()}}dm=["1",dl,di];return dm}function aZ(){var dl=cO(),dj=dl[0],dk=dl[1],di=dl[2];return{newVisitor:dj,uuid:dk,createTs:di}}function aH(){var dl=new Date(),dj=dl.getTime(),dm=aZ().createTs;var di=parseInt(dm,10);var dk=(di*1000)+cK-dj;return dk}function aN(di){if(!b7){return}var dk=new Date(),dj=Math.round(dk.getTime()/1000);if(!J(di)){di=aZ()}var dl=di.uuid+"."+di.createTs+".";dd(aU("id"),dl,aH(),br,cX,bT,aJ)}function bN(){var di=aD(aU("ref"));if(di.length){try{di=S.JSON.parse(di);if(V(di)){return di}}catch(dj){}}return["","",0,""]}function by(dj){var di="testvalue";dd("test",di,10000,null,dj,bT,aJ);if(aD("test")===di){bZ("test",null,dj);return true }return false}function aF(){var dj=bn;bn=false;var di,dk;for(di=0;di<bw.length;di++){dk=aU(bw[di]);if(dk!==cM&&dk!==be&&0!==aD(dk)){bZ(dk,br,cX)}}bn=dj}function b4(di){b7=di}function dh(dm){if(!dm||!V(dm)){return}var dl=[];var dk;for(dk in dm){if(Object.prototype.hasOwnProperty.call(dm,dk)){dl.push(dk)}}var dn={};dl.sort();var di=dl.length;var dj;for(dj=0;dj<di;dj++){dn[dl[dj]]=dm[dl[dj]]}return dn}function cd(){dd(aU("ses"),"1",cn,br,cX,bT,aJ)}function bh(){var dl="";var dj="abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";var dk=dj.length;var di;for(di=0;di<6;di++){dl+=dj.charAt(Math.floor(Math.random()*dk))}return dl}function aA(dj){if(!h){return dj}var dk=(typeof h.getEntriesByType==="function")&&h.getEntriesByType("navigation")?h.getEntriesByType("navigation")[0]:h.timing;if(!dk){return dj}var di="";if(dk.connectEnd&&dk.fetchStart){if(dk.connectEnd<dk.fetchStart){return}di+="&pf_net="+(dk.connectEnd-dk.fetchStart)}if(dk.responseStart&&dk.requestStart){if(dk.responseStart<dk.requestStart){return diff --git a/plugins/BulkTracking/BulkTracking.php b/plugins/BulkTracking/BulkTracking.php index 89d0093187..011fce127b 100644 --- a/plugins/BulkTracking/BulkTracking.php +++ b/plugins/BulkTracking/BulkTracking.php @@ -62,6 +62,7 @@ class BulkTracking extends \Piwik\Plugin if ($this->isUsingBulkRequest()) { $handler = new Handler(); + $handler->getResponse()->setShouldSendResponse($this->shouldSendResponse()); } } @@ -73,6 +74,14 @@ class BulkTracking extends \Piwik\Plugin return $requests->isUsingBulkRequest($rawData); } + private function shouldSendResponse(): bool + { + $requests = $this->buildBulkRequests(); + $rawData = $requests->getRawBulkRequest(); + + return $requests->shouldSendResponse($rawData); + } + private function buildBulkRequests() { if (!is_null($this->requests)) { diff --git a/plugins/BulkTracking/Tracker/Requests.php b/plugins/BulkTracking/Tracker/Requests.php index 7df53df0dc..4eff7b9023 100644 --- a/plugins/BulkTracking/Tracker/Requests.php +++ b/plugins/BulkTracking/Tracker/Requests.php @@ -82,6 +82,17 @@ class Requests return array($requests, $tokenAuth); } + public function shouldSendResponse($rawData): bool + { + $rawData = trim($rawData); + $rawData = Common::sanitizeLineBreaks($rawData); + + // POST data can be array of string URLs or array of arrays w/ visit info + $jsonData = json_decode($rawData, $assoc = true); + + return !!Common::getRequestVar('send_image', true, 'string', $jsonData); + } + public function initRequestsAndTokenAuth($rawData) { list($requests, $tokenAuth) = $this->getRequestsArrayFromBulkRequest($rawData); diff --git a/plugins/BulkTracking/Tracker/Response.php b/plugins/BulkTracking/Tracker/Response.php index d32ee6e8ff..d75b8b25e0 100644 --- a/plugins/BulkTracking/Tracker/Response.php +++ b/plugins/BulkTracking/Tracker/Response.php @@ -25,6 +25,11 @@ class Response extends Tracker\Response private $isAuthenticated = false; /** + * @var bool + */ + private $shouldSendResponse = true; + + /** * Echos an error message & other information, then exits. * * @param Tracker $tracker @@ -48,6 +53,11 @@ class Response extends Tracker\Response return; } + if (!$this->shouldSendResponse()) { + Common::sendResponseCode(204); + return; + } + $result = $this->formatResponse($tracker); echo json_encode($result); @@ -92,6 +102,16 @@ class Response extends Tracker\Response return $result; } + public function setShouldSendResponse(bool $shouldSendResponse) + { + $this->shouldSendResponse = $shouldSendResponse; + } + + public function shouldSendResponse(): bool + { + return $this->shouldSendResponse; + } + public function setInvalidRequests($invalidRequests) { $this->invalidRequests = $invalidRequests; |