From dba5b703e7f3fb34f89c3cb28fe2e39fb61a8807 Mon Sep 17 00:00:00 2001
From: mattpiwik <matthieu.aubry@gmail.com>
Date: Mon, 17 Jan 2011 10:21:41 +0000
Subject: [PATCH] Refs #1363  * Fixing bug triggered in an edge case. added
 integration test reproducing the issue  * this was causing an error during
 Archiving: "Fatal error: Cannot use object of type Piwik_DataTable_Row as
 array in /home/www/trunk/plugins/Actions/Actions.php on line 552"

git-svn-id: http://dev.piwik.org/svn/trunk@3768 59fd770c-687e-43c8-a1e3-f5a4ff64c105
---
 plugins/Actions/Actions.php                   |  4 +--
 tests/integration/Main.test.php               | 10 +++++-
 ...fferentDays__Actions.getPageTitles_day.xml | 34 ++++++++-----------
 ...erentDays__Actions.getPageTitles_month.xml | 34 ++++++++-----------
 ...ferentDays__Actions.getPageTitles_week.xml | 34 ++++++++-----------
 ...ferentDays__Actions.getPageTitles_year.xml | 34 ++++++++-----------
 ...differentDays__Actions.getPageUrls_day.xml | 12 +++----
 ...fferentDays__Actions.getPageUrls_month.xml | 12 +++----
 ...ifferentDays__Actions.getPageUrls_week.xml | 12 +++----
 ...ifferentDays__Actions.getPageUrls_year.xml | 12 +++----
 ...ifferentDays__Referers.getWebsites_day.xml | 12 +++----
 ...ferentDays__Referers.getWebsites_month.xml | 12 +++----
 ...fferentDays__Referers.getWebsites_week.xml | 12 +++----
 ...fferentDays__Referers.getWebsites_year.xml | 12 +++----
 ..._differentDays__VisitFrequency.get_day.xml | 10 +++---
 ...ifferentDays__VisitFrequency.get_month.xml | 10 +++---
 ...differentDays__VisitFrequency.get_week.xml | 10 +++---
 ...differentDays__VisitFrequency.get_year.xml | 10 +++---
 ...s_differentDays__VisitsSummary.get_day.xml | 10 +++---
 ...differentDays__VisitsSummary.get_month.xml | 10 +++---
 ..._differentDays__VisitsSummary.get_week.xml | 10 +++---
 ..._differentDays__VisitsSummary.get_year.xml | 10 +++---
 22 files changed, 155 insertions(+), 171 deletions(-)

diff --git a/plugins/Actions/Actions.php b/plugins/Actions/Actions.php
index b36a274b99..20860718af 100644
--- a/plugins/Actions/Actions.php
+++ b/plugins/Actions/Actions.php
@@ -427,11 +427,11 @@ class Piwik_Actions extends Piwik_Plugin
 		// we are careful to prefix the page URL / name with some value
 		// so that if a page has the same name as a category 
 		// we don't merge both entries 
-		if($type == Piwik_Tracker_Action::TYPE_ACTION_URL )
+		if($type != Piwik_Tracker_Action::TYPE_ACTION_NAME )
 		{
 			$lastPageName = '/' . $lastPageName;
 		}
-		elseif($type == Piwik_Tracker_Action::TYPE_ACTION_NAME) 
+		else 
 		{
 			$lastPageName = ' ' . $lastPageName;
 		}
diff --git a/tests/integration/Main.test.php b/tests/integration/Main.test.php
index a048cc93be..89ac84f9f0 100644
--- a/tests/integration/Main.test.php
+++ b/tests/integration/Main.test.php
@@ -225,6 +225,7 @@ class Test_Piwik_Integration_Main extends Test_Integration
 	 * and requesting data for last N periods.
 	 * Also tests a visit that spans over 2 days.
 	 * And testing empty URL and empty Page name request
+	 * Also testing a click on a mailto counted as outlink
 	 */
 	function test_TwoVisitors_twoWebsites_differentDays()
 	{
@@ -236,7 +237,8 @@ class Test_Piwik_Integration_Main extends Test_Integration
     								'VisitsSummary.get',
     								'Referers.getWebsites', 
     								'Actions.getPageUrls', 
-    								'Actions.getPageTitles'));
+    								'Actions.getPageTitles',
+    	                            'Actions.getOutlinks'));
     	ob_start();
     	
     	// -
@@ -272,6 +274,12 @@ class Test_Piwik_Integration_Main extends Test_Integration
     	$visitorB->setUrl('http://example.org/thankyou');
     	$this->checkResponse($visitorB->doTrackPageView('second visitor/two days later/second page view'));
     	
+    	// Testing a strange combination causing an error in r3767
+    	$visitorB->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(48)->addHour(0.2)->getDatetime());
+    	$this->checkResponse($visitorB->doTrackAction('mailto:test@example.org', 'link'));
+    	$visitorB->setForceVisitDateTime(Piwik_Date::factory($dateTime)->addHour(48)->addHour(0.25)->getDatetime());
+    	$this->checkResponse($visitorB->doTrackAction('mailto:test@example.org/strangelink', 'link'));
+    	
     	// -
     	// First visitor on Idsite 2: one page view, with Website referer
         $visitorAsite2 = $this->getTracker($idSite2, Piwik_Date::factory($dateTime)->addHour(24)->getDatetime(), $defaultInit = true);
