Browse Source

MAJ de la lib TAC

pull/26/head
Paidge 8 months ago
parent
commit
e928506c56
  1. 22
      lib/tarteaucitron/css/tarteaucitron.css
  2. 86
      lib/tarteaucitron/lang/tarteaucitron.ar.js
  3. 85
      lib/tarteaucitron/lang/tarteaucitron.et.js
  4. 12
      lib/tarteaucitron/lang/tarteaucitron.pt.js
  5. 85
      lib/tarteaucitron/lang/tarteaucitron.uk.js
  6. 94
      lib/tarteaucitron/tarteaucitron.js
  7. 707
      lib/tarteaucitron/tarteaucitron.services.js

22
lib/tarteaucitron/css/tarteaucitron.css

@ -1,3 +1,15 @@
.tac_visually-hidden {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap; /* added line */
border: 0;
}
div#tarteaucitronAlertBig:focus {outline: 0;}
.tarteaucitron-modal-open{
@ -526,7 +538,7 @@ div#tarteaucitronServices {
#tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow,
#tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny,
.tac_activate .tarteaucitronAllow {
background: gray;
background: #555;
border-radius: 4px;
color: #fff;
cursor: pointer;
@ -548,13 +560,18 @@ div#tarteaucitronServices {
opacity: 1;
}
#tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsAllowed .tarteaucitronAllow {
#tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsAllowed .tarteaucitronAllow,
#tarteaucitron #tarteaucitronServices #tarteaucitronServices_mandatory .tarteaucitronLine button.tarteaucitronAllow {
background-color: #1B870B;
}
#tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsDenied .tarteaucitronDeny {
background-color: #9C1A1A;
}
#tarteaucitron #tarteaucitronServices #tarteaucitronServices_mandatory .tarteaucitronLine button.tarteaucitronAllow{
opacity: 0.4;
}
#tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronName .tarteaucitronListCookies {
color: #333;
font-size: 12px;
@ -923,6 +940,7 @@ div.amazon_product {
height:240px;
width:120px;
}
.tarteaucitronIsAllowed .tarteaucitronDeny {
opacity: 0.4!important;
}.tarteaucitronIsDenied .tarteaucitronAllow {

86
lib/tarteaucitron/lang/tarteaucitron.ar.js

@ -0,0 +1,86 @@
/*global tarteaucitron */
tarteaucitron.lang = {
"middleBarHead": "☝ 🍪",
"adblock": "مرحبا! يلعب هذا الموقع الكتروني على الشفافية ويمنحك اختيار خدمات الطرف الثالث للتفعيل.",
"adblock_call": "يرجى إلغاء تنشيط adblocker لبدء التخصيص.",
"reload": "أعد تحميل الصفحة",
"alertBigScroll": "من خلال الاستمرار في العرض",
"alertBigClick": "من خلال إستمرارك بالتصفُّح على هذا الموقع",
"alertBig": "أنت توافق استخدام خدمات الطرف الثالث التي يمكنها تثبيت ملفات تعريف الارتباط",
"alertBigPrivacy": "يستخدم هذا الموقع ملفات تعريف الارتباط ويمنحك التحكم في تلك التي تريد تنشيطها",
"alertSmall": "إدارة الخدمات",
"acceptAll": "تقبل كل شيء",
"personalize": "تخصيص",
"close": "اغلاق",
"privacyUrl": "سياسة الخصوصية",
"all": "التفضيلات لجميع الخدمات",
"info": "حماية خصوصيتك",
"disclaimer": "من خلال تفويض هذه خدمات الطرف الثالث ، فإنك تقبل إيداع وقراءة ملفات تعريف الارتباط واستخدام تقنيات المراقبة اللازمة لعملها بشكل صحيح",
"allow": "سماح",
"deny": "منع",
"noCookie": "لا تقوم هذه الخدمة بإيداع أي ملفات تعريف ارتباط",
"useCookie": "يمكن لهذه الخدمة الإيداع",
"useCookieCurrent": "قدَّمت هذه الخدمة",
"useNoCookie": "لم تودع هذه الخدمة أي ملفات تعريف ارتباط.",
"more": "اقرأ المزيد",
"source": "شاهد الموقع الرسمي",
"credit": "إدارة ملفات تعريف الارتباط من قبل tarteaucitron.js",
"noServices": "لا يستخدم هذا الموقع أي ملفات تعريف ارتباط تتطلب موافقتك.",
"toggleInfoBox": "إظهار/إخفاء معلومات حول تخزين ملفات تعريف الارتباط",
"title": "لوحة إدارة ملفات تعريف الارتباط",
"cookieDetail": "تفاصيل ملفات تعريف الارتباط",
"ourSite": "على موقعنا على الانترنت",
"modalWindow": "(نافذة شكلية)",
"newWindow": "(نافذة جديدة)",
"allowAll": "قبول كل شيء",
"denyAll": "رفض كل شيء",
"icon": "ملفات تعريف الارتباط",
"fallback": "معطل.",
"allowed": "مسموح",
"disallowed": "ممنوع",
"ads": {
"title": "وكالات الإعلان",
"details": "تجعل وكالات الإعلان من الممكن تحقيق إيرادات من خلال تسويق المساحة الإعلانية على الموقع"
},
"analytic": {
"title": "قياس الجمهور",
"details": "تسمح خدمات قياس الجمهور بانشاء إحصاءآت حول حركة المرور المفيذة لتحسين الموقع"
},
"social": {
"title": "الشبكات الاجتماعية",
"details": "تعمل الشبكات الاجتماعية على تحسين سهولة استخدام الموقع وتساعد في الترويج له من خلال المشاركة."
},
"video": {
"title": "الفيديوهات",
"details": "تعمل خدمات مشاركة الفيديو على إثراء الموقع بمحتوى الوسائط المتعددة وزيادة ظهوره."
},
"comment": {
"title": "تعليقات",
"details": "يقوم مديري التعليق بتسهيل إيداع تعليقاتك ومحاربة البريد المزعج."
},
"support": {
"title": "الدعم",
"details": "تسمح لك خدمات الدعم بالتواصل مع فريق الموقع ومساعدة تحسينه."
},
"api": {
"title": "واجهات برمجة التطبيقات",
"details": "تسمح لك واجهات برمجة التطبيقات بتحميل البرامج النصية: تحديد الموقع الجغرافي ، ومحركات البحث ، والترجمات ، ..."
},
"other": {
"title": "آخر",
"details": "خدمات لعرض محتوى الويب"
},
"mandatoryTitle": "ملفات تعريف الارتباط الإلزامية",
"mandatoryText": "يستخدم هذا الموقع ملفات تعريف الارتباط الضرورية لعمله بشكل صحيح. لا يمكن تعطيلها"
};

85
lib/tarteaucitron/lang/tarteaucitron.et.js

@ -0,0 +1,85 @@
/*global tarteaucitron */
tarteaucitron.lang = {
"middleBarHead": "☝ 🍪",
"adblock": "Tere! See lehekülg on läbipaistev ja võimaldab Teil valida kolmandate osapoolte teenuseid, mida soovite lubada.",
"adblock_call": "Kohandamise alustamiseks palun keelake oma reklaamiblokeerija.",
"reload": "Värskendage lehekülge",
"alertBigScroll": "Kerimist jätkates,",
"alertBigClick": "Kui jätkate selle veebisaidi sirvimist,",
"alertBig": "lubate kõik kolmandate osapoolte teenused",
"alertBigPrivacy": "See lehekülg kasutab küpsiseid ja annab teile kontrolli selle üle, mida soovite aktiveerida",
"alertSmall": "Teenuste haldamine",
"personalize": "Isikupärasta",
"acceptAll": "OK, nõustu kõigiga",
"close": "Sulge",
"privacyUrl": "Privaatsuspoliitika",
"all": "Eelistus kõikidele teenustele",
"info": "Teie privaatsuse kaitsmine",
"disclaimer": "Kolmandate osapoolte teenuste lubamisel nõustute nende küpsistega ja nende nõuetekohaseks toimimiseks vajalike jälgimistehnoloogiate kasutamisega.",
"allow": "Luba",
"deny": "Keeldu",
"noCookie": "See teenus ei kasuta küpsiseid.",
"useCookie": "Seda teenust saab installida",
"useCookieCurrent": "See teenus on installitud",
"useNoCookie": "See teenus ei ole installinud ühtegi küpsist.",
"more": "Loe rohkem",
"source": "Vaadake ametlikku veebilehekülge",
"credit": "Küpsiste haldur tarteaucitron.js",
"noServices": "See veebisait ei kasuta küpsiseid, mis nõuavad teie nõusolekut.",
"toggleInfoBox": "Kuva/peida teave küpsiste salvestamise kohta",
"title": "Küpsiste halduspaneel",
"cookieDetail": "Küpsise üksikasjad",
"ourSite": "meie leheküljel",
"modalWindow": "(modaalne aken)",
"newWindow": "(uus aken)",
"allowAll": "Luba kõik küpsised",
"denyAll": "Keela kõik küpsised",
"icon": "Küpsised",
"fallback": "on keelatud.",
"allowed": "lubatud",
"disallowed": "keelatud",
"ads": {
"title": "Reklaamvõrgustik",
"details": "Reklaamivõrgustikud saavad veebileheküljel reklaamipinda müües tulu teenida."
},
"analytic": {
"title": "Vaatajaskonna mõõtmine",
"details": "Vaatajaskonna mõõtmise teenuseid kasutati lehekülje täiustamiseks kasuliku külastatavuse statistika saamiseks."
},
"social": {
"title": "Sotsiaalvõrgustikud",
"details": "Sotsiaalvõrgustikud võivad parandada lehekülje kasutatavust ja aidata seda jagamiste kaudu reklaamida."
},
"video": {
"title": "Videod",
"details": "Videojagamisteenused aitavad leheküljele lisada rikasmeediat ja suurendada selle nähtavust."
},
"comment": {
"title": "Kommentaarid",
"details": "Kommentaarihaldurid hõlbustavad kommentaaride esitamist ja võitlevad rämpsposti vastu."
},
"support": {
"title": "Tugi",
"details": "Tugiteenused võimaldavad teil lehekülje meeskonnaga ühendust võtta ja aidata seda täiustada."
},
"api": {
"title": "API-d",
"details": "API-sid kasutatakse skriptide laadimiseks: geolokatsiooniks, otsingumootorites, tõlgetes, ..."
},
"other": {
"title": "Muu",
"details": "Teenused veebisisu kuvamiseks."
},
"mandatoryTitle": "Kohustuslikud küpsised",
"mandatoryText": "See lehekülg kasutab nõuetekohaseks toimimiseks vajalikke küpsiseid, mida ei saa deaktiveerida."
};

12
lib/tarteaucitron/lang/tarteaucitron.pt.js

@ -1,7 +1,7 @@
/*global tarteaucitron */
tarteaucitron.lang = {
"middleBarHead": "☝ 🍪",
"adblock": "Olá! Em uma ação de transparência, este site lhe dá a opção de quais serviços de terceiros deseje ativar.",
"adblock": "Olá! Em uma ação de transparência, este site permite que você escolha quais serviços de terceiros ativar.",
"adblock_call": "Por favor, desative seu bloqueador de publicidades para poder personalizar.",
"reload": "Atualizar esta página",
@ -37,7 +37,7 @@ tarteaucitron.lang = {
"modalWindow": "(janela modal)",
"newWindow": "(janela nova)",
"allowAll": "Permite todos os cookies",
"denyAll": "Proibe todos cookies",
"denyAll": "Proíbe todos cookies",
"icon": "Cookies",
@ -46,7 +46,7 @@ tarteaucitron.lang = {
"disallowed": "não permitido",
"ads": {
"title": "Rede de anúncios",
"title": "Redes de anúncios",
"details": "As redes de anúncios podem gerar receitas com a venda de espaço publicitário no site."
},
"analytic": {
@ -54,8 +54,8 @@ tarteaucitron.lang = {
"details": "Serviços de medição de audiência usados para gerar estatísticas no intuito de melhorar o site."
},
"social": {
"title": "Rede sociais",
"details": "Rede sociais podem ameliorar o utilização do site e ajudar a promove-lo via compartilhamentos."
"title": "Redes sociais",
"details": "Redes sociais podem melhorar a utilização do site e ajudar a promovê-lo via compartilhamentos."
},
"video": {
"title": "Vídeos",
@ -71,7 +71,7 @@ tarteaucitron.lang = {
},
"api": {
"title": "APIs",
"details": "APIs são usadas para carregar scripts: geolocalização, motores de pesquisa, traduções, ..."
"details": "APIs são usadas para carregar scripts: geolocalização, motores de pesquisa, traduções..."
},
"other": {
"title": "De outros",

85
lib/tarteaucitron/lang/tarteaucitron.uk.js

@ -0,0 +1,85 @@
/*global tarteaucitron */
tarteaucitron.lang = {
"middleBarHead": "☝ 🍪",
"adblock": "Добрий день! Цей сайт нічого від вас не приховує і дає вам можливість обрати, які сторонні послуги увімкнути.",
"adblock_call": "Будь ласка вимкніть ваш блокувач реклами, щоб перейти до налаштувань.",
"reload": "Перезавантажити сторінку",
"alertBigScroll": "Продовжуючи прокрутку,",
"alertBigClick": "Продовжуючи навігацію,",
"alertBig": "ви погоджуєтесь на використання сторонніх послуг, які можуть встановлювати кукі",
"alertBigPrivacy": "Цей сайт використовує кукі і дає вам можливість обрати ті, які ви хочете увімкнути",
"alertSmall": "Керування послугами",
"acceptAll": "Прийняти все",
"personalize": "Налаштувати",
"close": "Закрити",
"privacyUrl": "Політика конфіденційності",
"all": "Налаштування всіх послуг",
"info": "Захист вашого особистого життя",
"disclaimer": "Дозволяючи ці сторонні послуги, ви даєте згоду на збереження і завантаження кукі, а також на використання засобів відстеження, необхідних для їхньої функціональності.",
"allow": "Дозволити",
"deny": "Заборонити",
"noCookie": "Ця послуга не зберігає жодного кукі.",
"useCookie": "Ця послуга може зберегти",
"useCookieCurrent": "Ця послуга зберегла",
"useNoCookie": "Ця послуга не зберегла жодного кукі.",
"more": "Дізнатись більше",
"source": "Перейти на офіційний сайт",
"credit": "Керування кукі від tarteaucitron.js",
"noServices": "Цей сайт не використовує жодного кукі, який потребував би вашої згоди.",
"toggleInfoBox": "Показати/приховати інформацію про збереження кукі",
"title": "Панель керування кукі",
"cookieDetail": "Подробиці про кукі",
"ourSite": "на нашому сайті",
"modalWindow": "(модальне вікно)",
"newWindow": "(нове вікно)",
"allowAll": "Все прийняти",
"denyAll": "Все відхилити",
"icon": "Кукі",
"fallback": "вимкнено.",
"allowed": "дозволено",
"disallowed": "заборонено",
"ads": {
"title": "Рекламні мережі",
"details": "Рекламні мережі дають змогу отримувати дохід, монетизуючи рекламні блоки на сайті."
},
"analytic": {
"title": "Заміри аудиторії",
"details": "Послуги з замірів аудиторії дозволяють генерувати статистику відвідуваності, корисну для покращення сайту."
},
"social": {
"title": "Соціальні мережі",
"details": "Соціальні мережі дозволяють зробити сайт зручнішим і допомагають просувати його через розповсюдження посилань."
},
"video": {
"title": "Відеоролики",
"details": "Відеохостинги дають змогу збагатити сайт мультімедійним контентом і сприяють його видимості."
},
"comment": {
"title": "Коментарі",
"details": "Менеджери коментарів полегшують додавання ваших коментарів і захищають від спаму."
},
"support": {
"title": "Підтримка",
"details": "Послуги підтримки дають вам можливість зв'язатись з адміністрацією сайту і допомогти покращити його."
},
"api": {
"title": "API",
"details": "API дозволяють завантажувати скрипти: геолокація, пошукові системи, переклади..."
},
"other": {
"title": "Інші",
"details": "Послуги для відображення веб-контенту."
},
"mandatoryTitle": "Обов'язкові кукі",
"mandatoryText": "Цей сайт використовує кукі, які є необхідніми для забезпечення його функціональності. Вимкнути їх неможливо."
};

94
lib/tarteaucitron/tarteaucitron.js

@ -17,7 +17,7 @@ var scripts = document.getElementsByTagName('script'),
var tarteaucitron = {
"version": 20210509,
"version": 20220322,
"cdn": cdn,
"user": {},
"lang": {},
@ -221,7 +221,8 @@ var tarteaucitron = {
"useExternalJs": false,
"mandatory": true,
"closePopup": false,
"groupServices": false
"groupServices": false,
"serviceDefaultState": 'wait',
},
params = tarteaucitron.parameters;
@ -310,6 +311,7 @@ var tarteaucitron = {
});
// Step 3: prepare the html
html += '<div role="heading" aria-level="1" id="tac_title" class="tac_visually-hidden">' + tarteaucitron.lang.title + '</div>';
html += '<div id="tarteaucitronPremium"></div>';
if (tarteaucitron.reloadThePage) {
html += '<button type="button" id="tarteaucitronBack" aria-label="' + tarteaucitron.lang.close + ' (' + tarteaucitron.lang.reload + ')" title="' + tarteaucitron.lang.close + ' (' + tarteaucitron.lang.reload + ')"></button>';
@ -341,10 +343,10 @@ var tarteaucitron = {
html += ' </div>';
html += ' <div class="tarteaucitronAsk" id="tarteaucitronScrollbarAdjust">';
html += ' <button type="button" id="tarteaucitronAllAllowed" class="tarteaucitronAllow">';
html += ' <span class="tarteaucitronCheck"></span> ' + tarteaucitron.lang.allowAll;
html += ' <span class="tarteaucitronCheck" aria-hidden="true"></span> ' + tarteaucitron.lang.allowAll;
html += ' </button> ';
html += ' <button type="button" id="tarteaucitronAllDenied" class="tarteaucitronDeny">';
html += ' <span class="tarteaucitronCross"></span> ' + tarteaucitron.lang.denyAll;
html += ' <span class="tarteaucitronCross" aria-hidden="true"></span> ' + tarteaucitron.lang.denyAll;
html += ' </button>';
html += ' </div>';
html += ' </div>';
@ -355,20 +357,20 @@ var tarteaucitron = {
if (tarteaucitron.parameters.mandatory == true) {
html += '<li id="tarteaucitronServicesTitle_mandatory">';
html += '<div class="tarteaucitronTitle">';
html += ' <button type="button" tabindex="-1"><span class="tarteaucitronPlus"></span> ' + tarteaucitron.lang.mandatoryTitle + '</button>';
html += ' <button type="button" tabindex="-1"><span class="tarteaucitronPlus" aria-hidden="true"></span> ' + tarteaucitron.lang.mandatoryTitle + '</button>';
html += '</div>';
html += '<ul id="tarteaucitronServices_mandatory">';
html += '<li class="tarteaucitronLine">';
html += ' <div class="tarteaucitronName">';
html += ' <span class="tarteaucitronH3" role="heading" aria-level="3">' + tarteaucitron.lang.mandatoryText + '</span>';
html += ' <span class="tarteaucitronListCookies"></span><br/>';
html += ' <span class="tarteaucitronListCookies" aria-hidden="true"></span><br/>';
html += ' </div>';
html += ' <div class="tarteaucitronAsk">';
html += ' <button type="button" class="tarteaucitronAllow" tabindex="-1" disabled>';
html += ' <span class="tarteaucitronCheck"></span> ' + tarteaucitron.lang.allow;
html += ' <span class="tarteaucitronCheck" aria-hidden="true"></span> ' + tarteaucitron.lang.allow;
html += ' </button> ';
html += ' <button type="button" class="tarteaucitronDeny" style="visibility:hidden" tabindex="-1">';
html += ' <span class="tarteaucitronCross"></span> ' + tarteaucitron.lang.deny;
html += ' <span class="tarteaucitronCross" aria-hidden="true"></span> ' + tarteaucitron.lang.deny;
html += ' </button> ';
html += ' </div>';
html += '</li>';
@ -378,7 +380,7 @@ var tarteaucitron = {
for (i = 0; i < cat.length; i += 1) {
html += ' <li id="tarteaucitronServicesTitle_' + cat[i] + '" class="tarteaucitronHidden">';
html += ' <div class="tarteaucitronTitle">';
html += ' <button type="button" class="catToggleBtn" data-cat="tarteaucitronDetails' + cat[i] + '"><span class="tarteaucitronPlus"></span> ' + tarteaucitron.lang[cat[i]].title + '</button>';
html += ' <button type="button" class="catToggleBtn" data-cat="tarteaucitronDetails' + cat[i] + '"><span class="tarteaucitronPlus" aria-hidden="true"></span> ' + tarteaucitron.lang[cat[i]].title + '</button>';
html += ' </div>';
html += ' <div id="tarteaucitronDetails' + cat[i] + '" class="tarteaucitronDetails tarteaucitronInfoBox">';
html += ' ' + tarteaucitron.lang[cat[i]].details;
@ -433,7 +435,7 @@ var tarteaucitron = {
html += ' </span>';
//html += ' <span class="tarteaucitronAlertBigBtnWrapper">';
html += ' <button type="button" class="tarteaucitronCTAButton tarteaucitronAllow" id="tarteaucitronPersonalize2">';
html += ' <span class="tarteaucitronCheck"></span> ' + tarteaucitron.lang.acceptAll;
html += ' <span class="tarteaucitronCheck" aria-hidden="true"></span> ' + tarteaucitron.lang.acceptAll;
html += ' </button>';
@ -443,7 +445,7 @@ var tarteaucitron = {
} else {
html += ' <button type="button" class="tarteaucitronCTAButton tarteaucitronDeny" id="tarteaucitronAllDenied2">';
}
html += ' <span class="tarteaucitronCross"></span> ' + tarteaucitron.lang.denyAll;
html += ' <span class="tarteaucitronCross" aria-hidden="true"></span> ' + tarteaucitron.lang.denyAll;
html += ' </button>';
//html += ' <br/><br/>';
}
@ -465,8 +467,8 @@ var tarteaucitron = {
}
if (tarteaucitron.parameters.showIcon === true) {
html += '<div id="tarteaucitronIcon" class="tarteaucitronIcon' + tarteaucitron.parameters.iconPosition + '">';
html += ' <button type="button" id="tarteaucitronManager">';
html += '<div id="tarteaucitronIcon" class="tarteaucitronIcon' + tarteaucitron.parameters.iconPosition + '" style="display: block">';
html += ' <button type="button" id="tarteaucitronManager" aria-label="' + tarteaucitron.lang.icon + ' ' + tarteaucitron.lang.modalWindow + '" title="' + tarteaucitron.lang.icon + ' ' + tarteaucitron.lang.modalWindow + '">';
html += ' <img src="' + (tarteaucitron.parameters.iconSrc ? tarteaucitron.parameters.iconSrc : 'data:image/png;base64,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') + '" alt="' + tarteaucitron.lang.icon + ' ' + tarteaucitron.lang.modalWindow + '" title="' + tarteaucitron.lang.icon + ' ' + tarteaucitron.lang.modalWindow + '">';
html += ' </button>';
html += '</div>';
@ -528,6 +530,12 @@ var tarteaucitron = {
// Append tarteaucitron: #tarteaucitronRoot last-child of the body
body.appendChild(div, body);
}
div.setAttribute('data-nosnippet', 'true');
div.setAttribute('lang', language);
div.setAttribute('role', 'region');
div.setAttribute('aria-labelledby', 'tac_title');
div.innerHTML = html;
//ie compatibility
@ -599,6 +607,7 @@ var tarteaucitron = {
html += ' ' + tarteaucitron.lang.reload;
html += ' </button>';
html += '</div>';
html += '<div role="heading" aria-level="1" id="tac_title" class="tac_visually-hidden">' + tarteaucitron.lang.title + '</div>';
html += '<div id="tarteaucitronPremium"></div>';
div.id = 'tarteaucitronRoot';
@ -611,6 +620,12 @@ var tarteaucitron = {
// Append tarteaucitron: #tarteaucitronRoot last-child of the body
body.appendChild(div, body);
}
div.setAttribute('data-nosnippet', 'true');
div.setAttribute('lang', language);
div.setAttribute('role', 'region');
div.setAttribute('aria-labelledby', 'tac_title');
div.innerHTML = html;
}
}, 1500);
@ -645,10 +660,10 @@ var tarteaucitron = {
html += ' </div>';
html += ' <div class="tarteaucitronAsk" id="tarteaucitron-group-'+cat+'">';
html += ' <button type="button" aria-label="' + tarteaucitron.lang.allow + ' ' + tarteaucitron.lang[cat].title + '" class="tarteaucitronAllow" id="tarteaucitron-accept-group-'+cat+'">';
html += ' <span class="tarteaucitronCheck"></span> ' + tarteaucitron.lang.allow;
html += ' <span class="tarteaucitronCheck" aria-hidden="true"></span> ' + tarteaucitron.lang.allow;
html += ' </button> ';
html += ' <button type="button" aria-label="' + tarteaucitron.lang.deny + ' ' + tarteaucitron.lang[cat].title + '" class="tarteaucitronDeny" id="tarteaucitron-reject-group-'+cat+'">';
html += ' <span class="tarteaucitronCross"></span> ' + tarteaucitron.lang.deny;
html += ' <span class="tarteaucitronCross" aria-hidden="true"></span> ' + tarteaucitron.lang.deny;
html += ' </button>';
html += ' </div>';
html += '</li>';
@ -773,7 +788,10 @@ var tarteaucitron = {
isAllowed = ((cookie.indexOf(service.key + '=true') >= 0) || (!service.needConsent && cookie.indexOf(service.key + '=false') < 0)),
isResponded = (cookie.indexOf(service.key + '=false') >= 0 || cookie.indexOf(service.key + '=true') >= 0),
isDNTRequested = (navigator.doNotTrack === "1" || navigator.doNotTrack === "yes" || navigator.msDoNotTrack === "1" || window.doNotTrack === "1"),
currentStatus = (isAllowed) ? tarteaucitron.lang.allowed : tarteaucitron.lang.disallowed;
currentStatus = (isAllowed) ? tarteaucitron.lang.allowed : tarteaucitron.lang.disallowed,
state = (undefined !== service.defaultState) ? service.defaultState :
(undefined !== tarteaucitron.parameters.serviceDefaultState ? tarteaucitron.parameters.serviceDefaultState : 'wait');
if (tarteaucitron.added[service.key] !== true) {
tarteaucitron.added[service.key] = true;
@ -805,10 +823,10 @@ var tarteaucitron = {
html += ' </div>';
html += ' <div class="tarteaucitronAsk">';
html += ' <button type="button" aria-label="' + tarteaucitron.lang.allow + ' ' + service.name + '" id="' + service.key + 'Allowed" class="tarteaucitronAllow">';
html += ' <span class="tarteaucitronCheck"></span> ' + tarteaucitron.lang.allow;
html += ' <span class="tarteaucitronCheck" aria-hidden="true"></span> ' + tarteaucitron.lang.allow;
html += ' </button> ';
html += ' <button type="button" aria-label="' + tarteaucitron.lang.deny + ' ' + service.name + '" id="' + service.key + 'Denied" class="tarteaucitronDeny">';
html += ' <span class="tarteaucitronCross"></span> ' + tarteaucitron.lang.deny;
html += ' <span class="tarteaucitronCross" aria-hidden="true"></span> ' + tarteaucitron.lang.deny;
html += ' </button>';
html += ' </div>';
html += '</li>';
@ -865,12 +883,20 @@ var tarteaucitron = {
tarteaucitron.state[service.key] = false;
tarteaucitron.userInterface.color(service.key, false);
} else if (!isResponded) {
tarteaucitron.cookie.create(service.key, 'wait');
if (typeof service.fallback === 'function') {
if (typeof tarteaucitronMagic === 'undefined' || tarteaucitronMagic.indexOf("_" + service.key + "_") < 0) { service.fallback(); }
tarteaucitron.cookie.create(service.key, state);
if (typeof tarteaucitronMagic === 'undefined' || tarteaucitronMagic.indexOf("_" + service.key + "_") < 0) {
if(true === state && typeof service.js === 'function') {
service.js();
} else if (typeof service.fallback === 'function') {
service.fallback();
}
}
tarteaucitron.userInterface.color(service.key, state);
if( 'wait' === state ) {
tarteaucitron.userInterface.openAlert();
}
tarteaucitron.userInterface.color(service.key, 'wait');
tarteaucitron.userInterface.openAlert();
}
tarteaucitron.cookie.checkCount(service.key);
@ -992,8 +1018,10 @@ var tarteaucitron = {
var itemStatusElem = document.getElementById('tacCurrentStatus'+key);
if(status == true){
itemStatusElem.innerHTML = tarteaucitron.lang.allowed;
tarteaucitron.sendEvent(key + '_allowed');
}else{
itemStatusElem.innerHTML = tarteaucitron.lang.disallowed;
tarteaucitron.sendEvent(key + '_disallowed');
}
tarteaucitron.state[key] = status;
tarteaucitron.cookie.create(key, status);
@ -1038,8 +1066,10 @@ var tarteaucitron = {
var itemStatusElem = document.getElementById('tacCurrentStatus'+key);
if(status == true){
itemStatusElem.innerHTML = tarteaucitron.lang.allowed;
tarteaucitron.sendEvent(key + '_allowed');
}else{
itemStatusElem.innerHTML = tarteaucitron.lang.disallowed;
tarteaucitron.sendEvent(key + '_disallowed');
}
tarteaucitron.state[key] = status;
tarteaucitron.cookie.create(key, status);
@ -1774,7 +1804,7 @@ var tarteaucitron = {
"getLanguage": function () {
"use strict";
var availableLanguages = 'bg,ca,cn,cs,da,de,el,en,es,fi,fr,hu,it,ja,lt,lv,nl,no,oc,pl,pt,ro,ru,se,sk,sv,tr,vi,zh',
var availableLanguages = 'ar,bg,ca,cn,cs,da,de,et,el,en,es,fi,fr,hu,it,ja,lt,lv,nl,no,oc,pl,pt,ro,ru,se,sk,sv,tr,uk,vi,zh',
defaultLanguage = 'en';
if (tarteaucitronForceLanguage !== '') {
@ -1783,16 +1813,22 @@ var tarteaucitron = {
}
}
if (!navigator) { return 'en'; }
// get the html lang
if (availableLanguages.indexOf(document.documentElement.getAttribute("lang")) !== -1) {
return document.documentElement.getAttribute("lang");
}
if (!navigator) { return defaultLanguage; }
var lang = navigator.language || navigator.browserLanguage ||
navigator.systemLanguage || navigator.userLang || null,
userLanguage = lang ? lang.substr(0, 2) : null;
if (availableLanguages.indexOf(userLanguage) === -1) {
return defaultLanguage;
if (availableLanguages.indexOf(userLanguage) !== -1) {
return userLanguage;
}
return userLanguage;
return defaultLanguage;
},
"getLocale": function () {
"use strict";
@ -1970,7 +2006,7 @@ var tarteaucitron = {
html += ' <div class="tac_float">';
html += ' ' + engage;
html += ' <button type="button" class="tarteaucitronAllow" id="Eng' + r + 'ed' + id + '">';
html += ' <span class="tarteaucitronCheck"></span> ' + tarteaucitron.lang.allow;
html += ' <span class="tarteaucitronCheck" aria-hidden="true"></span> ' + tarteaucitron.lang.allow;
html += ' </button>';
html += ' </div>';
html += '</div>';

707
lib/tarteaucitron/tarteaucitron.services.js

@ -12,7 +12,7 @@ tarteaucitron.services.iframe = {
"js": function () {
"use strict";
tarteaucitron.fallback(['tac_iframe'], function (x) {
var frame_title = tarteaucitron.fixSelfXSS(x.getAttribute("title")),
var frame_title = (x.getAttribute("title")) ? tarteaucitron.fixSelfXSS(x.getAttribute("title")) : '',
width = x.getAttribute("width"),
height = x.getAttribute("height"),
allowfullscreen = x.getAttribute("allowfullscreen"),
@ -32,6 +32,133 @@ tarteaucitron.services.iframe = {
}
};
// myfeelback
tarteaucitron.services.myfeelback = {
"key": "myfeelback",
"type": "api",
"name": "MyFeelBack (Skeepers)",
"uri": "https://help.myfeelback.com/fr/quels-sont-les-cookies-d%C3%A9pos%C3%A9s-par-un-dispositif-de-collecte-myfeelback",
"needConsent": true,
"cookies": [],
"js": function () {
"use strict";
if (tarteaucitron.user.myfeelbackId === undefined) {
return;
}
window._Mfb_useCookie = true;
window._Mfb_ud = {
var1: undefined,
var2: undefined,
varN: undefined,
_context: {
lang: undefined,
privacyMode: false,
_page: {
url: location.pathname,
storageDuration: 30
}
}
};
tarteaucitron.addScript('https://actorssl-5637.kxcdn.com/actor/'+tarteaucitron.user.myfeelbackId+'/action', 'MFBActor');
}
};
// doubleclick
tarteaucitron.services.doubleclick = {
"key": "doubleclick",
"type": "ads",
"name": "DoubleClick",
"uri": "https://support.google.com/admanager/answer/2839090",
"needConsent": true,
"cookies": [],
"js": function () {
"use strict";
tarteaucitron.fallback(['doubleclick_container'], function (x) {
var id1 = tarteaucitron.getElemAttr(x, "data-id1"),
id2 = tarteaucitron.getElemAttr(x, "data-id2"),
item = tarteaucitron.getElemAttr(x, "data-item"),
quantity = tarteaucitron.getElemAttr(x, "data-quantity"),
price = tarteaucitron.getElemAttr(x, "data-price"),
postage = tarteaucitron.getElemAttr(x, "data-postage"),
seller = tarteaucitron.getElemAttr(x, "data-seller"),
axel = Math.random() + "",
a = axel * 10000000000000;
iframe = '<iframe src="http://'+id1+'.fls.doubleclick.net/activityi;src='+id2+';type=;cat=;u1='+item+';u2='+quantity+';u3='+price+';u4='+postage+';u5='+seller+';ord=' + a + '?" width="1" height="1" frameborder="0" style="display:none"></iframe>';
return iframe;
});
}
};
// userpilot
tarteaucitron.services.userpilot = {
"key": "userpilot",
"type": "analytic",
"name": "UserPilot",
"uri": "https://userpilot.com/privacy-policy",
"needConsent": true,
"cookies": [],
"js": function () {
"use strict";
if (tarteaucitron.user.userpilotToken === undefined) {
return;
}
window.userpilotSettings = {token: tarteaucitron.user.userpilotToken};
tarteaucitron.addScript('https://js.userpilot.io/sdk/latest.js');
}
};
tarteaucitron.services.piwikpro = {
"key": "piwikpro",
"type": "analytic",
"name": "Piwik Pro",
"uri": "https://piwik.pro/privacy-policy/",
"needConsent": true,
"cookies": ['_pk_ref', '_pk_cvar', '_pk_id', '_pk_ses', '_pk_hsr', 'piwik_ignore', '_pk_uid'],
"js": function () {
"use strict";
if (tarteaucitron.user.piwikProId === undefined) {
return;
}
window['dataLayer'] = window['dataLayer'] || [], window['dataLayer'].push({
start: (new Date).getTime(),
event: "stg.start"
});
function stgCreateCookie(a, b, c) {
var d = "";
if (c) {
var e = new Date;
e.setTime(e.getTime() + 24 * c * 60 * 60 * 1e3), d = "; expires=" + e.toUTCString()
}
document.cookie = a + "=" + b + d + "; path=/"
}
var isStgDebug = (window.location.href.match("stg_debug") || document.cookie.match("stg_debug")) && !window.location.href.match("stg_disable_debug");
stgCreateCookie("stg_debug", isStgDebug ? 1 : "", isStgDebug ? 14 : -1);
var qP = [];
var qPString = qP.length > 0 ? ("?" + qP.join("&")) : "";
tarteaucitron.addScript('https://carsatse.containers.piwik.pro/'+tarteaucitron.user.piwikProId+'.js'+qPString);
! function(a, n, i) {
a[n] = a[n] || {};
for (var c = 0; c < i.length; c++) ! function(i) {
a[n][i] = a[n][i] || {}, a[n][i].api = a[n][i].api || function() {
var a = [].slice.call(arguments, 0);
"string" == typeof a[0] && window['dataLayer'].push({
event: n + "." + i + ":" + a[0],
parameters: [].slice.call(arguments, 1)
})
}
}(i[c])
}(window, "ppms", ["tm", "cm"]);
}
};
// pinterestpixel
tarteaucitron.services.pinterestpixel = {
"key": "pinterestpixel",
@ -393,9 +520,10 @@ tarteaucitron.services.facebookpost = {
height = x.getAttribute("height"),
url = x.getAttribute("data-url"),
appId = x.getAttribute("data-appid"),
allowfullscreen = x.getAttribute("allowfullscreen");
allowfullscreen = x.getAttribute("allowfullscreen"),
showText = x.getAttribute("data-show-text");
return '<iframe title="' + frame_title + '" src="https://www.facebook.com/plugins/post.php?href=' + encodeURIComponent(url) + '&amp;width=' + width + '&amp;show_text=false&amp;appId=' + appId + '&amp;height=' + height + '" width="' + width + '" height="' + height + '" scrolling="auto" allowtransparency ' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
return '<iframe title="' + frame_title + '" src="https://www.facebook.com/plugins/post.php?href=' + encodeURIComponent(url) + '&amp;width=' + width + '&amp;show_text=false&amp;appId=' + appId + '&amp;show_text=' + showText + '&amp;height=' + height + '" width="' + width + '" height="' + height + '" scrolling="auto" allowtransparency ' + (allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
});
},
"fallback": function () {
@ -1023,6 +1151,32 @@ tarteaucitron.services.criteo = {
}
};
// criteo onetag
tarteaucitron.services.criteoonetag = {
"key": "criteoonetag",
"type": "ads",
"name": "Criteo OneTag",
"uri": "https://www.criteo.com/privacy/",
"needConsent": true,
"cookies": ['uid', 'tk', 'uid3pd'],
"js": function() {
"use strict";
if (tarteaucitron.user.criteoonetagAccount === undefined) return;
window.criteo_q = window.criteo_q || [];
window.criteo_q.push({
event: "setAccount",
account: tarteaucitron.user.criteoonetagAccount
})
tarteaucitron.addScript('//static.criteo.net/js/ld/ld.js', '', function() {
if (typeof tarteaucitron.user.criteoonetagMore === 'function') {
tarteaucitron.user.criteoonetagMore();
}
});
}
};
// artetv
tarteaucitron.services.artetv = {
"key": "artetv",
@ -1080,7 +1234,10 @@ tarteaucitron.services.dailymotion = {
video_frame,
embed_type = tarteaucitron.getElemAttr(x, "embedType"),
allowfullscreen = tarteaucitron.getElemAttr(x, "allowfullscreen"),
params = 'info=' + tarteaucitron.getElemAttr(x, "showinfo") + '&autoPlay=' + tarteaucitron.getElemAttr(x, "autoplay");
showinfo = tarteaucitron.getElemAttr(x, "showinfo"),
autoplay = tarteaucitron.getElemAttr(x, "autoplay"),
api = tarteaucitron.getElemAttr(x, "api"),
params = 'info=' + showinfo + '&autoPlay=' + autoplay + '&api=' + api;
if (video_id === undefined) {
return "";
@ -1617,7 +1774,7 @@ tarteaucitron.services.adsense = {
"uri": "https://adssettings.google.com/",
"needConsent": true,
"readmoreLink": "https://policies.google.com/technologies/partner-sites",
"cookies": [],
"cookies": ['__gads'],
"js": function () {
"use strict";
tarteaucitron.addScript('https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js');
@ -1757,7 +1914,7 @@ tarteaucitron.services.gajs = {
tagUaCookie = tagUaCookie.replace(/-/g, '_');
tagGCookie = tagGCookie.replace(/G-/g, '');
return ['_ga', '_gat', '_gid', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', tagUaCookie, tagGCookie];
return ['_ga', '_gat', '_gid', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', tagUaCookie, tagGCookie, '_gcl_au'];
})(),
"js": function () {
"use strict";
@ -1797,7 +1954,7 @@ tarteaucitron.services.analytics = {
tagUaCookie = tagUaCookie.replace(/-/g, '_');
tagGCookie = tagGCookie.replace(/G-/g, '');
return ['_ga', '_gat', '_gid', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', tagUaCookie, tagGCookie];
return ['_ga', '_gat', '_gid', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', tagUaCookie, tagGCookie, '_gcl_au'];
})(),
"js": function () {
"use strict";
@ -1848,7 +2005,7 @@ tarteaucitron.services.gtag = {
tagUaCookie = tagUaCookie.replace(/-/g, '_');
tagGCookie = tagGCookie.replace(/G-/g, '');
return ['_ga', '_gat', '_gid', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', tagUaCookie, tagGCookie];
return ['_ga', '_gat', '_gid', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', tagUaCookie, tagGCookie, '_gcl_au'];
})(),
"js": function () {
"use strict";
@ -2060,6 +2217,66 @@ tarteaucitron.services.googlemapsembed = {
}
};
// openstreetmap embed iframe
tarteaucitron.services.openstreetmap = {
"key": "openstreetmap",
"type": "api",
"name": "Openstreetmap Embed",
"uri": "https://wiki.osmfoundation.org/wiki/Privacy_Policy#Cookies",
"needConsent": true,
"cookies": ['apisid', 'hsid', 'nid', 'sapisid', 'sid', 'sidcc', 'ssid', '1p_jar'],
"js": function () {
"use strict";
tarteaucitron.fallback(['openstreetmap'], function (x) {
var width = tarteaucitron.getElemWidth(x),
height = tarteaucitron.getElemHeight(x),
url = x.getAttribute("data-url");
return '<iframe src="' + url + '" width="' + width + '" height="' + height + '" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" allowfullscreen></iframe>';
});
},
"fallback": function () {
"use strict";
var id = 'openstreetmap';
tarteaucitron.fallback(['openstreetmap'], function (elem) {
elem.style.width = tarteaucitron.getElemWidth(elem) + 'px';
elem.style.height = tarteaucitron.getElemHeight(elem) + 'px';
return tarteaucitron.engage(id);
});
}
};
// geoportail embed iframe
tarteaucitron.services.geoportail = {
"key": "geoportail",
"type": "api",
"name": "Geoportail maps Embed",
"uri": "https://www.ign.fr/institut/gestion-des-cookies",
"needConsent": true,
"cookies": ['apisid', 'hsid', 'nid', 'sapisid', 'sid', 'sidcc', 'ssid', '1p_jar'],
"js": function () {
"use strict";
tarteaucitron.fallback(['geoportail'], function (x) {
var width = tarteaucitron.getElemWidth(x),
height = tarteaucitron.getElemHeight(x),
url = x.getAttribute("data-url");
return '<iframe src="' + url + '" width="' + width + '" height="' + height + '" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" sandbox="allow-forms allow-scripts allow-same-origin" allowfullscreen></iframe>';
});
},
"fallback": function () {
"use strict";
var id = 'geoportail';
tarteaucitron.fallback(['geoportail'], function (elem) {
elem.style.width = tarteaucitron.getElemWidth(elem) + 'px';
elem.style.height = tarteaucitron.getElemHeight(elem) + 'px';
return tarteaucitron.engage(id);
});
}
};
// google tag manager
tarteaucitron.services.googletagmanager = {
"key": "googletagmanager",
@ -3118,36 +3335,39 @@ tarteaucitron.services.vimeo = {
"js": function () {
"use strict";
tarteaucitron.fallback(['vimeo_player'], function (x) {
var frame_title = tarteaucitron.fixSelfXSS(tarteaucitron.getElemAttr(x, "data-title") || tarteaucitron.getElemAttr(x, "title") || 'Vimeo iframe'),
video_width = tarteaucitron.getElemAttr(x, "data-width") || tarteaucitron.getElemAttr(x, "width"),
var frame_title = tarteaucitron.fixSelfXSS(tarteaucitron.getElemAttr(x, "title") || 'Vimeo iframe'),
video_width = tarteaucitron.getElemAttr(x, "width"),
frame_width = 'width=',
video_height = tarteaucitron.getElemAttr(x, "data-height") || tarteaucitron.getElemAttr(x, "height"),
video_height = tarteaucitron.getElemAttr(x, "height"),
frame_height = 'height=',
video_id = tarteaucitron.getElemAttr(x, "data-videoID") || tarteaucitron.getElemAttr(x, "videoID"),
video_id = tarteaucitron.getElemAttr(x, "videoID"),
video_hash = tarteaucitron.getElemAttr(x, "data-hash") || '',
video_allowfullscreen = tarteaucitron.getElemAttr(x, "data-allowfullscreen"),
video_autopause = tarteaucitron.getElemAttr(x, "data-autopause") || '',
video_autoplay = tarteaucitron.getElemAttr(x, "data-autoplay") || tarteaucitron.getElemAttr(x, "autoplay") || '',
video_background = tarteaucitron.getElemAttr(x, "data-background") || '',
video_byline = tarteaucitron.getElemAttr(x, "data-byline") || tarteaucitron.getElemAttr(x, "byline") || '',
video_color = tarteaucitron.getElemAttr(x, "data-color") || '',
video_controls = tarteaucitron.getElemAttr(x, "data-controls") || '',
video_loop = tarteaucitron.getElemAttr(x, "data-loop") || tarteaucitron.getElemAttr(x, "loop") || '',
video_maxheight = tarteaucitron.getElemAttr(x, "data-maxheight") || '',
video_maxwidth = tarteaucitron.getElemAttr(x, "data-maxwidth") || '',
video_muted = tarteaucitron.getElemAttr(x, "data-muted") || '',
video_playsinline = tarteaucitron.getElemAttr(x, "data-playsinline") || '',
video_portrait = tarteaucitron.getElemAttr(x, "data-portrait") || tarteaucitron.getElemAttr(x, "portrait") || '',
video_speed = tarteaucitron.getElemAttr(x, "data-speed") || '',
video_title = tarteaucitron.getElemAttr(x, "data-title") || tarteaucitron.getElemAttr(x, "title") || '',
video_transparent = tarteaucitron.getElemAttr(x, "data-transparent") || '',
video_frame;
video_qs = "",
attrs = ["title", "byline", "portrait", "loop", "autoplay", "autopause", "background", "color", "controls", "maxheight", "maxwidth", "muted", "playsinline", "speed", "transparent"],
params = attrs.filter(function (a) {
return tarteaucitron.getElemAttr(x, a) !== null;
}).map(function (a) {
return a + "=" + tarteaucitron.getElemAttr(x, a);
}),
video_frame;
if (video_id === undefined) {
return "";
}
// query params
if (video_hash.length > 0) {
params.push("h=" + video_hash);
}
if (params.length > 0) {
video_qs = "?" + params.join("&");
}
// attributes
if (video_width !== undefined) {
frame_width += '"' + video_width + '" ';
} else {
@ -3159,114 +3379,6 @@ tarteaucitron.services.vimeo = {
frame_height += '"" ';
}
var video_qs = "?";
if (video_title.length > 0) {
video_qs += "title=" + video_title;
}
if (video_byline.length > 0) {
if (video_qs.length > 0) {
video_qs += "&";
}
video_qs += "byline=" + video_byline;
}
if (video_portrait.length > 0) {
if (video_qs.length > 0) {
video_qs += "&";
}
video_qs += "portrait=" + video_portrait;
}
if (video_loop.length > 0) {
if (video_qs.length > 0) {
video_qs += "&";
}
video_qs += "loop=" + video_loop;
}
if (video_autoplay.length > 0) {
if (video_qs.length > 0) {
video_qs += "&";
}
video_qs += "autoplay=" + video_autoplay;
}
if (video_autopause.length > 0) {
if (video_qs.length > 0) {
video_qs += "&";
}
video_qs += "autopause=" + video_autopause;
}
if (video_background.length > 0) {
if (video_qs.length > 0) {
video_qs += "&";
}
video_qs += "background=" + video_background;
}
if (video_color.length > 0) {
if (video_qs.length > 0) {
video_qs += "&";
}
video_qs += "color=" + video_color;
}
if (video_controls.length > 0) {
if (video_qs.length > 0) {
video_qs += "&";
}
video_qs += "controls=" + video_controls;
}
if (video_maxheight.length > 0) {
if (video_qs.length > 0) {
video_qs += "&";
}
video_qs += "maxheight=" + video_maxheight;
}
if (video_maxwidth.length > 0) {
if (video_qs.length > 0) {
video_qs += "&";
}
video_qs += "maxwidth=" + video_maxwidth;
}
if (video_muted.length > 0) {
if (video_qs.length > 0) {
video_qs += "&";
}
video_qs += "muted=" + video_muted;
}
if (video_playsinline.length > 0) {
if (video_qs.length > 0) {
video_qs += "&";
}
video_qs += "playsinline=" + video_playsinline;
}
if (video_speed.length > 0) {
if (video_qs.length > 0) {
video_qs += "&";
}
video_qs += "speed=" + video_speed;
}
if (video_transparent.length > 0) {
if (video_qs.length > 0) {
video_qs += "&";
}
video_qs += "transparent=" + video_transparent;
}
if (video_qs === "?") {
video_qs = "";
}
video_frame = '<iframe title="' + frame_title + '" src="//player.vimeo.com/video/' + video_id + video_qs + '" ' + frame_width + frame_height + (video_allowfullscreen == '0' ? '' : ' webkitallowfullscreen mozallowfullscreen allowfullscreen') + '></iframe>';
return video_frame;
@ -3528,12 +3640,11 @@ tarteaucitron.services.youtube = {
frame_height = 'height=',
video_frame,
allowfullscreen = tarteaucitron.getElemAttr(x, "allowfullscreen"),
attrs = ["theme", "rel", "controls", "showinfo", "autoplay", "mute", "start", "loop"],
attrs = ["theme", "rel", "controls", "showinfo", "autoplay", "mute", "start", "loop", "enablejsapi"],
params = attrs.filter(function (a) {
return tarteaucitron.getElemAttr(x, a) !== null;
return tarteaucitron.getElemAttr(x, a) !== null;
}).map(function (a) {
return a + "=" + tarteaucitron.getElemAttr(x, a);
return a + "=" + tarteaucitron.getElemAttr(x, a);
}).join("&");
if(tarteaucitron.getElemAttr(x, "loop") == 1) {
@ -3712,7 +3823,7 @@ tarteaucitron.services.facebookpixel = {
"name": "Facebook Pixel",
"uri": "https://www.facebook.com/policy.php",
"needConsent": true,
"cookies": ['datr', 'fr', 'reg_ext_ref', 'reg_fb_gate', 'reg_fb_ref', 'sb', 'wd', 'x-src', '_fbq'],
"cookies": ['datr', 'fr', 'reg_ext_ref', 'reg_fb_gate', 'reg_fb_ref', 'sb', 'wd', 'x-src', '_fbp'],
"js": function () {
"use strict";
var n;
@ -3822,7 +3933,7 @@ tarteaucitron.services.multiplegtag = {
"needConsent": true,
"cookies": (function () {
var cookies = ['_ga', '_gat', '_gid', '__utma', '__utmb', '__utmc', '__utmt', '__utmz'];
var cookies = ['_ga', '_gat', '_gid', '__utma', '__utmb', '__utmc', '__utmt', '__utmz', '_gcl_au'];
if (tarteaucitron.user.multiplegtagUa !== undefined) {
tarteaucitron.user.multiplegtagUa.forEach(function (ua) {
@ -3887,10 +3998,10 @@ tarteaucitron.services.koban = {
2. Push the service :
(tarteaucitron.job = tarteaucitron.job || []).push('matomo');
(tarteaucitron.job = tarteaucitron.job || []).push('matomo'); // (or 'matomocloud' for cloud version)
3. HTML
You don't need to add any html code, if the service is autorized, the javascript is added. otherwise no.
You don't need to add any html code, if the service is authorized, the javascript is added. otherwise no.
*/
tarteaucitron.services.matomo = {
"key": "matomo",
@ -3998,6 +4109,68 @@ tarteaucitron.services.matomohightrack = {
}
};
tarteaucitron.services.matomocloud = {
"key": "matomocloud",
"type": "analytic",
"name": "Matomo Cloud (privacy by design)",
"uri": "https://matomo.org/faq/general/faq_146/",
"needConsent": false,
"cookies": ['_pk_ref', '_pk_cvar', '_pk_id', '_pk_ses', '_pk_hsr', 'mtm_consent', 'matomo_ignore', 'matomo_sessid'],
"js": function () {
"use strict";
if (tarteaucitron.user.matomoId === undefined) {
return;
}
window._paq = window._paq || [];
window._paq.push(["setSiteId", tarteaucitron.user.matomoId]);
window._paq.push(["setTrackerUrl", tarteaucitron.user.matomoHost + "matomo.php"]);
window._paq.push(["setDoNotTrack", 1]);
window._paq.push(["trackPageView"]);
window._paq.push(["setIgnoreClasses", ["no-tracking", "colorbox"]]);
window._paq.push(["enableLinkTracking"]);
window._paq.push([function () {
var self = this;
function getOriginalVisitorCookieTimeout() {
var now = new Date(),
nowTs = Math.round(now.getTime() / 1000),
visitorInfo = self.getVisitorInfo();
var createTs = parseInt(visitorInfo[2]);
var cookieTimeout = 33696000; // 13 mois en secondes
var originalTimeout = createTs + cookieTimeout - nowTs;
return originalTimeout;
}
this.setVisitorCookieTimeout(getOriginalVisitorCookieTimeout());
}]);
tarteaucitron.addScript('https://cdn.matomo.cloud/matomo.js', '', '', true, 'defer', true);
// waiting for Matomo to be ready to check first party cookies
var interval = setInterval(function () {
if (typeof Matomo === 'undefined') return
clearInterval(interval)
// make Matomo cookie accessible by getting tracker
Matomo.getTracker();
// looping through cookies
var theCookies = document.cookie.split(';');
for (var i = 1; i <= theCookies.length; i++) {
var cookie = theCookies[i - 1].split('=');
var cookieName = cookie[0].trim();
// if cookie starts like a matomo one, register it
if (cookieName.indexOf('_pk_') === 0) {