Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'core/Tracker/Visit.php')
-rw-r--r--core/Tracker/Visit.php11
1 files changed, 8 insertions, 3 deletions
diff --git a/core/Tracker/Visit.php b/core/Tracker/Visit.php
index f9c845737d..9f5d90d65a 100644
--- a/core/Tracker/Visit.php
+++ b/core/Tracker/Visit.php
@@ -65,6 +65,11 @@ class Visit implements VisitInterface
protected $visitProperties;
/**
+ * @var VisitProperties
+ */
+ protected $previousVisitProperties;
+
+ /**
* @var ArchiveInvalidator
*/
private $invalidator;
@@ -179,6 +184,7 @@ class Visit implements VisitInterface
}
$isNewVisit = $this->request->getMetadata('CoreHome', 'isNewVisit');
+ $this->previousVisitProperties = new VisitProperties($this->request->getMetadata('CoreHome', 'lastKnownVisit') ?: []);
// Known visit when:
// ( - the visitor has the Piwik cookie with the idcookie ID used by Piwik to match the visitor
@@ -211,7 +217,6 @@ class Visit implements VisitInterface
$processor->recordLogs($this->visitProperties, $this->request);
}
-
$this->markArchivedReportsAsInvalidIfArchiveAlreadyFinished();
}
@@ -251,7 +256,7 @@ class Visit implements VisitInterface
// statement at all avoiding potential lock wait time when too many requests try to update the same visit at
// same time
$visitorRecognizer = StaticContainer::get(VisitorRecognizer::class);
- $valuesToUpdate = $visitorRecognizer->removeUnchangedValues($this->visitProperties, $valuesToUpdate);
+ $valuesToUpdate = $visitorRecognizer->removeUnchangedValues($valuesToUpdate, $this->previousVisitProperties);
$this->updateExistingVisit($valuesToUpdate);
@@ -607,6 +612,6 @@ class Visit implements VisitInterface
private function makeVisitorFacade()
{
- return Visitor::makeFromVisitProperties($this->visitProperties, $this->request);
+ return Visitor::makeFromVisitProperties($this->visitProperties, $this->request, $this->previousVisitProperties);
}
}