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/ArchiveProcessor.php')
-rw-r--r--core/ArchiveProcessor.php39
1 files changed, 29 insertions, 10 deletions
diff --git a/core/ArchiveProcessor.php b/core/ArchiveProcessor.php
index ca2ebde323..17716000e8 100644
--- a/core/ArchiveProcessor.php
+++ b/core/ArchiveProcessor.php
@@ -389,19 +389,38 @@ class ArchiveProcessor
) {
return;
}
- if ($row->getColumn('nb_uniq_visitors') !== false
- || $row->getColumn('nb_users') !== false
+
+ if ($row->getColumn('nb_uniq_visitors') === false
+ && $row->getColumn('nb_users') === false
) {
- if (SettingsPiwik::isUniqueVisitorsEnabled($this->getParams()->getPeriod()->getLabel())) {
- $metrics = array(Metrics::INDEX_NB_UNIQ_VISITORS, Metrics::INDEX_NB_USERS);
- $uniques = $this->computeNbUniques( $metrics );
- $row->setColumn('nb_uniq_visitors', $uniques[Metrics::INDEX_NB_UNIQ_VISITORS]);
- $row->setColumn('nb_users', $uniques[Metrics::INDEX_NB_USERS]);
- } else {
- $row->deleteColumn('nb_uniq_visitors');
- $row->deleteColumn('nb_users');
+ return;
+ }
+
+ if (!SettingsPiwik::isUniqueVisitorsEnabled($this->getParams()->getPeriod()->getLabel())) {
+ $row->deleteColumn('nb_uniq_visitors');
+ $row->deleteColumn('nb_users');
+ return;
+ }
+
+ $metrics = array(
+ Metrics::INDEX_NB_USERS
+ );
+
+ if($this->getParams()->isSingleSite()) {
+ $uniqueVisitorsMetric = Metrics::INDEX_NB_UNIQ_VISITORS;
+ } else {
+ if(!SettingsPiwik::isSameFingerprintAcrossWebsites()) {
+ throw new Exception("Processing unique visitors across websites is enabled for this instance,
+ but to process this metric you must first set enable_fingerprinting_across_websites=1
+ in the config file, under the [Tracker] section.");
}
+ $uniqueVisitorsMetric = Metrics::INDEX_NB_UNIQ_FINGERPRINTS;
}
+ $metrics[] = $uniqueVisitorsMetric;
+
+ $uniques = $this->computeNbUniques( $metrics );
+ $row->setColumn('nb_uniq_visitors', $uniques[$uniqueVisitorsMetric]);
+ $row->setColumn('nb_users', $uniques[Metrics::INDEX_NB_USERS]);
}
protected function guessOperationForColumn($column)