diff --git a/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_day.xml b/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_day.xml
index 22fc0b19de..12de83797f 100644
--- a/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_day.xml
+++ b/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_day.xml
@@ -39,41 +39,37 @@
 				<label>second visitor</label>
 				<nb_visits>2</nb_visits>
 				<nb_hits>2</nb_hits>
-				<sum_time_spent>360</sum_time_spent>
+				<sum_time_spent>720</sum_time_spent>
 				<entry_nb_visits>1</entry_nb_visits>
-				<entry_nb_actions>2</entry_nb_actions>
-				<entry_sum_visit_length>360</entry_sum_visit_length>
+				<entry_nb_actions>4</entry_nb_actions>
+				<entry_sum_visit_length>900</entry_sum_visit_length>
 				<entry_bounce_count>0</entry_bounce_count>
-				<exit_nb_visits>1</exit_nb_visits>
-				<avg_time_on_page>180</avg_time_on_page>
+				<avg_time_on_page>360</avg_time_on_page>
 				<bounce_rate>0%</bounce_rate>
-				<exit_rate>50%</exit_rate>
+				<exit_rate>0%</exit_rate>
 				<subtable>
 					<row>
 						<label>two days later</label>
 						<nb_visits>2</nb_visits>
 						<nb_hits>2</nb_hits>
-						<sum_time_spent>360</sum_time_spent>
+						<sum_time_spent>720</sum_time_spent>
 						<entry_nb_visits>1</entry_nb_visits>
-						<entry_nb_actions>2</entry_nb_actions>
-						<entry_sum_visit_length>360</entry_sum_visit_length>
+						<entry_nb_actions>4</entry_nb_actions>
+						<entry_sum_visit_length>900</entry_sum_visit_length>
 						<entry_bounce_count>0</entry_bounce_count>
-						<exit_nb_visits>1</exit_nb_visits>
-						<avg_time_on_page>180</avg_time_on_page>
+						<avg_time_on_page>360</avg_time_on_page>
 						<bounce_rate>0%</bounce_rate>
-						<exit_rate>50%</exit_rate>
+						<exit_rate>0%</exit_rate>
 						<subtable>
 							<row>
 								<label> second page view</label>
 								<nb_visits>1</nb_visits>
 								<nb_uniq_visitors>1</nb_uniq_visitors>
 								<nb_hits>1</nb_hits>
-								<sum_time_spent>0</sum_time_spent>
-								<exit_nb_uniq_visitors>1</exit_nb_uniq_visitors>
-								<exit_nb_visits>1</exit_nb_visits>
-								<avg_time_on_page>0</avg_time_on_page>
+								<sum_time_spent>360</sum_time_spent>
+								<avg_time_on_page>360</avg_time_on_page>
 								<bounce_rate>0%</bounce_rate>
-								<exit_rate>100%</exit_rate>
+								<exit_rate>0%</exit_rate>
 							</row>
 							<row>
 								<label> a new visit</label>
@@ -83,8 +79,8 @@
 								<sum_time_spent>360</sum_time_spent>
 								<entry_nb_uniq_visitors>1</entry_nb_uniq_visitors>
 								<entry_nb_visits>1</entry_nb_visits>
-								<entry_nb_actions>2</entry_nb_actions>
-								<entry_sum_visit_length>360</entry_sum_visit_length>
+								<entry_nb_actions>4</entry_nb_actions>
+								<entry_sum_visit_length>900</entry_sum_visit_length>
 								<entry_bounce_count>0</entry_bounce_count>
 								<avg_time_on_page>360</avg_time_on_page>
 								<bounce_rate>0%</bounce_rate>
diff --git a/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_month.xml b/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_month.xml
index cbb6e7cda7..e0dd626f42 100644
--- a/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_month.xml
+++ b/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_month.xml
@@ -23,41 +23,37 @@
 				<label>second visitor</label>
 				<nb_visits>2</nb_visits>
 				<nb_hits>2</nb_hits>
-				<sum_time_spent>360</sum_time_spent>
+				<sum_time_spent>720</sum_time_spent>
 				<entry_nb_visits>1</entry_nb_visits>
-				<entry_nb_actions>2</entry_nb_actions>
-				<entry_sum_visit_length>360</entry_sum_visit_length>
+				<entry_nb_actions>4</entry_nb_actions>
+				<entry_sum_visit_length>900</entry_sum_visit_length>
 				<entry_bounce_count>0</entry_bounce_count>
-				<exit_nb_visits>1</exit_nb_visits>
-				<avg_time_on_page>180</avg_time_on_page>
+				<avg_time_on_page>360</avg_time_on_page>
 				<bounce_rate>0%</bounce_rate>
-				<exit_rate>50%</exit_rate>
+				<exit_rate>0%</exit_rate>
 				<subtable>
 					<row>
 						<label>two days later</label>
 						<nb_visits>2</nb_visits>
 						<nb_hits>2</nb_hits>
