diff --git a/tarteaucitron.js b/tarteaucitron.js index 82f61a8..202c94e 100644 --- a/tarteaucitron.js +++ b/tarteaucitron.js @@ -29,9 +29,7 @@ var tarteaucitron = { var cdn = tarteaucitron.cdn, language = tarteaucitron.getLanguage(), pathToLang = cdn + 'lang/tarteaucitron.' + language + '.js', - timestamp = new Date().getTime(), pathToServices = cdn + 'tarteaucitron.services.js', - parametersCom = '?uuid=' + tarteaucitron.uuid + '&c=' + encodeURIComponent(tarteaucitron.cookie.read()) + '&_' + timestamp, linkElement = document.createElement('link'), defaults = { "grayArea": false, @@ -42,11 +40,6 @@ var tarteaucitron = { "showAlertSmall": true }; - // is the commercial version ? - if (tarteaucitron.uuid !== '' && tarteaucitron.uuid !== undefined) { - pathToServices = pathToServices + parametersCom; - } - // Step 0: get params if (params !== undefined) { tarteaucitron.extend(defaults, params); @@ -107,18 +100,8 @@ var tarteaucitron = { return 0; }); - // if bypass: load all services and exit - // for example, set tarteaucitron.user.bypass = true; - // if the user is not in europa - if (tarteaucitron.user.bypass === true) { - for (index = 0; index < tarteaucitron.job.length; index += 1) { - service = s[tarteaucitron.job[index]]; - service.js(); - } - return; - } - // Step 3: prepare the html + html += '
'; html += '
'; html += '
'; html += '
'; @@ -241,6 +224,12 @@ var tarteaucitron = { isAllowed = (cookie.indexOf(service.key + '=true') >= 0) ? true : false; isResponded = (cookie.indexOf(service.key) >= 0) ? true : false; + // allow by default for non EU + if (isResponded === false && tarteaucitron.user.bypass === true) { + isAllowed = true; + tarteaucitron.cookie.create(service.key, true); + } + if ((!isResponded && (isAutostart || isNavigating) && !defaults.highPrivacy) || isAllowed) { if (!isAllowed) { tarteaucitron.cookie.create(service.key, true); @@ -352,7 +341,7 @@ var tarteaucitron = { tarteaucitron.userInterface.css(key + 'Allowed', 'backgroundColor', gray); tarteaucitron.userInterface.css(key + 'Denied', 'backgroundColor', redDark); } - + // check if all services are allowed for (index = 0; index < sum; index += 1) { if (tarteaucitron.state[tarteaucitron.job[index]] === false) { @@ -421,6 +410,10 @@ var tarteaucitron = { regex = new RegExp("!" + key + "=(true|false)", "g"), cookie = tarteaucitron.cookie.read().replace(regex, ""), value = 'tarteaucitron=' + cookie + '!' + key + '=' + status; + + if (tarteaucitron.cookie.read().indexOf(key + '=' + status) === -1) { + tarteaucitron.pro('!' + key + '=' + status); + } d.setTime(expireTime); document.cookie = value + '; expires=' + d.toGMTString() + '; path=/;'; @@ -559,5 +552,33 @@ var tarteaucitron = { a[prop] = b[prop]; } } + }, + "proTemp": '', + "proTimer": function () { + "use strict"; + setTimeout(tarteaucitron.proPing, 1000); + }, + "pro": function (list) { + "use strict"; + tarteaucitron.proTemp += list; + clearTimeout(tarteaucitron.proTimer); + tarteaucitron.proTimer = setTimeout(tarteaucitron.proPing, 2500); + }, + "proPing": function () { + "use strict"; + if (tarteaucitron.uuid !== '' && tarteaucitron.uuid !== undefined && tarteaucitron.proTemp !== '') { + var div = document.getElementById('tarteaucitronPremium'), + timestamp = new Date().getTime(), + url = '//opt-out.ferank.eu/premium.php?'; + + url += 'domain=' + tarteaucitron.domain + '&'; + url += 'uuid=' + tarteaucitron.uuid + '&'; + url += 'c=' + encodeURIComponent(tarteaucitron.proTemp) + '&'; + url += '_' + timestamp; + + div.innerHTML = ''; + + tarteaucitron.proTemp = ''; + } } }; \ No newline at end of file