| Server IP : 188.114.96.3 / Your IP : 216.73.216.143 Web Server : Apache System : Linux sv058.home.net.pl 6.8.2 husak_dirty_pages_fix #1 SMP PREEMPT_DYNAMIC Tue Apr 2 22:06:51 CEST 2024 x86_64 User : ( 3194769) PHP Version : 8.5.12 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /polana/assets/ |
Upload File : |
/* TKLM Universal Tracking V1 | POLANA SINGLE CONSENT V18.7 | no dependencies. */
(function (w, d) {
'use strict';
if (w.__TKLM_Tracking_V1_Loaded) return;
w.__TKLM_Tracking_V1_Loaded = true;
var config = {"domain":"mojapolanasmakow.pl","ids":{"gtm":"GTM-N9J6KCNF","ga4":"G-H5C811DZHV","clarity":"yzuejkp3lm"},"banner":"builtin","version":2,"revision":2};
var domain = String(config.domain || '').toLowerCase();
var host = (w.location.hostname || '').toLowerCase().replace(/^www\./, '');
if (host !== domain) { w.__TKLM_Tracking_V1_DomainMismatch = true; return; }
var ids = config.ids || {};
var key = 'tklm-consent-v1:' + host;
var consent = { analytics: false, marketing: false };
var decided = false;
var loaded = {};
var jsUrl = d.currentScript && d.currentScript.src;
var lang = (d.documentElement.lang || 'pl').toLowerCase().startsWith('pl') ? 'pl' : 'en';
var words = lang === 'pl' ? {
heading: 'Twoja prywatność', info: 'Analityka i marketing działają tylko za Twoją zgodą.',
yes: 'Akceptuj wszystkie', no: 'Odrzuć opcjonalne', details: 'Ustawienia', save: 'Zapisz wybór', analytics: 'Analityka', marketing: 'Marketing', settings: 'Ustawienia prywatności', necessary: 'Niezbędne: zawsze aktywne'
} : {
heading: 'Your privacy', info: 'Analytics and marketing run only with your consent.',
yes: 'Accept all', no: 'Reject optional', details: 'Settings', save: 'Save choices', analytics: 'Analytics', marketing: 'Marketing', settings: 'Privacy settings', necessary: 'Essential: always active'
};
function load(src, onload) {
var s = d.createElement('script');
s.async = true;
s.src = src;
if (onload) s.onload = onload;
s.onerror = function () { w.__TKLM_Tracking_V1_LastError = src; };
(d.head || d.documentElement).appendChild(s);
}
function dataLayer() { w.dataLayer = w.dataLayer || []; return w.dataLayer; }
function gtag() { dataLayer().push(arguments); }
function googleSignal() {
return {
analytics_storage: consent.analytics ? 'granted' : 'denied',
ad_storage: consent.marketing ? 'granted' : 'denied',
ad_user_data: consent.marketing ? 'granted' : 'denied',
ad_personalization: consent.marketing ? 'granted' : 'denied'
};
}
function syncGoogle() {
if (!ids.gtm && !ids.ga4 && !ids.ads) return;
gtag('consent', 'update', googleSignal());
}
// Initialize denied defaults before any Google tag executes.
if (ids.gtm || ids.ga4 || ids.ads) gtag('consent', 'default', {
analytics_storage: 'denied', ad_storage: 'denied', ad_user_data: 'denied', ad_personalization: 'denied'
});
function activateGoogle() {
if (ids.gtm) {
if (!loaded.gtm && (consent.analytics || consent.marketing)) {
loaded.gtm = true;
dataLayer().push({ 'gtm.start': Date.now(), event: 'gtm.js' });
load('https://www.googletagmanager.com/gtm.js?id=' + encodeURIComponent(ids.gtm));
}
return; // GTM is the single source for Google tags. Configure Google tags INSIDE GTM.
}
if (!loaded.gtag && ((ids.ga4 && consent.analytics) || (ids.ads && consent.marketing))) {
loaded.gtag = true;
load('https://www.googletagmanager.com/gtag/js?id=' + encodeURIComponent(consent.analytics && ids.ga4 ? ids.ga4 : ids.ads));
gtag('js', new Date());
}
if (loaded.gtag && ids.ga4 && consent.analytics && !loaded.ga4) {
loaded.ga4 = true;
gtag('config', ids.ga4);
}
if (loaded.gtag && ids.ads && consent.marketing && !loaded.ads) {
loaded.ads = true;
gtag('config', ids.ads);
}
}
function activateMeta() {
if (!ids.meta || !consent.marketing || loaded.meta) return;
loaded.meta = true;
(function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=true;n.version='2.0';n.queue=[];
t=b.createElement(e);t.async=true;t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s);
})(w,d,'script','https://connect.facebook.net/en_US/fbevents.js');
w.fbq('init', ids.meta);
w.fbq('track', 'PageView');
}
function activateBing() {
if (!ids.bing || !consent.marketing || loaded.bing) return;
loaded.bing = true;
w.uetq = w.uetq || [];
w.uetq.push('consent', 'default', { ad_storage: 'denied' });
w.uetq.push('consent', 'update', { ad_storage: 'granted' });
load('https://bat.bing.com/bat.js', function () {
try {
var options = { ti: ids.bing, q: w.uetq, enableAutoSpaTracking: false };
w.uetq = new w.UET(options);
w.uetq.push('pageLoad');
} catch (e) { w.__TKLM_Tracking_V1_LastError = 'bing-init'; }
});
}
function syncClarity() {
if (!loaded.clarity || typeof w.clarity !== 'function') return;
w.clarity('consentv2', {
ad_Storage: consent.marketing ? 'granted' : 'denied',
analytics_Storage: consent.analytics ? 'granted' : 'denied'
});
}
function activateClarity() {
if (!ids.clarity || !consent.analytics || loaded.clarity) return;
loaded.clarity = true;
w.clarity = w.clarity || function(){(w.clarity.q=w.clarity.q||[]).push(arguments);};
syncClarity(); // Required by Microsoft Clarity for the EEA (Consent API v2).
load('https://www.clarity.ms/tag/' + encodeURIComponent(ids.clarity));
}
function activate() {
syncGoogle();
activateGoogle(); activateMeta(); activateBing(); activateClarity();
}
function validState(x) { return { analytics: x && x.analytics === true, marketing: x && x.marketing === true }; }
function setConsent(next) {
next = validState(next);
var reduced = (consent.analytics && !next.analytics) || (consent.marketing && !next.marketing);
consent = next; decided = true;
try { w.localStorage.setItem(key, JSON.stringify({ v: 1, a: consent.analytics, m: consent.marketing, date: Date.now() })); } catch(e) {}
syncGoogle();
syncClarity();
if (loaded.bing && w.uetq && typeof w.uetq.push === 'function') {
w.uetq.push('consent', 'update', { ad_storage: consent.marketing ? 'granted' : 'denied' });
}
if (reduced) {
// Avoid further events from already active third-party scripts.
w.location.reload();
return;
}
activate();
hideBanner();
}
function getConsent() { return { analytics: consent.analytics, marketing: consent.marketing, decided: decided }; }
function pageview() {
if (ids.gtm && (consent.analytics || consent.marketing)) dataLayer().push({ event: 'tklm_page_view', page_path: w.location.pathname + w.location.search });
else if (ids.ga4 && consent.analytics && loaded.ga4) gtag('event', 'page_view', { page_location: w.location.href });
if (ids.bing && consent.marketing && loaded.bing && w.uetq && w.uetq.push) w.uetq.push('pageLoad');
}
function event(name, details) {
if (!/^[a-z][a-z0-9_]{1,39}$/.test(String(name))) return;
var safe = {};
if (details && typeof details === 'object') {
Object.keys(details).slice(0, 12).forEach(function(k) {
if (/^[a-z][a-z0-9_]{0,39}$/.test(k) && (typeof details[k] === 'string' || typeof details[k] === 'number')) {
safe[k] = String(details[k]).slice(0, 100);
}
});
}
if (ids.gtm && (consent.analytics || consent.marketing)) dataLayer().push(Object.assign({event: 'tklm_' + name}, safe));
else if (ids.ga4 && consent.analytics && loaded.ga4) gtag('event', name, safe);
}
w.TKLMTracking = Object.freeze({setConsent: setConsent, getConsent: getConsent, pageview: pageview, event: event, openSettings: showBanner});
try {
var saved = JSON.parse(w.localStorage.getItem(key) || 'null');
if (saved && saved.v === 1 && typeof saved.a === 'boolean' && typeof saved.m === 'boolean') {
consent = {analytics: saved.a, marketing: saved.m}; decided = true;
}
} catch(e) {}
if (w.TKLMInitialConsent) { consent = validState(w.TKLMInitialConsent); decided = true; }
activate();
var panel, settingsButton, advancedOptions;
function el(tag, cls, value) { var x = d.createElement(tag); if (cls) x.className = cls; if (value) x.textContent = value; return x; }
function refreshManage() {
if (settingsButton) settingsButton.hidden = !decided || !!(panel && !panel.hidden);
}
function hideBanner() {
if (panel) panel.hidden = true;
refreshManage();
}
function showBanner() {
if (!panel) return;
panel.querySelector('[data-tklm-a]').checked = consent.analytics;
panel.querySelector('[data-tklm-m]').checked = consent.marketing;
if (advancedOptions) advancedOptions.hidden = true;
panel.hidden = false;
refreshManage();
var first = panel.querySelector('button'); if (first) first.focus();
}
function makeBanner() {
if (config.banner !== 'builtin') return;
if (jsUrl) {
var stylesheet = d.createElement('link');
stylesheet.rel = 'stylesheet';
stylesheet.href = new URL('tklm-consent.css', jsUrl).href;
stylesheet.setAttribute('data-tklm-consent', '');
d.head.appendChild(stylesheet);
}
panel = el('section','tklm-consent-panel');
panel.setAttribute('role','dialog'); panel.setAttribute('aria-modal','false'); panel.setAttribute('aria-label', words.heading);
panel.appendChild(el('h2','',words.heading));
panel.appendChild(el('p','tklm-consent-description', words.info));
var privacy = el('a','tklm-consent-privacy', lang === 'pl' ? 'Polityka prywatności' : 'Privacy policy');
privacy.href = '/polityka-prywatnosci';
panel.appendChild(privacy);
advancedOptions = el('div','tklm-consent-advanced');
advancedOptions.hidden = true;
advancedOptions.appendChild(el('p','tklm-consent-essential',words.necessary));
function toggle(key, txt) {
var row = el('label','tklm-toggle'); var check = el('input');
check.type='checkbox'; check.setAttribute('data-tklm-'+key,'');
row.appendChild(check); row.appendChild(el('span','',txt)); advancedOptions.appendChild(row);
}
toggle('a',words.analytics); toggle('m',words.marketing);
panel.appendChild(advancedOptions);
var buttons = el('div','tklm-consent-buttons');
function btn(txt, cls, fn){var b=el('button',cls,txt);b.type='button';b.addEventListener('click',fn);buttons.appendChild(b);return b;}
btn(words.no,'tklm-consent-secondary',function(){setConsent({analytics:false,marketing:false});});
var detailsButton = btn(words.details,'tklm-consent-secondary',function(){
advancedOptions.hidden = !advancedOptions.hidden;
if (!advancedOptions.hidden) {
panel.querySelector('[data-tklm-a]').checked = consent.analytics;
panel.querySelector('[data-tklm-m]').checked = consent.marketing;
panel.querySelector('[data-tklm-a]').focus();
}
saveButton.hidden = advancedOptions.hidden;
detailsButton.setAttribute('aria-expanded', String(!advancedOptions.hidden));
});
detailsButton.setAttribute('aria-expanded','false');
var saveButton = btn(words.save,'tklm-consent-secondary tklm-consent-save',function(){
setConsent({analytics:panel.querySelector('[data-tklm-a]').checked, marketing:panel.querySelector('[data-tklm-m]').checked});
});
saveButton.hidden = true;
btn(words.yes,'tklm-consent-primary',function(){setConsent({analytics:true,marketing:true});});
panel.appendChild(buttons);
d.body.appendChild(panel);
settingsButton = el('button','tklm-privacy-settings',words.settings);
settingsButton.type = 'button';settingsButton.hidden = true;
settingsButton.addEventListener('click',showBanner);
// One privacy control in the footer, never another floating panel.
var footer = d.querySelector('footer');
(footer || d.body).appendChild(settingsButton);
if (!footer) settingsButton.classList.add('tklm-privacy-settings-fallback');
if (decided) hideBanner(); else showBanner();
}
if (d.readyState === 'loading') d.addEventListener('DOMContentLoaded',makeBanner);
else makeBanner();
})(window, document);