From ea5a14bdf8aa9608cdc2ab7d5c8236a5ff1eb3e2 Mon Sep 17 00:00:00 2001 From: MichaelHeerklotz Date: Fri, 8 Nov 2019 04:25:20 +0100 Subject: UserID no longer overwrites VisitorId (#14360) * UserID no longer overwrites VisitorId * Update piwik-php-tracker package * Update matomo-php-tracker again. * Fixing test. * Add changelog note. --- plugins/CoreHome/Tracker/VisitRequestProcessor.php | 26 ++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'plugins/CoreHome/Tracker') diff --git a/plugins/CoreHome/Tracker/VisitRequestProcessor.php b/plugins/CoreHome/Tracker/VisitRequestProcessor.php index 73e7e0ae0a..30c5d0fd3a 100644 --- a/plugins/CoreHome/Tracker/VisitRequestProcessor.php +++ b/plugins/CoreHome/Tracker/VisitRequestProcessor.php @@ -189,6 +189,11 @@ class VisitRequestProcessor extends RequestProcessor return true; } + if (!$this->lastUserIdWasSetAndDoesMatch($visitProperties, $request)) { + Common::printDebug("Visitor detected, but last user_id does not match..."); + return true; + } + return false; } @@ -263,4 +268,25 @@ class VisitRequestProcessor extends RequestProcessor return $visitProperties->getProperty('visit_last_action_time'); } + + /** + * Returns true if the last user_id did not change. + * @return bool + */ + protected function lastUserIdWasSetAndDoesMatch(VisitProperties $visitProperties, Request $request) + { + $lastUserId = $visitProperties->getProperty('user_id'); + + if(empty($lastUserId)) { + return true; + } + + $currentUserId = $request->getForcedUserId(); + + if(empty($currentUserId)) { + return true; + } + + return $lastUserId === $currentUserId; + } } -- cgit v1.2.3