-						<sum_time_spent>360</sum_time_spent>
+						<sum_time_spent>720</sum_time_spent>
 						<entry_nb_visits>1</entry_nb_visits>
-						<entry_nb_actions>2</entry_nb_actions>
-						<entry_sum_visit_length>360</entry_sum_visit_length>
+						<entry_nb_actions>4</entry_nb_actions>
+						<entry_sum_visit_length>900</entry_sum_visit_length>
 						<entry_bounce_count>0</entry_bounce_count>
-						<exit_nb_visits>1</exit_nb_visits>
-						<avg_time_on_page>180</avg_time_on_page>
+						<avg_time_on_page>360</avg_time_on_page>
 						<bounce_rate>0%</bounce_rate>
-						<exit_rate>50%</exit_rate>
+						<exit_rate>0%</exit_rate>
 						<subtable>
 							<row>
 								<label> second page view</label>
 								<nb_visits>1</nb_visits>
 								<nb_hits>1</nb_hits>
-								<sum_time_spent>0</sum_time_spent>
-								<exit_nb_visits>1</exit_nb_visits>
+								<sum_time_spent>360</sum_time_spent>
 								<sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors>
-								<sum_daily_exit_nb_uniq_visitors>1</sum_daily_exit_nb_uniq_visitors>
-								<avg_time_on_page>0</avg_time_on_page>
+								<avg_time_on_page>360</avg_time_on_page>
 								<bounce_rate>0%</bounce_rate>
-								<exit_rate>100%</exit_rate>
+								<exit_rate>0%</exit_rate>
 							</row>
 							<row>
 								<label> a new visit</label>
@@ -65,8 +61,8 @@
 								<nb_hits>1</nb_hits>
 								<sum_time_spent>360</sum_time_spent>
 								<entry_nb_visits>1</entry_nb_visits>
-								<entry_nb_actions>2</entry_nb_actions>
-								<entry_sum_visit_length>360</entry_sum_visit_length>
+								<entry_nb_actions>4</entry_nb_actions>
+								<entry_sum_visit_length>900</entry_sum_visit_length>
 								<entry_bounce_count>0</entry_bounce_count>
 								<sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors>
 								<sum_daily_entry_nb_uniq_visitors>1</sum_daily_entry_nb_uniq_visitors>
diff --git a/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_week.xml b/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_week.xml
index 8496daf20e..5ad111fece 100644
--- a/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_week.xml
+++ b/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_week.xml
@@ -25,41 +25,37 @@
 				<label>second visitor</label>
 				<nb_visits>2</nb_visits>
 				<nb_hits>2</nb_hits>
-				<sum_time_spent>360</sum_time_spent>
+				<sum_time_spent>720</sum_time_spent>
 				<entry_nb_visits>1</entry_nb_visits>
-				<entry_nb_actions>2</entry_nb_actions>
-				<entry_sum_visit_length>360</entry_sum_visit_length>
+				<entry_nb_actions>4</entry_nb_actions>
+				<entry_sum_visit_length>900</entry_sum_visit_length>
 				<entry_bounce_count>0</entry_bounce_count>
-				<exit_nb_visits>1</exit_nb_visits>
-				<avg_time_on_page>180</avg_time_on_page>
+				<avg_time_on_page>360</avg_time_on_page>
 				<bounce_rate>0%</bounce_rate>
-				<exit_rate>50%</exit_rate>
+				<exit_rate>0%</exit_rate>
 				<subtable>
 					<row>
 						<label>two days later</label>
 						<nb_visits>2</nb_visits>
 						<nb_hits>2</nb_hits>
-						<sum_time_spent>360</sum_time_spent>
+						<sum_time_spent>720</sum_time_spent>
 						<entry_nb_visits>1</entry_nb_visits>
-						<entry_nb_actions>2</entry_nb_actions>
-						<entry_sum_visit_length>360</entry_sum_visit_length>
+						<entry_nb_actions>4</entry_nb_actions>
+						<entry_sum_visit_length>900</entry_sum_visit_length>
 						<entry_bounce_count>0</entry_bounce_count>
-						<exit_nb_visits>1</exit_nb_visits>
-						<avg_time_on_page>180</avg_time_on_page>
+						<avg_time_on_page>360</avg_time_on_page>
 						<bounce_rate>0%</bounce_rate>
-						<exit_rate>50%</exit_rate>
+						<exit_rate>0%</exit_rate>
 						<subtable>
 							<row>
 								<label> second page view</label>
 								<nb_visits>1</nb_visits>
 								<nb_hits>1</nb_hits>
-								<sum_time_spent>0</sum_time_spent>
-								<exit_nb_visits>1</exit_nb_visits>
+								<sum_time_spent>360</sum_time_spent>
 								<sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors>
-								<sum_daily_exit_nb_uniq_visitors>1</sum_daily_exit_nb_uniq_visitors>
-								<avg_time_on_page>0</avg_time_on_page>
+								<avg_time_on_page>360</avg_time_on_page>
 								<bounce_rate>0%</bounce_rate>
