pyc-website
main website for pyc inc.
git clone https://9o.is/git/pyc-website.git
commit 9d0beb951378a166851e853deee686cbe623c5f2 parent 4d88cf0ddbb4df8827b0be4d7a69fd930e0e98f0 Author: Jul <jul@9o.is> Date: Wed, 9 Jul 2014 06:29:20 -0400 'noga' query param will remove google analytics tracking Diffstat:
| M | src/main/scala/bootstrap/liftweb/Boot.scala | | | 5 | ++++- |
| M | src/main/scala/inc/pyc/config/GoogleAnalytics.scala | | | 7 | +++++-- |
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/main/scala/bootstrap/liftweb/Boot.scala b/src/main/scala/bootstrap/liftweb/Boot.scala @@ -8,6 +8,7 @@ import http._ import util._ import util.Helpers._ import inc.pyc.config._ +import GoogleAnalytics.dsl._ import inc.pyc.lib._ import inc.pyc.rest._ import inc.pyc.model.{SystemUser, User} @@ -78,7 +79,9 @@ class Boot extends Loggable { Mailer.testModeSend.default.set((m: MimeMessage) => logger.info("Test mode message:\n" + prettyPrintMime(m))) // Google Analytics - GoogleAnalytics.angularInit() + GoogleAnalytics.angularInit { + only when S.param("noga").isEmpty + }() // Website sitemap Sitemap.init() diff --git a/src/main/scala/inc/pyc/config/GoogleAnalytics.scala b/src/main/scala/inc/pyc/config/GoogleAnalytics.scala @@ -44,12 +44,14 @@ object GoogleAnalytics extends Loggable { def when(f: => Boolean) = f _ } } + + def angularInit: Unit = angularInit( ()⇒true ) _ /** * Configures an angular module with angular-google-analytics * https://github.com/revolunet/angular-google-analytics */ - def angularInit(moduleName: String = "app", analytics: Boolean = true): Unit = id foreach { id => + def angularInit(includeTest: () ⇒ Boolean)(moduleName: String = "app", analytics: Boolean = true): Unit = id foreach { id => val config = moduleName + """.config(function(AnalyticsProvider) { AnalyticsProvider.setAccount('"""+id+"""'); @@ -59,7 +61,8 @@ object GoogleAnalytics extends Loggable { """ + moduleName + ".run(function(Analytics){});" - def addTracking(s: LiftSession, r: Req) : Unit = S.putAtEndOfBody(<script>{config}</script>) + def addTracking(s: LiftSession, r: Req) : Unit = + if (includeTest()) S.putAtEndOfBody(<script>{config}</script>) LiftSession.onBeginServicing = addTracking _ :: LiftSession.onBeginServicing }