function AnalyticsCookie()

in website/src/plugins/visitor-tracking-plugin/track.js [19:65]


function AnalyticsCookie(setString) {
  const enable = setString === SET
  var documentExist = typeof document !== 'undefined'
  if (documentExist && originalCookieGetter) {
    document.__defineGetter__('cookie', function () {
      return originalCookieGetter.call(document);
    });
  }
  if (enable) {
    if (documentExist && originalCookieSetter) {
      document.__defineSetter__('cookie', function (value) {
        originalCookieSetter.call(document, value);
      });
    }
    window[`ga-disable-G-${trackingIndex}`] = false
    if (window['_ga']) cookies.set('_ga', window['_ga'], { domain: '.azure.github.io', expires: 365, path: '/' })
    if (window[`_ga_${trackingIndex}`]) cookies.set(`_ga_${trackingIndex}`, window[`_ga_${trackingIndex}`], { domain: '.azure.github.io', expires: 365, path: '/' })
    setGoogleAnalyticsEnableCookie(365)

    if (window['_ga_started'] === true) { }
    else {
      if (gtagInit) gtagInit()
      startGoogleTagManager()
    }
    window['_ga_started'] = true
  } else {
    setGoogleAnalyticsEnableCookie(-365)
    window[`ga-disable-G-${trackingIndex}`] = true
    window['_ga'] = cookies.get('_ga')
    window[`_ga_${trackingIndex}`] = cookies.get(`_ga_${trackingIndex}`)
    expireCookie('_ga', '/', '.azure.github.io')
    expireCookie(`_ga_${trackingIndex}`, '/', '.azure.github.io')
    expireCookie('_mid', '/')
    expireCookie('_mid', normalizePath(location.pathname))
    expireCookie('_mid', getParentPath())
    if (documentExist && originalCookieSetter) {
      document.__defineSetter__('cookie', function (value) {
        const cookieName = value.split('=')[0].trim();
        // Block _mid cookie if consent is not given
        if (cookieName === '_mid') return;

        // Proceed with setting the cookie using the original setter
        originalCookieSetter.call(document, value);
      });
    }
  }
}