| |
| |
| |
| |
| |
| |
|
|
| if ('undefined' === (typeof piwikUsageTracking) || !piwikUsageTracking) { |
| piwikUsageTracking = {targets: [], visitorCustomVariables: [], trackingDomain: '', exampleDomain: ''}; |
| } |
|
|
| piwikUsageTracking.trackers = []; |
| piwikUsageTracking.initialized = false; |
| piwikUsageTracking.createTrackersIfNeeded = function () |
| { |
| if (piwikUsageTracking.initialized) { |
| return; |
| } |
|
|
| piwikUsageTracking.trackers = []; |
| piwikUsageTracking.initialized = true; |
|
|
| if (!piwikUsageTracking.targets || !piwikUsageTracking.targets.length) { |
| return; |
| } |
|
|
| var isHttps = location.protocol == "https:"; |
|
|
| $.each(piwikUsageTracking.targets, function (index, target) { |
| if ('undefined' === (typeof Piwik)) { |
| |
| return; |
| } |
|
|
| if (isHttps && 0 === target.url.indexOf('http:')) { |
| target.url = 'https://' + target.url.substring(location.protocol.length); |
| } |
|
|
| var tracker = Piwik.getTracker(target.url, target.idSite); |
| tracker.isAnon = target.useAnonymization; |
| |
| |
| |
|
|
| if (!target.useAnonymization) { |
| tracker.setUserId(piwikUsageTracking.userId); |
| } |
|
|
| anonymizeReferrer(tracker); |
| anonymizeTitle(tracker); |
| anonymizeUrl(tracker); |
|
|
|
|
| piwikUsageTracking.trackers.push(tracker); |
| }); |
|
|
| |
| $.each(piwikUsageTracking.visitorCustomVariables, function (j, customVar) { |
| _paq.push(['setCustomVariable', customVar.id, customVar.name, customVar.value]); |
| }); |
|
|
| trackPageView(); |
|
|
| function ucfirst(text) |
| { |
| var firstLetter = ('' + text).charAt(0).toUpperCase(); |
| return firstLetter + text.substr(1); |
| } |
|
|
| function createUrlAnonymizer() |
| { |
| return new UrlAnonymizer(location.href); |
| } |
|
|
| function anonymizeTitle(tracker) |
| { |
| if (!tracker.isAnon) return; |
|
|
| var urlAnonymizer = createUrlAnonymizer(); |
| var module = urlAnonymizer.getTopLevelId() |
| var action = urlAnonymizer.getSubLevelId(); |
|
|
| var title = 'Matomo Web Analytics'; |
|
|
| if (module) { |
| title = ucfirst(module); |
|
|
| if (action) { |
| title += ' ' + ucfirst(action); |
| } |
| } else if ($('#login_form').length) { |
| |
| title = 'Login'; |
| } |
|
|
| tracker.setDocumentTitle(title); |
| } |
|
|
| function anonymizeReferrer(tracker) |
| { |
| if (!tracker.isAnon) return; |
|
|
| tracker.setReferrerUrl(''); |
| } |
|
|
| function anonymizeUrl(tracker) |
| { |
| if (!tracker.isAnon) return; |
|
|
| var urlAnonymizer = createUrlAnonymizer(); |
| var url = urlAnonymizer.getAnonymizedUrl(); |
| url = urlAnonymizer.makeUrlHierarchical(url); |
|
|
| tracker.setCustomUrl(url); |
| } |
|
|
| function trackPageView() |
| { |
| var urlAnonymizer = createUrlAnonymizer(); |
| var popover = urlAnonymizer.getPopoverNameFromUrl(); |
|
|
| (piwikUsageTracking.trackers || []).forEach(anonymizeTitle); |
| (piwikUsageTracking.trackers || []).forEach(anonymizeUrl); |
|
|
| if (popover) { |
| _paq.push(['setCustomVariable', 1, 'popover', popover, 'page']); |
| } |
|
|
| _paq.push(['trackPageView']); |
| } |
|
|
| $(function () { |
| window.CoreHome.Matomo.on('matomoPageChange', function () { |
| trackPageView(); |
| }); |
| }); |
| }; |
|
|
| var _paq = { |
| push: function() { |
| piwikUsageTracking.createTrackersIfNeeded(); |
|
|
| |
| $.each(arguments, function (i, parameterArray) { |
| var method = parameterArray.shift(); |
|
|
| $.each(piwikUsageTracking.trackers, function (index, tracker) { |
| |
| if (typeof method === 'string' && tracker[method]) { |
| tracker[method].apply(tracker, parameterArray); |
| } else if (typeof method === 'function') { |
| method.apply(tracker, parameterArray); |
| } |
| }); |
| }); |
| } |
| }; |
|
|
| window.addEventListener('DOMContentLoaded', function () { |
| if (piwikUsageTracking && piwikUsageTracking.createTrackersIfNeeded) { |
| piwikUsageTracking.createTrackersIfNeeded(); |
| } |
| }); |
|
|