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:
-rw-r--r--core/ArchiveProcessing/Period.php7
-rw-r--r--plugins/API/API.php5
-rw-r--r--plugins/VisitsSummary/templates/sparklines.tpl2
-rw-r--r--tests/integration/Main.test.php9
-rw-r--r--tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_year.xml2
-rw-r--r--tests/integration/expected/test_apiGetReportMetadata_year__API.getProcessedReport_year.xml50
6 files changed, 70 insertions, 5 deletions
diff --git a/core/ArchiveProcessing/Period.php b/core/ArchiveProcessing/Period.php
index e1d4d96c23..53d78b5782 100644
--- a/core/ArchiveProcessing/Period.php
+++ b/core/ArchiveProcessing/Period.php
@@ -117,8 +117,13 @@ class Piwik_ArchiveProcessing_Period extends Piwik_ArchiveProcessing
$records = array();
foreach($results as $name => $value)
{
- if($name == 'nb_uniq_visitors' && ($this->periodId == Piwik::$idPeriods['week'] || $this->periodId == Piwik::$idPeriods['month']))
+ if($name == 'nb_uniq_visitors')
{
+ // we do not process Unique Visitors for year
+ if($this->periodId == Piwik::$idPeriods['year'])
+ {
+ continue;
+ }
$value = (float) $this->computeNbUniqVisitors();
}
$records[$name] = new Piwik_ArchiveProcessing_Record_Numeric(
diff --git a/plugins/API/API.php b/plugins/API/API.php
index 07e73ec471..46556e21e9 100644
--- a/plugins/API/API.php
+++ b/plugins/API/API.php
@@ -300,12 +300,13 @@ class Piwik_API_API
$reportMetadata['metrics']
);
- if($period != 'day')
+ // See ArchiveProcessing/Period.php - unique visitors are not processed for year period
+ if($period == 'year')
{
unset($columns['nb_uniq_visitors']);
unset($reportMetadata['metrics']['nb_uniq_visitors']);
}
-
+
if(isset($reportMetadata['processedMetrics']))
{
$processedMetricsAdded = Piwik_API_API::getInstance()->getDefaultProcessedMetrics();
diff --git a/plugins/VisitsSummary/templates/sparklines.tpl b/plugins/VisitsSummary/templates/sparklines.tpl
index 9ca3776784..bb85534385 100644
--- a/plugins/VisitsSummary/templates/sparklines.tpl
+++ b/plugins/VisitsSummary/templates/sparklines.tpl
@@ -1,6 +1,8 @@
<div id='leftcolumn'>
<div class="sparkline">{sparkline src=$urlSparklineNbVisits} {'VisitsSummary_NbVisits'|translate:"<strong>$nbVisits</strong>"}</div>
+{if $period != 'year'}
<div class="sparkline">{sparkline src=$urlSparklineNbUniqVisitors} {'VisitsSummary_NbUniqueVisitors'|translate:"<strong>$nbUniqVisitors</strong>"}</div>
+{/if}
<div class="sparkline">{sparkline src=$urlSparklineNbActions} {'VisitsSummary_NbActionsDescription'|translate:"<strong>$nbActions</strong>"}</div>
<div class="sparkline">{sparkline src=$urlSparklineActionsPerVisit} {'VisitsSummary_NbActionsPerVisit'|translate:"<strong>$nbActionsPerVisit</strong>"}</div>
</div>
diff --git a/tests/integration/Main.test.php b/tests/integration/Main.test.php
index 3963f9e55a..8abee9c2a2 100644
--- a/tests/integration/Main.test.php
+++ b/tests/integration/Main.test.php
@@ -55,6 +55,15 @@ class Test_Piwik_Integration_Main extends Test_Integration
$this->callGetApiCompareOutput(__FUNCTION__, 'xml', $idSite, $dateTime);
}
+ function test_apiGetReportMetadata_year()
+ {
+ $this->setApiNotToCall(array());
+ $this->setApiToCall( 'API.getProcessedReport' );
+ $dateTime = '2009-01-04 00:11:42';
+ $idSite = $this->createWebsite($dateTime);
+ $this->callGetApiCompareOutput(__FUNCTION__, 'xml', $idSite, $dateTime, 'year');
+ }
+
/*
* Testing various wrong Tracker requests and check that they behave as expected:
* not throwing errors and not recording data.
diff --git a/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_year.xml b/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_year.xml
index 8e8f7a42d4..95bbc5ab74 100644
--- a/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_year.xml
+++ b/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_year.xml
@@ -5,7 +5,6 @@
<bounce_count>2</bounce_count>
<max_actions>2</max_actions>
<nb_actions>4</nb_actions>
- <nb_uniq_visitors>3</nb_uniq_visitors>
<nb_visits>3</nb_visits>
<sum_visit_length>360</sum_visit_length>
<bounce_rate>67%</bounce_rate>
@@ -24,7 +23,6 @@
<bounce_count>1</bounce_count>
<max_actions>1</max_actions>
<nb_actions>1</nb_actions>
- <nb_uniq_visitors>1</nb_uniq_visitors>
<nb_visits>1</nb_visits>
<bounce_rate>100%</bounce_rate>
<nb_actions_per_visit>1</nb_actions_per_visit>
diff --git a/tests/integration/expected/test_apiGetReportMetadata_year__API.getProcessedReport_year.xml b/tests/integration/expected/test_apiGetReportMetadata_year__API.getProcessedReport_year.xml
new file mode 100644
index 0000000000..9c57b325a6
--- /dev/null
+++ b/tests/integration/expected/test_apiGetReportMetadata_year__API.getProcessedReport_year.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<result>
+ <website>Piwik test</website>
+ <prettyDate>2009</prettyDate>
+ <metadata>
+ <category>Visitors</category>
+ <name>Country</name>
+ <module>UserCountry</module>
+ <action>getCountry</action>
+ <dimension>Country</dimension>
+ <metrics>
+ <nb_visits>Visits</nb_visits>
+ <nb_actions>Actions</nb_actions>
+
+ </metrics>
+ <processedMetrics>
+ <nb_actions_per_visit>Actions per Visit</nb_actions_per_visit>
+ <avg_time_on_site>Avg. Time on Website</avg_time_on_site>
+ <bounce_rate>Bounce Rate</bounce_rate>
+ <conversion_rate>Conversion Rate</conversion_rate>
+
+ </processedMetrics>
+ <metricsGoal>
+ <nb_conversions>Conversions</nb_conversions>
+ <conversion_rate>Conversion Rate</conversion_rate>
+ <revenue>Revenue</revenue>
+
+ </metricsGoal>
+ <processedMetricsGoal>
+ <revenue_per_visit>Value per Visit</revenue_per_visit>
+
+ </processedMetricsGoal>
+ <uniqueId>UserCountry_getCountry</uniqueId>
+
+ </metadata>
+ <columns>
+ <label>Country</label>
+ <nb_visits>Visits</nb_visits>
+ <nb_actions>Actions</nb_actions>
+ <nb_actions_per_visit>Actions per Visit</nb_actions_per_visit>
+ <avg_time_on_site>Avg. Time on Website</avg_time_on_site>
+ <bounce_rate>Bounce Rate</bounce_rate>
+ <conversion_rate>Conversion Rate</conversion_rate>
+ <revenue>Revenue</revenue>
+
+ </columns>
+ <reportData/>
+ <reportMetadata/>
+
+</result> \ No newline at end of file