Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
authorThomas Steur <tsteur@users.noreply.github.com>2020-09-02 10:23:07 +0300
committerGitHub <noreply@github.com>2020-09-02 10:23:07 +0300
commit1b5b6e523c2bc8bde56b063ef455ebd73f1484d6 (patch)
tree42461c7809fca12886663323d32a415f9a4ee3d2 /js
parent11f54ee6389bd8ac408385b0d1760936c496470c (diff)
Fix Custom opt out screen should not imply tracking consent given (#16364)
* Fix Custom opt out screen should not imply tracking consent given fix https://github.com/matomo-org/matomo/issues/16362 As explained in the issue. When `optUserOut` is called, it should set the `mtm_consent_removed` cookie. When calling `forgetUserOptOut` then it should only undo the previous action and remove the `mtm_consent_removed` cookie. It should not set a `consent given` cookie because the user did likely not really give proper tracking consent (they would then instead implement https://developer.matomo.org/guides/tracking-consent ). Noticed this while implementing a custom opt out screen for Matomo for WordPress * rebuilt piwik.js
Diffstat (limited to 'js')
-rw-r--r--js/piwik.js3
-rw-r--r--js/piwik.min.js16
2 files changed, 9 insertions, 10 deletions
diff --git a/js/piwik.js b/js/piwik.js
index 2c5438963a..101bd1060c 100644
--- a/js/piwik.js
+++ b/js/piwik.js
@@ -6779,8 +6779,7 @@ if (typeof window.Matomo !== 'object') {
*/
this.forgetUserOptOut = function () {
// we can't automatically enable cookies here as we don't know if user actually gave consent for cookies
- var setCookieConsent = false;
- this.rememberConsentGiven(0, setCookieConsent);
+ this.setConsentGiven(false);
};
/**
diff --git a/js/piwik.min.js b/js/piwik.min.js
index 984e3e8f8b..4811acb4e5 100644
--- a/js/piwik.min.js
+++ b/js/piwik.min.js
@@ -60,13 +60,13 @@ var dq=dl+":"+dk;if(dm){dq+=":"+dm}at(dp,dq,dn)});if(di){return di(dn,dl,dk,dm,d
if(N(b6)){cg(function(){Z(aE,bI,b6)})}else{cg(function(){cp++;b0(di,dk,dj)})}};this.trackAllContentImpressions=function(){if(N(b6)){return}cg(function(){p(function(){var di=v.findContentNodes();var dj=cy(di);bD.pushMultiple(dj)})})};this.trackVisibleContentImpressions=function(di,dj){if(N(b6)){return}if(!J(di)){di=true}if(!J(dj)){dj=750}aS(di,dj,this);cg(function(){m(function(){var dk=v.findContentNodes();var dl=a9(dk);bD.pushMultiple(dl)})})};this.trackContentImpression=function(dk,di,dj){if(N(b6)){return}dk=a(dk);di=a(di);dj=a(dj);if(!dk){return}di=di||"Unknown";cg(function(){var dl=aG(dk,di,dj);bD.push(dl)})};this.trackContentImpressionsWithinNode=function(di){if(N(b6)||!di){return}cg(function(){if(ce){m(function(){var dj=v.findContentNodesWithinNode(di);var dk=a9(dj);bD.pushMultiple(dk)})}else{p(function(){var dj=v.findContentNodesWithinNode(di);var dk=cy(dj);bD.pushMultiple(dk)})}})};this.trackContentInteraction=function(dk,dl,di,dj){if(N(b6)){return}dk=a(dk);dl=a(dl);di=a(di);dj=a(dj);
if(!dk||!dl){return}di=di||"Unknown";cg(function(){var dm=aP(dk,dl,di,dj);if(dm){bD.push(dm)}})};this.trackContentInteractionNode=function(dk,dj){if(N(b6)||!dk){return}var di=null;cg(function(){di=da(dk,dj);if(di){bD.push(di)}});return di};this.logAllContentBlocksOnPage=function(){var dk=v.findContentNodes();var di=v.collectContent(dk);var dj=typeof console;if(dj!=="undefined"&&console&&console.log){console.log(di)}};this.trackEvent=function(dj,dl,di,dk,dn,dm){cg(function(){at(dj,dl,di,dk,dn,dm)})};this.trackSiteSearch=function(di,dk,dj,dl){ca=[];cg(function(){b8(di,dk,dj,dl)})};this.setEcommerceView=function(dm,di,dk,dj){cr={};if(Y(dk)){dk=String(dk)}if(!J(dk)||dk===null||dk===false||!dk.length){dk=""}else{if(dk instanceof Array){dk=S.JSON.stringify(dk)}}var dl="_pkc";cr[dl]=dk;if(J(dj)&&dj!==null&&dj!==false&&String(dj).length){dl="_pkp";cr[dl]=dj}if(!Y(dm)&&!Y(di)){return}if(Y(dm)){dl="_pks";cr[dl]=dm}if(!Y(di)){di=""}dl="_pkn";cr[dl]=di};this.getEcommerceItems=function(){return JSON.parse(JSON.stringify(cZ))
};this.addEcommerceItem=function(dm,di,dk,dj,dl){if(Y(dm)){cZ[dm]=[String(dm),di,dk,dj,dl]}};this.removeEcommerceItem=function(di){if(Y(di)){di=String(di);delete cZ[di]}};this.clearEcommerceCart=function(){cZ={}};this.trackEcommerceOrder=function(di,dm,dl,dk,dj,dn){bZ(di,dm,dl,dk,dj,dn)};this.trackEcommerceCartUpdate=function(di){bt(di)};this.trackRequest=function(dj,dl,dk,di){cg(function(){var dm=cq(dj,dl,di);bG(dm,bK,dk)})};this.ping=function(){this.trackRequest("ping=1",null,null,"ping")};this.disableQueueRequest=function(){bD.enabled=false};this.setRequestQueueInterval=function(di){if(di<1000){throw new Error("Request queue interval needs to be at least 1000ms")}bD.interval=di};this.queueRequest=function(di){cg(function(){var dj=cq(di);bD.push(dj)})};this.isConsentRequired=function(){return cz};this.getRememberedConsent=function(){var di=aD(bd);if(aD(cL)){if(di){bY(bd,bq,cW)}return null}if(!di||di===0){return null}return di};this.hasRememberedConsent=function(){return !!this.getRememberedConsent()
-};this.requireConsent=function(){cz=true;bC=this.hasRememberedConsent();if(!bC){bm=true}x++;b["CoreConsent"+x]={unload:function(){if(!bC){aF()}}}};this.setConsentGiven=function(dj){bC=true;bY(cL,bq,cW);var dk,di;for(dk=0;dk<cK.length;dk++){di=typeof cK[dk];if(di==="string"){bG(cK[dk],bK)}else{if(di==="object"){de(cK[dk],bK)}}}cK=[];if(!J(dj)||dj){this.setCookieConsentGiven()}};this.rememberConsentGiven=function(dk){if(dk){dk=dk*60*60*1000}else{dk=30*365*24*60*60*1000}var di=true;this.setConsentGiven(di);var dj=new Date().getTime();dd(bd,dj,dk,bq,cW,bS)};this.forgetConsentGiven=function(){var di=30*365*24*60*60*1000;bY(bd,bq,cW);dd(cL,new Date().getTime(),di,bq,cW,bS);this.forgetCookieConsentGiven();this.requireConsent()};this.isUserOptedOut=function(){return !bC};this.optUserOut=this.forgetConsentGiven;this.forgetUserOptOut=function(){var di=false;this.rememberConsentGiven(0,di)};m(function(){setTimeout(function(){bF=true},0)});t.trigger("TrackerSetup",[this])}function H(){return{push:af}
-}function c(au,at){var av={};var aq,ar;for(aq=0;aq<at.length;aq++){var ao=at[aq];av[ao]=1;for(ar=0;ar<au.length;ar++){if(au[ar]&&au[ar][0]){var ap=au[ar][0];if(ao===ap){af(au[ar]);delete au[ar];if(av[ap]>1&&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 Matomo trackers documentation: https://developer.matomo.org/guides/tracking-javascript-guide#multiple-piwik-trackers')}av[ap]++}}}}return au}var C=["addTracker","forgetCookieConsentGiven","requireCookieConsent","disableCookies","setTrackerUrl","setAPIUrl","enableCrossDomainLinking","setCrossDomainLinkingTimeout","setSessionCookieTimeout","setVisitorCookieTimeout","setCookieNamePrefix","setSecureCookie","setCookiePath","setCookieDomain","setDomains","setUserId","setVisitorId","setSiteId","alwaysUseSendBeacon","enableLinkTracking","setCookieConsentGiven","requireConsent","setConsentGiven"];function ad(aq,ap){var ao=new P(aq,ap);I.push(ao);
-_paq=c(_paq,C);for(E=0;E<_paq.length;E++){if(_paq[E]){af(_paq[E])}}_paq=new H();t.trigger("TrackerAdded",[ao]);return ao}an(S,"beforeunload",ai,false);an(S,"message",function(au){if(!au||!au.origin){return}var aw,ar,ap;var ax=d(au.origin);var at=t.getAsyncTrackers();for(ar=0;ar<at.length;ar++){ap=d(at[ar].getMatomoUrl());if(ap===ax){aw=at[ar];break}}if(!aw){return}var aq=null;try{aq=JSON.parse(au.data)}catch(av){return}if(!aq){return}function ao(aA){var aC=G.getElementsByTagName("iframe");for(ar=0;ar<aC.length;ar++){var aB=aC[ar];var ay=d(aB.src);if(aB.contentWindow&&J(aB.contentWindow.postMessage)&&ay===ax){var az=JSON.stringify(aA);aB.contentWindow.postMessage(az,"*")}}}if(J(aq.maq_initial_value)){ao({maq_opted_in:aq.maq_initial_value&&aw.hasConsent(),maq_url:aw.getMatomoUrl(),maq_optout_by_default:aw.isConsentRequired()})}else{if(J(aq.maq_opted_in)){at=t.getAsyncTrackers();for(ar=0;ar<at.length;ar++){aw=at[ar];if(aq.maq_opted_in){aw.rememberConsentGiven()}else{aw.forgetConsentGiven()
-}}ao({maq_confirm_opted_in:aw.hasConsent(),maq_url:aw.getMatomoUrl(),maq_optout_by_default:aw.isConsentRequired()})}}},false);Date.prototype.getTimeAlias=Date.prototype.getTime;t={initialized:false,JSON:S.JSON,DOM:{addEventListener:function(ar,aq,ap,ao){var at=typeof ao;if(at==="undefined"){ao=false}an(ar,aq,ap,ao)},onLoad:m,onReady:p,isNodeVisible:i,isOrWasNodeVisible:v.isNodeVisible},on:function(ap,ao){if(!y[ap]){y[ap]=[]}y[ap].push(ao)},off:function(aq,ap){if(!y[aq]){return}var ao=0;for(ao;ao<y[aq].length;ao++){if(y[aq][ao]===ap){y[aq].splice(ao,1)}}},trigger:function(aq,ar,ap){if(!y[aq]){return}var ao=0;for(ao;ao<y[aq].length;ao++){y[aq][ao].apply(ap||S,ar)}},addPlugin:function(ao,ap){b[ao]=ap},getTracker:function(ap,ao){if(!J(ao)){ao=this.getAsyncTracker().getSiteId()}if(!J(ap)){ap=this.getAsyncTracker().getTrackerUrl()}return new P(ap,ao)},getAsyncTrackers:function(){return I},addTracker:function(aq,ap){var ao;if(!I.length){ao=ad(aq,ap)}else{ao=I[0].addTracker(aq,ap)}return ao},getAsyncTracker:function(at,ar){var aq;
-if(I&&I.length&&I[0]){aq=I[0]}else{return ad(at,ar)}if(!ar&&!at){return aq}if((!J(ar)||null===ar)&&aq){ar=aq.getSiteId()}if((!J(at)||null===at)&&aq){at=aq.getTrackerUrl()}var ap,ao=0;for(ao;ao<I.length;ao++){ap=I[ao];if(ap&&String(ap.getSiteId())===String(ar)&&ap.getTrackerUrl()===at){return ap}}},retryMissedPluginCalls:function(){var ap=ah;ah=[];var ao=0;for(ao;ao<ap.length;ao++){af(ap[ao])}}};if(typeof define==="function"&&define.amd){define("piwik",[],function(){return t});define("matomo",[],function(){return t})}return t}())}
+};this.requireConsent=function(){cz=true;bC=this.hasRememberedConsent();if(!bC){bm=true}x++;b["CoreConsent"+x]={unload:function(){if(!bC){aF()}}}};this.setConsentGiven=function(dj){bC=true;bY(cL,bq,cW);var dk,di;for(dk=0;dk<cK.length;dk++){di=typeof cK[dk];if(di==="string"){bG(cK[dk],bK)}else{if(di==="object"){de(cK[dk],bK)}}}cK=[];if(!J(dj)||dj){this.setCookieConsentGiven()}};this.rememberConsentGiven=function(dk){if(dk){dk=dk*60*60*1000}else{dk=30*365*24*60*60*1000}var di=true;this.setConsentGiven(di);var dj=new Date().getTime();dd(bd,dj,dk,bq,cW,bS)};this.forgetConsentGiven=function(){var di=30*365*24*60*60*1000;bY(bd,bq,cW);dd(cL,new Date().getTime(),di,bq,cW,bS);this.forgetCookieConsentGiven();this.requireConsent()};this.isUserOptedOut=function(){return !bC};this.optUserOut=this.forgetConsentGiven;this.forgetUserOptOut=function(){this.setConsentGiven(false)};m(function(){setTimeout(function(){bF=true},0)});t.trigger("TrackerSetup",[this])}function H(){return{push:af}}function c(au,at){var av={};
+var aq,ar;for(aq=0;aq<at.length;aq++){var ao=at[aq];av[ao]=1;for(ar=0;ar<au.length;ar++){if(au[ar]&&au[ar][0]){var ap=au[ar][0];if(ao===ap){af(au[ar]);delete au[ar];if(av[ap]>1&&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 Matomo trackers documentation: https://developer.matomo.org/guides/tracking-javascript-guide#multiple-piwik-trackers')}av[ap]++}}}}return au}var C=["addTracker","forgetCookieConsentGiven","requireCookieConsent","disableCookies","setTrackerUrl","setAPIUrl","enableCrossDomainLinking","setCrossDomainLinkingTimeout","setSessionCookieTimeout","setVisitorCookieTimeout","setCookieNamePrefix","setSecureCookie","setCookiePath","setCookieDomain","setDomains","setUserId","setVisitorId","setSiteId","alwaysUseSendBeacon","enableLinkTracking","setCookieConsentGiven","requireConsent","setConsentGiven"];function ad(aq,ap){var ao=new P(aq,ap);I.push(ao);_paq=c(_paq,C);for(E=0;
+E<_paq.length;E++){if(_paq[E]){af(_paq[E])}}_paq=new H();t.trigger("TrackerAdded",[ao]);return ao}an(S,"beforeunload",ai,false);an(S,"message",function(au){if(!au||!au.origin){return}var aw,ar,ap;var ax=d(au.origin);var at=t.getAsyncTrackers();for(ar=0;ar<at.length;ar++){ap=d(at[ar].getMatomoUrl());if(ap===ax){aw=at[ar];break}}if(!aw){return}var aq=null;try{aq=JSON.parse(au.data)}catch(av){return}if(!aq){return}function ao(aA){var aC=G.getElementsByTagName("iframe");for(ar=0;ar<aC.length;ar++){var aB=aC[ar];var ay=d(aB.src);if(aB.contentWindow&&J(aB.contentWindow.postMessage)&&ay===ax){var az=JSON.stringify(aA);aB.contentWindow.postMessage(az,"*")}}}if(J(aq.maq_initial_value)){ao({maq_opted_in:aq.maq_initial_value&&aw.hasConsent(),maq_url:aw.getMatomoUrl(),maq_optout_by_default:aw.isConsentRequired()})}else{if(J(aq.maq_opted_in)){at=t.getAsyncTrackers();for(ar=0;ar<at.length;ar++){aw=at[ar];if(aq.maq_opted_in){aw.rememberConsentGiven()}else{aw.forgetConsentGiven()}}ao({maq_confirm_opted_in:aw.hasConsent(),maq_url:aw.getMatomoUrl(),maq_optout_by_default:aw.isConsentRequired()})
+}}},false);Date.prototype.getTimeAlias=Date.prototype.getTime;t={initialized:false,JSON:S.JSON,DOM:{addEventListener:function(ar,aq,ap,ao){var at=typeof ao;if(at==="undefined"){ao=false}an(ar,aq,ap,ao)},onLoad:m,onReady:p,isNodeVisible:i,isOrWasNodeVisible:v.isNodeVisible},on:function(ap,ao){if(!y[ap]){y[ap]=[]}y[ap].push(ao)},off:function(aq,ap){if(!y[aq]){return}var ao=0;for(ao;ao<y[aq].length;ao++){if(y[aq][ao]===ap){y[aq].splice(ao,1)}}},trigger:function(aq,ar,ap){if(!y[aq]){return}var ao=0;for(ao;ao<y[aq].length;ao++){y[aq][ao].apply(ap||S,ar)}},addPlugin:function(ao,ap){b[ao]=ap},getTracker:function(ap,ao){if(!J(ao)){ao=this.getAsyncTracker().getSiteId()}if(!J(ap)){ap=this.getAsyncTracker().getTrackerUrl()}return new P(ap,ao)},getAsyncTrackers:function(){return I},addTracker:function(aq,ap){var ao;if(!I.length){ao=ad(aq,ap)}else{ao=I[0].addTracker(aq,ap)}return ao},getAsyncTracker:function(at,ar){var aq;if(I&&I.length&&I[0]){aq=I[0]}else{return ad(at,ar)}if(!ar&&!at){return aq}if((!J(ar)||null===ar)&&aq){ar=aq.getSiteId()
+}if((!J(at)||null===at)&&aq){at=aq.getTrackerUrl()}var ap,ao=0;for(ao;ao<I.length;ao++){ap=I[ao];if(ap&&String(ap.getSiteId())===String(ar)&&ap.getTrackerUrl()===at){return ap}}},retryMissedPluginCalls:function(){var ap=ah;ah=[];var ao=0;for(ao;ao<ap.length;ao++){af(ap[ao])}}};if(typeof define==="function"&&define.amd){define("piwik",[],function(){return t});define("matomo",[],function(){return t})}return t}())}
/*!!! pluginTrackerHook */
-(function(){function b(){if("object"!==typeof _paq){return false}var c=typeof _paq.length;if("undefined"===c){return false}return !!_paq.length}if(window&&"object"===typeof window.matomoPluginAsyncInit&&window.matomoPluginAsyncInit.length){var a=0;for(a;a<window.matomoPluginAsyncInit.length;a++){if(typeof window.matomoPluginAsyncInit[a]==="function"){window.matomoPluginAsyncInit[a]()}}}if(window&&window.piwikAsyncInit){window.piwikAsyncInit()
-}if(window&&window.matomoAsyncInit){window.matomoAsyncInit()}if(!window.Matomo.getAsyncTrackers().length){if(b()){window.Matomo.addTracker()}else{_paq={push:function(c){var d=typeof console;if(d!=="undefined"&&console&&console.error){console.error("_paq.push() was used but Matomo tracker was not initialized before the matomo.js file was loaded. Make sure to configure the tracker via _paq.push before loading matomo.js. Alternatively, you can create a tracker via Matomo.addTracker() manually and then use _paq.push but it may not fully work as tracker methods may not be executed in the correct order.",c)}}}}}window.Matomo.trigger("MatomoInitialized",[]);window.Matomo.initialized=true}());(function(){var a=(typeof AnalyticsTracker);if(a==="undefined"){AnalyticsTracker=window.Matomo}}());if(typeof piwik_log!=="function"){piwik_log=function(c,e,g,f){function b(h){try{if(window["piwik_"+h]){return window["piwik_"+h]}}catch(i){}return}var d,a=window.Matomo.getTracker(g,e);a.setDocumentTitle(c);
-a.setCustomData(f);d=b("tracker_pause");if(d){a.setLinkTrackingTimer(d)}d=b("download_extensions");if(d){a.setDownloadExtensions(d)}d=b("hosts_alias");if(d){a.setDomains(d)}d=b("ignore_classes");if(d){a.setIgnoreClasses(d)}a.trackPageView();if(b("install_tracker")){piwik_track=function(i,j,k,h){a.setSiteId(j);a.setTrackerUrl(k);a.trackLink(i,h)};a.enableLinkTracking()}}}
+(function(){function b(){if("object"!==typeof _paq){return false}var c=typeof _paq.length;if("undefined"===c){return false}return !!_paq.length}if(window&&"object"===typeof window.matomoPluginAsyncInit&&window.matomoPluginAsyncInit.length){var a=0;for(a;a<window.matomoPluginAsyncInit.length;a++){if(typeof window.matomoPluginAsyncInit[a]==="function"){window.matomoPluginAsyncInit[a]()}}}if(window&&window.piwikAsyncInit){window.piwikAsyncInit()}if(window&&window.matomoAsyncInit){window.matomoAsyncInit()}if(!window.Matomo.getAsyncTrackers().length){if(b()){window.Matomo.addTracker()
+}else{_paq={push:function(c){var d=typeof console;if(d!=="undefined"&&console&&console.error){console.error("_paq.push() was used but Matomo tracker was not initialized before the matomo.js file was loaded. Make sure to configure the tracker via _paq.push before loading matomo.js. Alternatively, you can create a tracker via Matomo.addTracker() manually and then use _paq.push but it may not fully work as tracker methods may not be executed in the correct order.",c)}}}}}window.Matomo.trigger("MatomoInitialized",[]);window.Matomo.initialized=true}());(function(){var a=(typeof AnalyticsTracker);if(a==="undefined"){AnalyticsTracker=window.Matomo}}());if(typeof piwik_log!=="function"){piwik_log=function(c,e,g,f){function b(h){try{if(window["piwik_"+h]){return window["piwik_"+h]}}catch(i){}return}var d,a=window.Matomo.getTracker(g,e);a.setDocumentTitle(c);a.setCustomData(f);d=b("tracker_pause");if(d){a.setLinkTrackingTimer(d)}d=b("download_extensions");if(d){a.setDownloadExtensions(d)}d=b("hosts_alias");
+if(d){a.setDomains(d)}d=b("ignore_classes");if(d){a.setIgnoreClasses(d)}a.trackPageView();if(b("install_tracker")){piwik_track=function(i,j,k,h){a.setSiteId(j);a.setTrackerUrl(k);a.trackLink(i,h)};a.enableLinkTracking()}}}
/*!! @license-end */; \ No newline at end of file