summaryrefslogtreecommitdiffstats
path: root/client
diff options
context:
space:
mode:
authorLauri Ojansivu <x@xet7.org>2018-07-27 21:22:23 +0300
committerGitHub <noreply@github.com>2018-07-27 21:22:23 +0300
commit63e3f6907ae100decc87aa32b9684603150bc21e (patch)
tree6a8ca25d6557f00246bd1a18318c64de2dd77e10 /client
parent2e62524d5e0920351e557ea5ae0fc5c14d425b14 (diff)
parentec59af3777f5ac88ee6ad44a502c0de5d35213e2 (diff)
downloadwekan-63e3f6907ae100decc87aa32b9684603150bc21e.tar.gz
wekan-63e3f6907ae100decc87aa32b9684603150bc21e.tar.bz2
wekan-63e3f6907ae100decc87aa32b9684603150bc21e.zip
Merge pull request #1806 from Akuket/devel
Integration of matomo with env vars
Diffstat (limited to 'client')
-rw-r--r--client/lib/utils.js45
1 files changed, 45 insertions, 0 deletions
diff --git a/client/lib/utils.js b/client/lib/utils.js
index 6b8e3524..5349e500 100644
--- a/client/lib/utils.js
+++ b/client/lib/utils.js
@@ -144,6 +144,51 @@ Utils = {
}
});
},
+
+ setMatomo(data){
+ window._paq = window._paq || [];
+ window._paq.push(['setDoNotTrack', data.doNotTrack]);
+ if (data.withUserName){
+ window._paq.push(['setUserId', Meteor.user().username]);
+ }
+ window._paq.push(['trackPageView']);
+ window._paq.push(['enableLinkTracking']);
+
+ (function() {
+ window._paq.push(['setTrackerUrl', `${data.address}piwik.php`]);
+ window._paq.push(['setSiteId', data.siteId]);
+
+ const script = document.createElement('script');
+ Object.assign(script, {
+ id: 'scriptMatomo',
+ type: 'text/javascript',
+ async: 'true',
+ defer: 'true',
+ src: `${data.address}piwik.js`,
+ });
+
+ const s = document.getElementsByTagName('script')[0];
+ s.parentNode.insertBefore(script, s);
+ })();
+
+ Session.set('matomo', true);
+ },
+
+ manageMatomo() {
+ const matomo = Session.get('matomo');
+ if (matomo === undefined){
+ Meteor.call('getMatomoConf', (err, data) => {
+ if (err && err.error[0] === 'var-not-exist'){
+ Session.set('matomo', false); // siteId || address server not defined
+ }
+ if (!err){
+ Utils.setMatomo(data);
+ }
+ });
+ } else if (matomo) {
+ window._paq.push(['trackPageView']);
+ }
+ },
};
// A simple tracker dependency that we invalidate every time the window is