-								<exit_rate>100%</exit_rate>
+								<exit_rate>0%</exit_rate>
 							</row>
 							<row>
 								<label> a new visit</label>
@@ -67,8 +63,8 @@
 								<nb_hits>1</nb_hits>
 								<sum_time_spent>360</sum_time_spent>
 								<entry_nb_visits>1</entry_nb_visits>
-								<entry_nb_actions>2</entry_nb_actions>
-								<entry_sum_visit_length>360</entry_sum_visit_length>
+								<entry_nb_actions>4</entry_nb_actions>
+								<entry_sum_visit_length>900</entry_sum_visit_length>
 								<entry_bounce_count>0</entry_bounce_count>
 								<sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors>
 								<sum_daily_entry_nb_uniq_visitors>1</sum_daily_entry_nb_uniq_visitors>
diff --git a/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_year.xml b/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_year.xml
index 54891733b3..5776b676b7 100644
--- a/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_year.xml
+++ b/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_year.xml
@@ -23,41 +23,37 @@
 				<label>second visitor</label>
 				<nb_visits>2</nb_visits>
 				<nb_hits>2</nb_hits>
-				<sum_time_spent>360</sum_time_spent>
+				<sum_time_spent>720</sum_time_spent>
 				<entry_nb_visits>1</entry_nb_visits>
-				<entry_nb_actions>2</entry_nb_actions>
-				<entry_sum_visit_length>360</entry_sum_visit_length>
+				<entry_nb_actions>4</entry_nb_actions>
+				<entry_sum_visit_length>900</entry_sum_visit_length>
 				<entry_bounce_count>0</entry_bounce_count>
-				<exit_nb_visits>1</exit_nb_visits>
-				<avg_time_on_page>180</avg_time_on_page>
+				<avg_time_on_page>360</avg_time_on_page>
 				<bounce_rate>0%</bounce_rate>
-				<exit_rate>50%</exit_rate>
+				<exit_rate>0%</exit_rate>
 				<subtable>
 					<row>
 						<label>two days later</label>
 						<nb_visits>2</nb_visits>
 						<nb_hits>2</nb_hits>
-						<sum_time_spent>360</sum_time_spent>
+						<sum_time_spent>720</sum_time_spent>
 						<entry_nb_visits>1</entry_nb_visits>
-						<entry_nb_actions>2</entry_nb_actions>
-						<entry_sum_visit_length>360</entry_sum_visit_length>
+						<entry_nb_actions>4</entry_nb_actions>
+						<entry_sum_visit_length>900</entry_sum_visit_length>
 						<entry_bounce_count>0</entry_bounce_count>
-						<exit_nb_visits>1</exit_nb_visits>
-						<avg_time_on_page>180</avg_time_on_page>
+						<avg_time_on_page>360</avg_time_on_page>
 						<bounce_rate>0%</bounce_rate>
-						<exit_rate>50%</exit_rate>
+						<exit_rate>0%</exit_rate>
 						<subtable>
 							<row>
 								<label> second page view</label>
 								<nb_visits>1</nb_visits>
 								<nb_hits>1</nb_hits>
-								<sum_time_spent>0</sum_time_spent>
-								<exit_nb_visits>1</exit_nb_visits>
+								<sum_time_spent>360</sum_time_spent>
 								<sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors>
-								<sum_daily_exit_nb_uniq_visitors>1</sum_daily_exit_nb_uniq_visitors>
-								<avg_time_on_page>0</avg_time_on_page>
+								<avg_time_on_page>360</avg_time_on_page>
 								<bounce_rate>0%</bounce_rate>
-								<exit_rate>100%</exit_rate>
+								<exit_rate>0%</exit_rate>
 							</row>
 							<row>
 								<label> a new visit</label>
@@ -65,8 +61,8 @@
 								<nb_hits>1</nb_hits>
 								<sum_time_spent>360</sum_time_spent>
 								<entry_nb_visits>1</entry_nb_visits>
-								<entry_nb_actions>2</entry_nb_actions>
-								<entry_sum_visit_length>360</entry_sum_visit_length>
+								<entry_nb_actions>4</entry_nb_actions>
+								<entry_sum_visit_length>900</entry_sum_visit_length>
 								<entry_bounce_count>0</entry_bounce_count>
 								<sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors>
 								<sum_daily_entry_nb_uniq_visitors>1</sum_daily_entry_nb_uniq_visitors>
diff --git a/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_day.xml b/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_day.xml
index b44de8e851..fea2843acc 100644
--- a/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_day.xml
+++ b/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_day.xml
@@ -53,12 +53,10 @@
 				<nb_visits>1</nb_visits>
 				<nb_uniq_visitors>1</nb_uniq_visitors>
 				<nb_hits>1</nb_hits>
-				<sum_time_spent>0</sum_time_spent>
-				<exit_nb_uniq_visitors>1</exit_nb_uniq_visitors>
-				<exit_nb_visits>1</exit_nb_visits>
-				<avg_time_on_page>0</avg_time_on_page>
+				<sum_time_spent>360</sum_time_spent>
+				<avg_time_on_page>360</avg_time_on_page>
 				<bounce_rate>0%</bounce_rate>
