From 8bee68c23863427694c9d7c92fc0e6bf6844e451 Mon Sep 17 00:00:00 2001 From: Jurian Sluiman Date: Mon, 29 Apr 2013 13:09:15 +0200 Subject: [PATCH] Create a configuration option to turn off tracking In development/staging environments you can now turn off tracking by a configuration variable in your local.php autoload config file. --- Module.php | 4 ++++ config/module.config.php | 1 + config/slmgoogleanalytics.global.php.dist | 9 +++++++++ src/SlmGoogleAnalytics/Analytics/Tracker.php | 6 +++--- 4 files changed, 17 insertions(+), 3 deletions(-) diff --git a/Module.php b/Module.php index d35701b..da82349 100644 --- a/Module.php +++ b/Module.php @@ -109,6 +109,10 @@ public function getServiceConfig() $tracker->setAllowLinker($config['allow_linker']); } + if (false === $config['enable']) { + $tracker->setEnableTracking(false); + } + return $tracker; }, ), diff --git a/config/module.config.php b/config/module.config.php index 16f1a9f..dc56b60 100644 --- a/config/module.config.php +++ b/config/module.config.php @@ -41,6 +41,7 @@ return array( 'google_analytics' => array( + 'enable' => true, 'id' => '', 'domain_name' => '', 'allow_linker' => false, diff --git a/config/slmgoogleanalytics.global.php.dist b/config/slmgoogleanalytics.global.php.dist index 75cddfa..76aa67f 100644 --- a/config/slmgoogleanalytics.global.php.dist +++ b/config/slmgoogleanalytics.global.php.dist @@ -17,6 +17,15 @@ $googleAnalytics = array( */ 'domain_name' => '', 'allow_linker' => false, + + /** + * Disable/enable page tracking + * + * It is adviced to turn off tracking in a development/staging environment. Put this + * configuration option in your local.php in the autoload folder and set "enable" to + * false. + */ + // 'enable' => false, ); /** diff --git a/src/SlmGoogleAnalytics/Analytics/Tracker.php b/src/SlmGoogleAnalytics/Analytics/Tracker.php index 1590b38..cfec355 100644 --- a/src/SlmGoogleAnalytics/Analytics/Tracker.php +++ b/src/SlmGoogleAnalytics/Analytics/Tracker.php @@ -105,7 +105,7 @@ public function setEnablePageTracking ($enable_page_tracking = true) { $this->enablePageTracking = (bool) $enable_page_tracking; } - + public function setAllowLinker($allow_linker) { $this->allowLinker = (bool) $allow_linker; @@ -120,7 +120,7 @@ public function setDomainName($domain_name) { if (!is_string($domain_name)) throw new InvalidArgumentException('$domain_name is not a string'); - + $this->domainName = $domain_name; } @@ -143,7 +143,7 @@ public function setAnonymizeIp($flag) { $this->anonymizeIp = (bool) $flag; } - + public function events () { return $this->events;