From 662f1cfa9dbc61c78769371c978af7b2ed368e35 Mon Sep 17 00:00:00 2001 From: Thulinma Date: Thu, 12 Apr 2018 15:31:32 +0200 Subject: [PATCH] Added -DNOGA=1 flag to disable Google Analytics --- CMakeLists.txt | 5 +++++ lsp/analytics.js | 14 ++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 lsp/analytics.js diff --git a/CMakeLists.txt b/CMakeLists.txt index c8c90ed9..3ed81542 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -520,6 +520,11 @@ set(lspSOURCES ${SOURCE_DIR}/lsp/minified.js ) + +if (NOT DEFINED NOGA ) + list(APPEND lspSOURCES ${SOURCE_DIR}/lsp/analytics.js) +endif() + add_custom_command(OUTPUT ${BINARY_DIR}/generated/server.html COMMAND ${CMAKE_COMMAND} -DSOURCE_DIR="${SOURCE_DIR}" -DlspSOURCES="${lspSOURCES}" -P ${SOURCE_DIR}/CMakeServHtml.txt DEPENDS ${lspSOURCES} ${SOURCE_DIR}/CMakeServHtml.txt ${SOURCE_DIR}/lsp/main.css ${SOURCE_DIR}/lsp/header.html ${SOURCE_DIR}/lsp/footer.html diff --git a/lsp/analytics.js b/lsp/analytics.js new file mode 100644 index 00000000..6fb2e971 --- /dev/null +++ b/lsp/analytics.js @@ -0,0 +1,14 @@ + +//Google analytics. Can be fully disabled on request (or, if compiling yourself, add the NOGA=1 cmake flag). +//Is also disabled if the browser has the do not track flag setting turned on. +var oldTab = UI.showTab; +UI.showTab = function(){ +  var r = oldTab.apply(this,arguments); +  if ((!navigator.doNotTrack) && (mist.user.loggedin)) { +    UI.elements.main.append( +      $("").attr("src","https://www.google-analytics.com/collect?v=1&tid=UA-32426932-1&cid="+mist.data.config.iid+"&t=pageview&dp="+encodeURIComponent("/MI/"+arguments[0])+"&dh=MI."+(mist.data.LTS ? "Pro" : "OS")).css({width:"1px",height:"1px","min-width":"1px",opacity:0.1,position:"absolute",left:"-1000px"}) +    ); +  } +  return r; +}; +