-				<exit_rate>100%</exit_rate>
+				<exit_rate>0%</exit_rate>
 				<url>http://example.org/thankyou</url>
 			</row>
 			<row>
@@ -69,8 +67,8 @@
 				<sum_time_spent>360</sum_time_spent>
 				<entry_nb_uniq_visitors>1</entry_nb_uniq_visitors>
 				<entry_nb_visits>1</entry_nb_visits>
-				<entry_nb_actions>2</entry_nb_actions>
-				<entry_sum_visit_length>360</entry_sum_visit_length>
+				<entry_nb_actions>4</entry_nb_actions>
+				<entry_sum_visit_length>900</entry_sum_visit_length>
 				<entry_bounce_count>0</entry_bounce_count>
 				<avg_time_on_page>360</avg_time_on_page>
 				<bounce_rate>0%</bounce_rate>
diff --git a/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_month.xml b/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_month.xml
index fc4fe4bc21..6b29877f2b 100644
--- a/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_month.xml
+++ b/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_month.xml
@@ -8,8 +8,8 @@
 				<nb_hits>2</nb_hits>
 				<sum_time_spent>360</sum_time_spent>
 				<entry_nb_visits>1</entry_nb_visits>
-				<entry_nb_actions>2</entry_nb_actions>
-				<entry_sum_visit_length>360</entry_sum_visit_length>
+				<entry_nb_actions>4</entry_nb_actions>
+				<entry_sum_visit_length>900</entry_sum_visit_length>
 				<entry_bounce_count>0</entry_bounce_count>
 				<sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
 				<sum_daily_entry_nb_uniq_visitors>1</sum_daily_entry_nb_uniq_visitors>
@@ -22,13 +22,11 @@
 				<label>/thankyou</label>
 				<nb_visits>1</nb_visits>
 				<nb_hits>1</nb_hits>
-				<sum_time_spent>0</sum_time_spent>
-				<exit_nb_visits>1</exit_nb_visits>
+				<sum_time_spent>360</sum_time_spent>
 				<sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors>
-				<sum_daily_exit_nb_uniq_visitors>1</sum_daily_exit_nb_uniq_visitors>
-				<avg_time_on_page>0</avg_time_on_page>
+				<avg_time_on_page>360</avg_time_on_page>
 				<bounce_rate>0%</bounce_rate>
-				<exit_rate>100%</exit_rate>
+				<exit_rate>0%</exit_rate>
 				<url>http://example.org/thankyou</url>
 			</row>
 			<row>
diff --git a/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_week.xml b/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_week.xml
index 5bb3618f68..9225c807cc 100644
--- a/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_week.xml
+++ b/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_week.xml
@@ -37,13 +37,11 @@
 				<label>/thankyou</label>
 				<nb_visits>1</nb_visits>
 				<nb_hits>1</nb_hits>
-				<sum_time_spent>0</sum_time_spent>
-				<exit_nb_visits>1</exit_nb_visits>
+				<sum_time_spent>360</sum_time_spent>
 				<sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors>
-				<sum_daily_exit_nb_uniq_visitors>1</sum_daily_exit_nb_uniq_visitors>
-				<avg_time_on_page>0</avg_time_on_page>
+				<avg_time_on_page>360</avg_time_on_page>
 				<bounce_rate>0%</bounce_rate>
-				<exit_rate>100%</exit_rate>
+				<exit_rate>0%</exit_rate>
 				<url>http://example.org/thankyou</url>
 			</row>
 			<row>
@@ -52,8 +50,8 @@
 				<nb_hits>1</nb_hits>
 				<sum_time_spent>360</sum_time_spent>
 				<entry_nb_visits>1</entry_nb_visits>
-				<entry_nb_actions>2</entry_nb_actions>
-				<entry_sum_visit_length>360</entry_sum_visit_length>
+				<entry_nb_actions>4</entry_nb_actions>
+				<entry_sum_visit_length>900</entry_sum_visit_length>
 				<entry_bounce_count>0</entry_bounce_count>
 				<sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors>
 				<sum_daily_entry_nb_uniq_visitors>1</sum_daily_entry_nb_uniq_visitors>
diff --git a/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_year.xml b/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_year.xml
index 453c1ae0c1..0ce97c43b0 100644
--- a/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_year.xml
+++ b/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_year.xml
@@ -8,8 +8,8 @@
 				<nb_hits>2</nb_hits>
 				<sum_time_spent>360</sum_time_spent>
 				<entry_nb_visits>1</entry_nb_visits>
-				<entry_nb_actions>2</entry_nb_actions>
-				<entry_sum_visit_length>360</entry_sum_visit_length>
+				<entry_nb_actions>4</entry_nb_actions>
+				<entry_sum_visit_length>900</entry_sum_visit_length>
 				<entry_bounce_count>0</entry_bounce_count>
 				<sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
 				<sum_daily_entry_nb_uniq_visitors>1</sum_daily_entry_nb_uniq_visitors>
@@ -22,13 +22,11 @@
 				<label>/thankyou</label>
 				<nb_visits>1</nb_visits>
 				<nb_hits>1</nb_hits>
