1(function ($, Drupal, drupalSettings) { 2 Drupal.behaviors.ssks_rgpd = { 3 4 attach: function (context, settings) { 5 6 // Init 7 tarteaucitron_init(settings.ssks_rgpd); 8 9 // Plugins 10 if (settings.ssks_rgpd.analytics === true) 11 tarteaucitron_analytics(settings.ssks_rgpd); 12 13 if (settings.ssks_rgpd.googletagmanager === true) 14 tarteaucitron_googletagmanager(settings.ssks_rgpd); 15 16 if (settings.ssks_rgpd.adsense === true) 17 tarteaucitron_adsense(settings.ssks_rgpd); 18 19 if (settings.ssks_rgpd.googleads === true) 20 tarteaucitron_googleads(settings.ssks_rgpd); 21 22 if (settings.ssks_rgpd.googleadwordsconversion === true) 23 tarteaucitron_googleadwordsconversion(settings.ssks_rgpd); 24 25 if (settings.ssks_rgpd.googleadwordsremarketing === true) 26 tarteaucitron_googleadwordsremarketing(settings.ssks_rgpd); 27 28 if (settings.ssks_rgpd.jsapi === true) 29 tarteaucitron_jsapi(); 30 31 if (settings.ssks_rgpd.addthis === true) 32 tarteaucitron_addthis(); 33 34 if (settings.ssks_rgpd.facebookcomment === true) 35 tarteaucitron_facebookcomment(); 36 37 if (settings.ssks_rgpd.facebookshare === true) 38 tarteaucitron_facebookshare(); 39 40 if (settings.ssks_rgpd.facebooklikebox === true) 41 tarteaucitron_facebooklikebox(); 42 43 if (settings.ssks_rgpd.facebookpixel === true) 44 tarteaucitron_facebookpixel(settings.ssks_rgpd); 45 46 if (settings.ssks_rgpd.linkedinshare === true) 47 tarteaucitron_linkedinshare(); 48 49 if (settings.ssks_rgpd.pinterestshare === true) 50 tarteaucitron_pinterestshare(); 51 52 if (settings.ssks_rgpd.twittershare === true) 53 tarteaucitron_twittershare(); 54 55 if (settings.ssks_rgpd.twitterembed === true) 56 tarteaucitron_twitterembed(); 57 58 if (settings.ssks_rgpd.twittertimeline === true) 59 tarteaucitron_twittertimeline(); 60 61 if (settings.ssks_rgpd.dailymotion === true) 62 tarteaucitron_dailymotion(); 63 64 if (settings.ssks_rgpd.vimeo === true) 65 tarteaucitron_vimeo(); 66 67 if (settings.ssks_rgpd.youtube === true) 68 tarteaucitron_youtube(); 69 70 if (typeof settings.ssks_rgpd.custom_code === 'string' && settings.ssks_rgpd.custom_code.length > 0) 71 runCustomCode(settings.ssks_rgpd.custom_code, 'custom-code'); 72 }, 73 } 74 75 function tarteaucitron_init(settings) { 76 77 // Call popin of front settings 78 $(once('tarteauCitron', "a.handleRgpdCookie, button.handleRgpdCookie")).each(function () { 79 $(this).on("click", function (e) { 80 e.preventDefault();
81 tarteaucitron.userInterface.openPanel(); 82 }); 83 }); 84 85 if ('tarteaucitronCustomText' in settings 86 && typeof settings.tarteaucitronCustomText === 'object' 87 && settings.tarteaucitronCustomText !== null 88 ) { 89 tarteaucitronCustomText = settings.tarteaucitronCustomText; 90 } 91 92 tarteaucitron.job = tarteaucitron.job || []; 93 94 tarteaucitron.init({ 95 "privacyUrl": settings.privacyUrl, 96 "bodyPosition": "top", /* or top to bring it as first element for accessibility */ 97 98 "hashtag": settings.hashtag, 99 "cookieName": settings.cookieName, 100 101 "orientation": settings.orientation, 102 103 "groupServices": false, 104 "showDetailsOnClick": true, 105 "serviceDefaultState": "wait", 106 107 "showAlertSmall": settings.showAlertSmall, 108 "cookieslist": settings.cookieslist, 109 "cookieslistEmbed": false, 110 111 "showIcon": false, 112 "iconPosition": "BottomRight", 113 114 "adblocker": settings.adblocker, 115 116 "DenyAllCta": settings.DenyAllCta, 117 "AcceptAllCta": settings.AcceptAllCta, 118 "highPrivacy": settings.highPrivacy, 119 "alwaysNeedConsent": false, 120 121 "handleBrowserDNTRequest": settings.handleBrowserDNTRequest, 122 123 "removeCredit": settings.removeCredit, 124 "moreInfoLink": settings.moreInfoLink, 125 "useExternalCss": true, 126 "useExternalJs": false, 127 128 "readmoreLink": settings.readmoreLink, 129 "cookieDomain": settings.cookieDomain, 130 131 "mandatory": settings.mandatory, 132 "mandatoryCta": true, 133 134 "googleConsentMode": true, 135 "bingConsentMode": true, 136 "softConsentMode": false, 137 138 "dataLayer": false, 139 "serverSide": false, 140 141 "partnersList": false 142 }); 143 } 144 145 function runCustomCode(code, marker) { 146 if (typeof code !== 'string' || code.trim().length === 0) { 147 return; 148 } 149 150 var scriptId = marker ? ('ssks-rgpd-' + marker) : ''; 151 if (scriptId.length > 0 && document.getElementById(scriptId)) { 152 return; 153 } 154 155 var scriptElement = document.createElement('script'); 156 scriptElement.setAttribute('type', 'text/javascript'); 157 158 if (scriptId.length > 0) { 159 scriptElement.setAttribute('id', scriptId); 160 } 161 162 scriptElement.textContent = code; 163 document.head.appendChild(scriptElement); 164 } 165 166 function runOnGtmLoaded(googletagmanagerId, callback) { 167 if (typeof callback !== 'function' || typeof googletagmanagerId !== 'string' || googletagmanagerId.length === 0) { 168 return; 169 } 170 171 window.ssksRgpdGtmWatchers = window.ssksRgpdGtmWatchers || {}; 172 if (window.ssksRgpdGtmWatchers[googletagmanagerId]) { 173 return; 174 } 175 window.ssksRgpdGtmWatchers[googletagmanagerId] = true; 176 177 var attempts = 0; 178 var maxAttempts = 120; 179 var intervalId = setInterval(function () { 180 attempts++; 181 182 if (window.google_tag_manager && window.google_tag_manager[googletagmanagerId]) { 183 clearInterval(intervalId); 184 callback(); 185 return; 186 } 187 188 if (attempts >= maxAttempts) { 189 clearInterval(intervalId); 190 } 191 }, 500); 192 } 193 194 function tarteaucitron_analytics(settings) { 195 if (settings.analyticsUa.length > 0) { 196 tarteaucitron.user.gtagUa = settings.analyticsUa; 197 198 if (typeof settings.analyticsMore === 'string' && settings.analyticsMore.length > 0) { 199 tarteaucitron.user.gtagMore = function () { 200 runCustomCode(settings.analyticsMore, 'analytics-more'); 201 }; 202 } 203 204 (tarteaucitron.job = tarteaucitron.job || []).push('gtag'); 205 } 206 } 207 208 function tarteaucitron_googletagmanager(settings) { 209 if (settings.googletagmanagerId.length > 0) { 210 tarteaucitron.user.googletagmanagerId = settings.googletagmanagerId; 211 (tarteaucitron.job = tarteaucitron.job || []).push('googletagmanager'); 212 213 if (typeof settings.googletagmanagerMore === 'string' && settings.googletagmanagerMore.length > 0) { 214 runOnGtmLoaded(settings.googletagmanagerId, function () { 215 runCustomCode(settings.googletagmanagerMore, 'gtm-more-' + settings.googletagmanagerId.toLowerCase()); 216 }); 217 } 218 } 219 } 220 221 function tarteaucitron_adsense(settings) { 222 var adsensecapub = typeof settings.adsensecapub === 'string' ? settings.adsensecapub.trim() : ''; 223 if (adsensecapub.length > 0) { 224 tarteaucitron.user.adsensecapub = adsensecapub; 225 (tarteaucitron.job = tarteaucitron.job || []).push('adsenseauto'); 226 return; 227 } 228 229 (tarteaucitron.job = tarteaucitron.job || []).push('adsense'); 230 } 231 232 function tarteaucitron_googleads(settings) { 233 if (settings.googleadsId.length > 0) { 234 tarteaucitron.user.googleadsId = settings.googleadsId; 235 236 if (typeof settings.googleadsMore === 'string' && settings.googleadsMore.length > 0) { 237 tarteaucitron.user.googleadsMore = function () { 238 runCustomCode(settings.googleadsMore, 'googleads-more-' + settings.googleadsId.toLowerCase()); 239 }; 240 } 241 242 (tarteaucitron.job = tarteaucitron.job || []).push('googleads'); 243 } 244 } 245 246 function tarteaucitron_googleadwordsconversion(settings) { 247 if (settings.adwordsconversionId.length > 0) { 248 tarteaucitron.user.adwordsconversionId = settings.adwordsconversionId; 249 250 if (typeof settings.adwordsconversionLabel === 'string' && settings.adwordsconversionLabel.length > 0) { 251 tarteaucitron.user.adwordsconversionLabel = settings.adwordsconversionLabel; 252 } 253 254 (tarteaucitron.job = tarteaucitron.job || []).push('googleadwordsconversion'); 255 } 256 } 257 258 function tarteaucitron_googleadwordsremarketing(settings) { 259 if (settings.adwordsremarketingId.length > 0) { 260 tarteaucitron.user.adwordsremarketingId = settings.adwordsremarketingId; 261 (tarteaucitron.job = tarteaucitron.job || []).push('googleadwordsremarketing'); 262 } 263 } 264 265 function tarteaucitron_jsapi() { 266 (tarteaucitron.job = tarteaucitron.job || []).push('jsapi'); 267 } 268 269 function tarteaucitron_addthis() { 270 (tarteaucitron.job = tarteaucitron.job || []).push('addthis'); 271 } 272 273 function tarteaucitron_facebookcomment() { 274 (tarteaucitron.job = tarteaucitron.job || []).push('facebookcomment'); 275 } 276 277 function tarteaucitron_facebookshare() { 278 (tarteaucitron.job = tarteaucitron.job || []).push('facebook'); 279 } 280 281 function tarteaucitron_facebooklikebox() { 282 (tarteaucitron.job = tarteaucitron.job || []).push('facebooklikebox'); 283 } 284 285 function tarteaucitron_facebookpixel(settings) { 286 if (settings.facebookpixelId.length > 0) { 287 tarteaucitron.user.facebookpixelId = settings.facebookpixelId; 288 289 if (typeof settings.facebookpixelMore === 'string' && settings.facebookpixelMore.length > 0) { 290 tarteaucitron.user.facebookpixelMore = function () { 291 runCustomCode(settings.facebookpixelMore, 'facebookpixel-more'); 292 }; 293 } 294 295 (tarteaucitron.job = tarteaucitron.job || []).push('facebookpixel'); 296 } 297 } 298 299 function tarteaucitron_linkedinshare() { 300 (tarteaucitron.job = tarteaucitron.job || []).push('linkedin'); 301 } 302 303 function tarteaucitron_pinterestshare() { 304 (tarteaucitron.job = tarteaucitron.job || []).push('pinterest'); 305 } 306 307 function tarteaucitron_twittershare() { 308 (tarteaucitron.job = tarteaucitron.job || []).push('twitter'); 309 } 310 311 function tarteaucitron_twitterembed() { 312 (tarteaucitron.job = tarteaucitron.job || []).push('twitterembed'); 313 } 314 315 function tarteaucitron_twittertimeline() { 316 (tarteaucitron.job = tarteaucitron.job || []).push('twittertimeline'); 317 } 318 319 function tarteaucitron_dailymotion() { 320 (tarteaucitron.job = tarteaucitron.job || []).push('dailymotion'); 321 } 322 323 function tarteaucitron_vimeo() { 324 (tarteaucitron.job = tarteaucitron.job || []).push('vimeo'); 325 } 326 327 function tarteaucitron_youtube() { 328 (tarteaucitron.job = tarteaucitron.job || []).push('youtube'); 329 (tarteaucitron.job = tarteaucitron.job || []).push('youtubeplaylist'); 330 } 331})(jQuery, Drupal, drupalSettings);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.