diff options
-rw-r--r-- | core/Tracker/Request.php | 6 | ||||
-rw-r--r-- | js/tracker.php | 13 |
2 files changed, 18 insertions, 1 deletions
diff --git a/core/Tracker/Request.php b/core/Tracker/Request.php index d35b538fc1..f307e7ff95 100644 --- a/core/Tracker/Request.php +++ b/core/Tracker/Request.php @@ -658,7 +658,7 @@ class Request return substr(trim($input), 0, CustomVariables::getMaxLengthCustomVariables()); } - protected function shouldUseThirdPartyCookie() + public function shouldUseThirdPartyCookie() { return (bool)Config::getInstance()->Tracker['use_third_party_id_cookie']; } @@ -684,6 +684,10 @@ class Request return; } + if (\Piwik\Tracker\IgnoreCookie::isIgnoreCookieFound()) { + return; + } + $cookie = $this->makeThirdPartyCookieUID(); $idVisitor = bin2hex($idVisitor); $cookie->set(0, $idVisitor); diff --git a/js/tracker.php b/js/tracker.php index ce9793b9cc..4e5ac618c3 100644 --- a/js/tracker.php +++ b/js/tracker.php @@ -67,6 +67,19 @@ $environment = new \Piwik\Application\Environment(null, array( )); $environment->init(); +if (!\Piwik\Tracker\IgnoreCookie::isIgnoreCookieFound()) { + + $request = new \Piwik\Tracker\Request(array()); + + if ($request->shouldUseThirdPartyCookie()) { + $visitorId = $request->getVisitorIdForThirdPartyCookie(); + if (!$visitorId) { + $visitorId = \Piwik\Common::hex2bin(\Piwik\Tracker\Visit::generateUniqueVisitorId()); + } + $request->setThirdPartyCookie($visitorId); + } +} + ProxyHttp::serverStaticFile($file, "application/javascript; charset=UTF-8", $daysExpireFarFuture, $byteStart, $byteEnd); exit; |