-				<sum_time_spent>0</sum_time_spent>
-				<exit_nb_visits>1</exit_nb_visits>
+				<sum_time_spent>360</sum_time_spent>
 				<sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors>
-				<sum_daily_exit_nb_uniq_visitors>1</sum_daily_exit_nb_uniq_visitors>
-				<avg_time_on_page>0</avg_time_on_page>
+				<avg_time_on_page>360</avg_time_on_page>
 				<bounce_rate>0%</bounce_rate>
-				<exit_rate>100%</exit_rate>
+				<exit_rate>0%</exit_rate>
 				<url>http://example.org/thankyou</url>
 			</row>
 			<row>
diff --git a/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Referers.getWebsites_day.xml b/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Referers.getWebsites_day.xml
index 8819cb0011..036a8ca09f 100644
--- a/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Referers.getWebsites_day.xml
+++ b/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Referers.getWebsites_day.xml
@@ -31,9 +31,9 @@
 				<label>referer.com</label>
 				<nb_uniq_visitors>1</nb_uniq_visitors>
 				<nb_visits>1</nb_visits>
-				<nb_actions>2</nb_actions>
-				<max_actions>2</max_actions>
-				<sum_visit_length>360</sum_visit_length>
+				<nb_actions>4</nb_actions>
+				<max_actions>4</max_actions>
+				<sum_visit_length>900</sum_visit_length>
 				<bounce_count>0</bounce_count>
 				<nb_visits_converted>0</nb_visits_converted>
 				<subtable>
@@ -41,9 +41,9 @@
 						<label>http://referer.com/Other_Page.htm</label>
 						<nb_uniq_visitors>1</nb_uniq_visitors>
 						<nb_visits>1</nb_visits>
-						<nb_actions>2</nb_actions>
-						<max_actions>2</max_actions>
-						<sum_visit_length>360</sum_visit_length>
+						<nb_actions>4</nb_actions>
+						<max_actions>4</max_actions>
+						<sum_visit_length>900</sum_visit_length>
 						<bounce_count>0</bounce_count>
 						<nb_visits_converted>0</nb_visits_converted>
 					</row>
diff --git a/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Referers.getWebsites_month.xml b/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Referers.getWebsites_month.xml
index 55051cb062..0a98114910 100644
--- a/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Referers.getWebsites_month.xml
+++ b/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Referers.getWebsites_month.xml
@@ -5,9 +5,9 @@
 			<row>
 				<label>referer.com</label>
 				<nb_visits>2</nb_visits>
-				<nb_actions>4</nb_actions>
-				<max_actions>2</max_actions>
-				<sum_visit_length>720</sum_visit_length>
+				<nb_actions>6</nb_actions>
+				<max_actions>4</max_actions>
+				<sum_visit_length>1260</sum_visit_length>
 				<bounce_count>0</bounce_count>
 				<nb_visits_converted>0</nb_visits_converted>
 				<sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
@@ -15,9 +15,9 @@
 					<row>
 						<label>http://referer.com/Other_Page.htm</label>
 						<nb_visits>1</nb_visits>
-						<nb_actions>2</nb_actions>
-						<max_actions>2</max_actions>
-						<sum_visit_length>360</sum_visit_length>
+						<nb_actions>4</nb_actions>
+						<max_actions>4</max_actions>
+						<sum_visit_length>900</sum_visit_length>
 						<bounce_count>0</bounce_count>
 						<nb_visits_converted>0</nb_visits_converted>
 						<sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors>
diff --git a/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Referers.getWebsites_week.xml b/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Referers.getWebsites_week.xml
index 1afcb33b6c..9e18c8a8ed 100644
--- a/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Referers.getWebsites_week.xml
+++ b/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Referers.getWebsites_week.xml
@@ -6,9 +6,9 @@
 			<row>
 				<label>referer.com</label>
 				<nb_visits>2</nb_visits>
-				<nb_actions>4</nb_actions>
-				<max_actions>2</max_actions>
-				<sum_visit_length>720</sum_visit_length>
+				<nb_actions>6</nb_actions>
+				<max_actions>4</max_actions>
+				<sum_visit_length>1260</sum_visit_length>
 				<bounce_count>0</bounce_count>
 				<nb_visits_converted>0</nb_visits_converted>
 				<sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
@@ -16,9 +16,9 @@
 					<row>
 						<label>http://referer.com/Other_Page.htm</label>
 						<nb_visits>1</nb_visits>
-						<nb_actions>2</nb_actions>
-						<max_actions>2</max_actions>
-						<sum_visit_length>360</sum_visit_length>
+						<nb_actions>4</nb_actions>
+						<max_actions>4</max_actions>
+						<sum_visit_length>900</sum_visit_length>
 						<bounce_count>0</bounce_count>
 						<nb_visits_converted>0</nb_visits_converted>
 						<sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors>
diff --git a/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Referers.getWebsites_year.xml b/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Referers.getWebsites_year.xml
index a6ddf89423..c5f117a57e 100644
--- a/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Referers.getWebsites_year.xml
+++ b/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Referers.getWebsites_year.xml
@@ -5,9 +5,9 @@
 			<row>
 				<label>referer.com</label>
 				<nb_visits>2</nb_visits>
-				<nb_actions>4</nb_actions>
-				<max_actions>2</max_actions>
-				<sum_visit_length>720</sum_visit_length>
+				<nb_actions>6</nb_actions>
+				<max_actions>4</max_actions>
+				<sum_visit_length>1260</sum_visit_length>
 				<bounce_count>0</bounce_count>
 				<nb_visits_converted>0</nb_visits_converted>
 				<sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
@@ -15,9 +15,9 @@
 					<row>
 						<label>http://referer.com/Other_Page.htm</label>
 						<nb_visits>1</nb_visits>
-						<nb_actions>2</nb_actions>
-						<max_actions>2</max_actions>
-						<sum_visit_length>360</sum_visit_length>
+						<nb_actions>4</nb_actions>
+						<max_actions>4</max_actions>
+						<sum_visit_length>900</sum_visit_length>
 						<bounce_count>0</bounce_count>
 						<nb_visits_converted>0</nb_visits_converted>
 						<sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors>
diff --git a/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_day.xml b/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_day.xml
index 8c62858baa..48e42b6dc3 100644
--- a/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_day.xml
+++ b/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_day.xml
@@ -6,12 +6,12 @@
 		<result date="2010-01-05">
 			<nb_uniq_visitors_returning>1</nb_uniq_visitors_returning>
 			<nb_visits_returning>1</nb_visits_returning>
-			<nb_actions_returning>2</nb_actions_returning>
-			<max_actions_returning>2</max_actions_returning>
-			<sum_visit_length_returning>360</sum_visit_length_returning>
+			<nb_actions_returning>4</nb_actions_returning>
+			<max_actions_returning>4</max_actions_returning>
+			<sum_visit_length_returning>900</sum_visit_length_returning>
 			<bounce_rate_returning>0%</bounce_rate_returning>
-			<nb_actions_per_visit_returning>2</nb_actions_per_visit_returning>
-			<avg_time_on_site_returning>360</avg_time_on_site_returning>
+			<nb_actions_per_visit_returning>4</nb_actions_per_visit_returning>
+			<avg_time_on_site_returning>900</avg_time_on_site_returning>
 		</result>
 		<result date="2010-01-06" />
 		<result date="2010-01-07" />
diff --git a/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_month.xml b/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_month.xml
index bd6c797843..56d9504317 100644
--- a/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_month.xml
+++ b/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_month.xml
@@ -2,13 +2,13 @@
 <results>
 	<result idSite="1">
 		<result date="2010-01">
-			<max_actions_returning>2</max_actions_returning>
-			<nb_actions_returning>2</nb_actions_returning>
+			<max_actions_returning>4</max_actions_returning>
+			<nb_actions_returning>4</nb_actions_returning>
 			<nb_visits_returning>1</nb_visits_returning>
-			<sum_visit_length_returning>360</sum_visit_length_returning>
+			<sum_visit_length_returning>900</sum_visit_length_returning>
 			<bounce_rate_returning>0%</bounce_rate_returning>
-			<nb_actions_per_visit_returning>2</nb_actions_per_visit_returning>
-			<avg_time_on_site_returning>360</avg_time_on_site_returning>
+			<nb_actions_per_visit_returning>4</nb_actions_per_visit_returning>
+			<avg_time_on_site_returning>900</avg_time_on_site_returning>
 		</result>
 		<result date="2010-02" />
 		<result date="2010-03" />
diff --git a/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_week.xml b/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_week.xml
index bea1ac2b02..3d411e79d3 100644
--- a/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_week.xml
+++ b/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_week.xml
@@ -3,13 +3,13 @@
 	<result idSite="1">
 		<result date="2009-12-28 to 2010-01-03" />
 		<result date="2010-01-04 to 2010-01-10">
-			<max_actions_returning>2</max_actions_returning>
-			<nb_actions_returning>2</nb_actions_returning>
+			<max_actions_returning>4</max_actions_returning>
+			<nb_actions_returning>4</nb_actions_returning>
 			<nb_visits_returning>1</nb_visits_returning>
-			<sum_visit_length_returning>360</sum_visit_length_returning>
+			<sum_visit_length_returning>900</sum_visit_length_returning>
 			<bounce_rate_returning>0%</bounce_rate_returning>
-			<nb_actions_per_visit_returning>2</nb_actions_per_visit_returning>
-			<avg_time_on_site_returning>360</avg_time_on_site_returning>
+			<nb_actions_per_visit_returning>4</nb_actions_per_visit_returning>
+			<avg_time_on_site_returning>900</avg_time_on_site_returning>
 		</result>
 		<result date="2010-01-11 to 2010-01-17" />
 		<result date="2010-01-18 to 2010-01-24" />
diff --git a/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_year.xml b/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_year.xml
index 902d62a5a9..e542ffb36f 100644
--- a/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_year.xml
+++ b/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_year.xml
@@ -2,13 +2,13 @@
 <results>
 	<result idSite="1">
 		<result date="2010">
-			<max_actions_returning>2</max_actions_returning>
-			<nb_actions_returning>2</nb_actions_returning>
+			<max_actions_returning>4</max_actions_returning>
+			<nb_actions_returning>4</nb_actions_returning>
 			<nb_visits_returning>1</nb_visits_returning>
-			<sum_visit_length_returning>360</sum_visit_length_returning>
+			<sum_visit_length_returning>900</sum_visit_length_returning>
 			<bounce_rate_returning>0%</bounce_rate_returning>
-			<nb_actions_per_visit_returning>2</nb_actions_per_visit_returning>
-			<avg_time_on_site_returning>360</avg_time_on_site_returning>
+			<nb_actions_per_visit_returning>4</nb_actions_per_visit_returning>
+			<avg_time_on_site_returning>900</avg_time_on_site_returning>
 		</result>
 		<result date="2011" />
 		<result date="2012" />
diff --git a/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_day.xml b/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_day.xml
index 8648ed62bf..97d33318f2 100644
--- a/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_day.xml
+++ b/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_day.xml
@@ -24,12 +24,12 @@
 		<result date="2010-01-05">
 			<nb_uniq_visitors>1</nb_uniq_visitors>
 			<nb_visits>1</nb_visits>
-			<nb_actions>2</nb_actions>
-			<max_actions>2</max_actions>
-			<sum_visit_length>360</sum_visit_length>
+			<nb_actions>4</nb_actions>
+			<max_actions>4</max_actions>
+			<sum_visit_length>900</sum_visit_length>
 			<bounce_rate>0%</bounce_rate>
-			<nb_actions_per_visit>2</nb_actions_per_visit>
-			<avg_time_on_site>360</avg_time_on_site>
+			<nb_actions_per_visit>4</nb_actions_per_visit>
+			<avg_time_on_site>900</avg_time_on_site>
 		</result>
 		<result date="2010-01-06" />
 		<result date="2010-01-07" />
diff --git a/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_month.xml b/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_month.xml
index 86fd4e5ef5..05e1231445 100644
--- a/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_month.xml
+++ b/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_month.xml
@@ -3,14 +3,14 @@
 	<result idSite="1">
 		<result date="2010-01">
 			<bounce_count>1</bounce_count>
-			<max_actions>2</max_actions>
-			<nb_actions>5</nb_actions>
+			<max_actions>4</max_actions>
+			<nb_actions>7</nb_actions>
 			<nb_uniq_visitors>2</nb_uniq_visitors>
 			<nb_visits>3</nb_visits>
-			<sum_visit_length>720</sum_visit_length>
+			<sum_visit_length>1260</sum_visit_length>
 			<bounce_rate>33%</bounce_rate>
-			<nb_actions_per_visit>1.7</nb_actions_per_visit>
-			<avg_time_on_site>240</avg_time_on_site>
+			<nb_actions_per_visit>2.3</nb_actions_per_visit>
+			<avg_time_on_site>420</avg_time_on_site>
 		</result>
 		<result date="2010-02" />
 		<result date="2010-03" />
diff --git a/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_week.xml b/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_week.xml
index 5dca7e995f..3c873c5e5f 100644
--- a/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_week.xml
+++ b/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_week.xml
@@ -12,14 +12,14 @@
 			<avg_time_on_site>0</avg_time_on_site>
 		</result>
 		<result date="2010-01-04 to 2010-01-10">
-			<max_actions>2</max_actions>
-			<nb_actions>4</nb_actions>
+			<max_actions>4</max_actions>
+			<nb_actions>6</nb_actions>
 			<nb_uniq_visitors>2</nb_uniq_visitors>
 			<nb_visits>2</nb_visits>
-			<sum_visit_length>720</sum_visit_length>
+			<sum_visit_length>1260</sum_visit_length>
 			<bounce_rate>0%</bounce_rate>
-			<nb_actions_per_visit>2</nb_actions_per_visit>
-			<avg_time_on_site>360</avg_time_on_site>
+			<nb_actions_per_visit>3</nb_actions_per_visit>
+			<avg_time_on_site>630</avg_time_on_site>
 		</result>
 		<result date="2010-01-11 to 2010-01-17" />
 		<result date="2010-01-18 to 2010-01-24" />
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 83d9e038f3..fac7cbdfa7 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
@@ -3,13 +3,13 @@
 	<result idSite="1">
 		<result date="2010">
 			<bounce_count>1</bounce_count>
-			<max_actions>2</max_actions>
-			<nb_actions>5</nb_actions>
+			<max_actions>4</max_actions>
+			<nb_actions>7</nb_actions>
 			<nb_visits>3</nb_visits>
-			<sum_visit_length>720</sum_visit_length>
+			<sum_visit_length>1260</sum_visit_length>
 			<bounce_rate>33%</bounce_rate>
-			<nb_actions_per_visit>1.7</nb_actions_per_visit>
-			<avg_time_on_site>240</avg_time_on_site>
+			<nb_actions_per_visit>2.3</nb_actions_per_visit>
+			<avg_time_on_site>420</avg_time_on_site>
 		</result>
 		<result date="2011" />
 		<result date="2012" />
-- 
GitLab