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:
authorsgiehl <stefan@piwik.org>2015-01-22 07:48:21 +0300
committersgiehl <stefan@piwik.org>2015-01-22 07:48:21 +0300
commit165c8865b6f3eb374f5140d8da7b726a0e3ba5fb (patch)
tree639018b7d4f5a56d2ceec8f18c4b8a6f40f4bd55
parenta31a25e71b60eb26fac907b52b8c26465c855c0b (diff)
parent9ed81d72cbaa1ebe382502d9417d7d1ac64dab00 (diff)
Merge branch 'master' into move_language_report
Conflicts: tests/PHPUnit/UI
-rw-r--r--core/Archive.php3
-rw-r--r--core/Metrics/Formatter.php7
-rw-r--r--core/Period/Range.php4
-rw-r--r--core/Plugin/Report.php13
-rw-r--r--core/Tracker/Visit.php64
-rw-r--r--core/ViewDataTable/Factory.php81
-rw-r--r--js/piwik.js2
-rwxr-xr-xmisc/log-analytics/import_logs.py32
-rwxr-xr-xmisc/others/geoipUpdateRows.php2
-rw-r--r--piwik.js2
-rw-r--r--plugins/Actions/API.php8
-rw-r--r--plugins/Actions/Archiver.php239
-rw-r--r--plugins/Actions/ArchivingHelper.php91
-rw-r--r--plugins/Actions/Metrics.php85
m---------plugins/CustomAlerts0
-rw-r--r--plugins/Live/Reports/GetLastVisitsDetails.php5
-rw-r--r--plugins/Login/templates/login.twig43
-rw-r--r--plugins/Morpheus/templates/admin.twig76
-rw-r--r--plugins/Morpheus/templates/dashboard.twig84
-rw-r--r--plugins/Morpheus/templates/layout.twig45
-rw-r--r--plugins/Morpheus/templates/user.twig76
m---------plugins/QueuedTracking0
-rw-r--r--plugins/TestRunner/templates/travis.yml.twig8
m---------plugins/VisitorGenerator0
-rw-r--r--plugins/VisitsSummary/templates/_sparklines.twig2
-rwxr-xr-xtests/LocalTracker.php4
-rw-r--r--tests/PHPUnit/Integration/Tracker/VisitTest.php18
-rwxr-xr-xtests/PHPUnit/System/TwoVisitorsTwoWebsitesDifferentDaysConversionsTest.php10
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Actions.getPageTitles_firstSite_lastN__API.getProcessedReport_day.xml12
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Actions.getPageUrls_firstSite_lastN__API.getProcessedReport_day.xml12
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_day.xml10
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_month.xml12
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_week.xml10
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_year.xml12
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledBefore_isDateRange__VisitsSummary.get_range.xml12
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabledBefore_isDateRange__VisitsSummary.get_range.xml12
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_day.xml10
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_month.xml12
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_week.xml10
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_year.xml12
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_MultiSites.getAll_firstSite_lastN__API.getProcessedReport_day.xml14
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__Goals.get_day.xml2
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__Goals.get_month.xml2
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__VisitsSummary.get_day.xml10
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__VisitsSummary.get_month.xml12
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions__Live.getLastVisitsDetails_year.xml10
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions__MultiSites.getAll_day.xml12
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions__MultiSites.getAll_month.xml2
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions__MultiSites.getAll_week.xml12
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions__MultiSites.getAll_year.xml2
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_idSiteOne___MultiSites.getAll_day.xml12
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_idSiteOne___MultiSites.getAll_month.xml2
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_idSiteOne___MultiSites.getAll_week.xml12
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_idSiteOne___MultiSites.getAll_year.xml2
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_NotLastNPeriods__VisitsSummary.get_day.xml8
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_NotLastNPeriods__VisitsSummary.get_month.xml12
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Referrers.getWebsites_firstSite_lastN__API.getProcessedReport_day.xml34
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_VisitFrequency.get_firstSite_lastN__API.getProcessedReport_day.xml11
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_VisitorInterest.getNumberOfVisitsByDaysSinceLast_firstSite_lastN__API.getProcessedReport_day.xml8
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_VisitsSummary.get_firstSite_lastN__API.getProcessedReport_day.xml16
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_day.xml14
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_month.xml14
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_week.xml14
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_year.xml14
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_day.xml11
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_month.xml16
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_week.xml11
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_year.xml16
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_day.xml11
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_month.xml16
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_week.xml11
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_year.xml16
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Referrers.getWebsites_day.xml43
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Referrers.getWebsites_month.xml18
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Referrers.getWebsites_week.xml41
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Referrers.getWebsites_year.xml18
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_day.xml14
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_month.xml14
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_week.xml14
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_year.xml12
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitorInterest.getNumberOfVisitsByDaysSinceLast_day.xml6
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitorInterest.getNumberOfVisitsByDaysSinceLast_month.xml2
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitorInterest.getNumberOfVisitsByDaysSinceLast_week.xml6
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitorInterest.getNumberOfVisitsByDaysSinceLast_year.xml2
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_day.xml22
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_month.xml12
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_week.xml20
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_year.xml12
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_day.xml14
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_month.xml14
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_week.xml14
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_year.xml14
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_day.xml11
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_month.xml16
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_week.xml11
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_year.xml16
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_day.xml11
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_month.xml16
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_week.xml11
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_year.xml16
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Referrers.getWebsites_day.xml43
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Referrers.getWebsites_month.xml18
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Referrers.getWebsites_week.xml41
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Referrers.getWebsites_year.xml18
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_day.xml14
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_month.xml14
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_week.xml14
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_year.xml12
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitorInterest.getNumberOfVisitsByDaysSinceLast_day.xml6
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitorInterest.getNumberOfVisitsByDaysSinceLast_month.xml2
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitorInterest.getNumberOfVisitsByDaysSinceLast_week.xml6
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitorInterest.getNumberOfVisitsByDaysSinceLast_year.xml2
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_day.xml22
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_month.xml12
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_week.xml20
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_year.xml12
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv87
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html287
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_via_sms_all_sites__ScheduledReports.generateReport_month.original.sms.txt2
-rw-r--r--tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_via_sms_one_site__ScheduledReports.generateReport_month.original.sms.txt2
m---------tests/PHPUnit/UI0
-rw-r--r--tests/PHPUnit/Unit/Metrics/Formatter/HtmlTest.php16
-rw-r--r--tests/PHPUnit/Unit/Period/RangeTest.php202
-rwxr-xr-xtests/travis/checkout_test_against_branch.sh7
-rw-r--r--tests/travis/get_required_piwik_version.php3
125 files changed, 1580 insertions, 1201 deletions
diff --git a/core/Archive.php b/core/Archive.php
index 3a41bf9d7d..60d6791726 100644
--- a/core/Archive.php
+++ b/core/Archive.php
@@ -558,7 +558,6 @@ class Archive
*/
private function get($archiveNames, $archiveDataType, $idSubtable = null)
{
- $this->invalidatedReportsIfNeeded();
if (!is_array($archiveNames)) {
$archiveNames = array($archiveNames);
@@ -657,6 +656,8 @@ class Archive
*/
private function cacheArchiveIdsAfterLaunching($archiveGroups, $plugins)
{
+ $this->invalidatedReportsIfNeeded();
+
$today = Date::today();
foreach ($this->params->getPeriods() as $period) {
diff --git a/core/Metrics/Formatter.php b/core/Metrics/Formatter.php
index 5d9eb73a35..bdf920e6a0 100644
--- a/core/Metrics/Formatter.php
+++ b/core/Metrics/Formatter.php
@@ -134,10 +134,15 @@ class Formatter
}
$units = array('B', 'K', 'M', 'G', 'T');
+ $numUnits = count($units) - 1;
$currentUnit = null;
foreach ($units as $idx => $currentUnit) {
- if ($size >= 1024 && $unit != $currentUnit && $idx != count($units) - 1) {
+ if ($unit && $unit !== $currentUnit) {
+ $size = $size / 1024;
+ } elseif ($unit && $unit === $currentUnit) {
+ break;
+ } elseif ($size >= 1024 && $idx != $numUnits) {
$size = $size / 1024;
} else {
break;
diff --git a/core/Period/Range.php b/core/Period/Range.php
index 36692dc0de..d88a5e2da7 100644
--- a/core/Period/Range.php
+++ b/core/Period/Range.php
@@ -186,7 +186,9 @@ class Range extends Period
// last1 means only one result ; last2 means 2 results so we remove only 1 to the days/weeks/etc
$lastN--;
- $lastN = abs($lastN);
+ if ($lastN < 0) {
+ $lastN = 0;
+ }
$startDate = $endDate->addPeriod(-1 * $lastN, $period);
diff --git a/core/Plugin/Report.php b/core/Plugin/Report.php
index 9a78bcdbf1..62ed594f8c 100644
--- a/core/Plugin/Report.php
+++ b/core/Plugin/Report.php
@@ -271,6 +271,16 @@ class Report
}
/**
+ * Returns if the default viewDataTable type should always be used. e.g. the type won't be changeable through config or url params.
+ * Defaults to false
+ * @return bool
+ */
+ public function alwaysUseDefaultViewDataTable ()
+ {
+ return false;
+ }
+
+ /**
* Here you can configure how your report should be displayed and which capabilities your report has. For instance
* whether your report supports a "search" or not. EG `$view->config->show_search = false`. You can also change the
* default request config. For instance you can change how many rows are displayed by default:
@@ -302,7 +312,8 @@ class Report
$apiAction = $apiProxy->buildApiActionName($this->module, $this->action);
- $view = ViewDataTableFactory::build(null, $apiAction, $this->module . '.' . $this->action);
+ $view = ViewDataTableFactory::build(null, $apiAction, $this->module . '.' . $this->action);
+
$rendered = $view->render();
return $rendered;
diff --git a/core/Tracker/Visit.php b/core/Tracker/Visit.php
index 1f8c734abb..bb8db1ba7d 100644
--- a/core/Tracker/Visit.php
+++ b/core/Tracker/Visit.php
@@ -405,6 +405,33 @@ class Visit implements VisitInterface
&& ($lastActionTime > ($this->request->getCurrentTimestamp() - Config::getInstance()->Tracker['visit_standard_length']));
}
+ /**
+ * Returns true if the last action was not today.
+ * @param Visitor $visitor
+ * @return bool
+ */
+ private function wasLastActionNotToday(Visitor $visitor)
+ {
+ $lastActionTime = $visitor->getVisitorColumn('visit_last_action_time');
+
+ if (empty($lastActionTime)) {
+ return false;
+ }
+
+ $idSite = $this->request->getIdSite();
+ $timezone = $this->getTimezoneForSite($idSite);
+
+ if (empty($timezone)) {
+ throw new UnexpectedWebsiteFoundException('An unexpected website was found, check idSite in the request');
+ }
+
+ $date = Date::factory((int) $lastActionTime, $timezone);
+ $now = $this->request->getCurrentTimestamp();
+ $now = Date::factory((int) $now, $timezone);
+
+ return $date->toString() !== $now->toString();
+ }
+
// is the referrer host any of the registered URLs for this website?
public static function isHostKnownAliasHost($urlHost, $idSite)
{
@@ -616,6 +643,10 @@ class Visit implements VisitInterface
*/
public function isVisitNew(Visitor $visitor, Action $action = null)
{
+ if (!$visitor->isVisitorKnown()) {
+ return true;
+ }
+
$isLastActionInTheSameVisit = $this->isLastActionInTheSameVisit($visitor);
if (!$isLastActionInTheSameVisit) {
@@ -624,12 +655,19 @@ class Visit implements VisitInterface
return true;
}
+ $wasLastActionYesterday = $this->wasLastActionNotToday($visitor);
+ if ($wasLastActionYesterday) {
+ Common::printDebug("Visitor detected, but last action was yesterday...");
+
+ return true;
+ }
+
$shouldForceNewVisit = $this->triggerPredicateHookOnDimensions($this->getAllVisitDimensions(), 'shouldForceNewVisit', $visitor, $action);
if ($shouldForceNewVisit) {
return true;
}
- return !$visitor->isVisitorKnown();
+ return false;
}
private function markArchivedReportsAsInvalidIfArchiveAlreadyFinished()
@@ -637,20 +675,30 @@ class Visit implements VisitInterface
$idSite = (int) $this->request->getIdSite();
$time = $this->request->getCurrentTimestamp();
- try {
- $site = Cache::getCacheWebsiteAttributes($idSite);
- } catch (UnexpectedWebsiteFoundException $e) {
- return;
- }
- if(!isset($site['timezone'])) {
+ $timezone = $this->getTimezoneForSite($idSite);
+
+ if (!isset($timezone)) {
return;
}
- $date = Date::factory((int) $time, $site['timezone']);
+ $date = Date::factory((int) $time, $timezone);
if (!$date->isToday()) { // we don't have to handle in case date is in future as it is not allowed by tracker
$invalidReport = new ArchiveInvalidator();
$invalidReport->rememberToInvalidateArchivedReportsLater($idSite, $date);
}
}
+
+ private function getTimezoneForSite($idSite)
+ {
+ try {
+ $site = Cache::getCacheWebsiteAttributes($idSite);
+ } catch (UnexpectedWebsiteFoundException $e) {
+ return;
+ }
+
+ if (!empty($site['timezone'])) {
+ return $site['timezone'];
+ }
+ }
}
diff --git a/core/ViewDataTable/Factory.php b/core/ViewDataTable/Factory.php
index a8dca0c59e..a5de6b3f06 100644
--- a/core/ViewDataTable/Factory.php
+++ b/core/ViewDataTable/Factory.php
@@ -95,7 +95,9 @@ class Factory
$controllerAction = $apiAction;
}
- $defaultViewType = self::getDefaultViewTypeForReport($apiAction);
+ $report = self::getReport($apiAction);
+
+ $defaultViewType = self::getDefaultViewTypeForReport($report, $apiAction);
$isWidget = Common::getRequestVar('widget', '0', 'string');
@@ -106,27 +108,31 @@ class Factory
$params = Manager::getViewDataTableParameters($login, $controllerAction);
}
- $savedViewDataTable = false;
- if (!empty($params['viewDataTable'])) {
- $savedViewDataTable = $params['viewDataTable'];
- }
-
- // order of default viewDataTables' priority is: function specified default, saved default, configured default for report
- // function specified default is preferred
- // -> force default == true : defaultType ?: saved ?: defaultView
- // -> force default == false : saved ?: defaultType ?: defaultView
- if ($forceDefault) {
- $defaultType = $defaultType ?: $savedViewDataTable ?: $defaultViewType;
+ if (!self::isDefaultViewTypeForReportFixed($report)) {
+ $savedViewDataTable = false;
+ if (!empty($params['viewDataTable'])) {
+ $savedViewDataTable = $params['viewDataTable'];
+ }
+
+ // order of default viewDataTables' priority is: function specified default, saved default, configured default for report
+ // function specified default is preferred
+ // -> force default == true : defaultType ?: saved ?: defaultView
+ // -> force default == false : saved ?: defaultType ?: defaultView
+ if ($forceDefault) {
+ $defaultType = $defaultType ?: $savedViewDataTable ?: $defaultViewType;
+ } else {
+ $defaultType = $savedViewDataTable ?: $defaultType ?: $defaultViewType;
+ }
+
+ $type = Common::getRequestVar('viewDataTable', $defaultType, 'string');
+
+ // Common::getRequestVar removes backslashes from the defaultValue in case magic quotes are enabled.
+ // therefore do not pass this as a default value to getRequestVar()
+ if ('' === $type) {
+ $type = $defaultType ?: HtmlTable::ID;
+ }
} else {
- $defaultType = $savedViewDataTable ?: $defaultType ?: $defaultViewType;
- }
-
- $type = Common::getRequestVar('viewDataTable', $defaultType, 'string');
-
- // Common::getRequestVar removes backslashes from the defaultValue in case magic quotes are enabled.
- // therefore do not pass this as a default value to getRequestVar()
- if ('' === $type) {
- $type = $defaultType ?: HtmlTable::ID;
+ $type = $defaultViewType;
}
$params['viewDataTable'] = $type;
@@ -153,13 +159,27 @@ class Factory
}
/**
- * Returns the default viewDataTable ID to use when determining which visualization to use.
+ * Return the report object for the given apiAction
+ * @param $apiAction
+ * @return null|Report
*/
- private static function getDefaultViewTypeForReport($apiAction)
+ private static function getReport($apiAction)
{
list($module, $action) = explode('.', $apiAction);
$report = Report::factory($module, $action);
+ return $report;
+ }
+ /**
+ * Returns the default viewDataTable ID to use when determining which visualization to use.
+ *
+ * @param Report $report
+ * @param string $apiAction
+ *
+ * @return bool|string
+ */
+ private static function getDefaultViewTypeForReport($report, $apiAction)
+ {
if (!empty($report) && $report->isEnabled()) {
return $report->getDefaultTypeViewDataTable();
}
@@ -169,6 +189,21 @@ class Factory
}
/**
+ * Returns if the default viewDataTable ID to use is fixed.
+ *
+ * @param Report $report
+ * @return bool
+ */
+ private static function isDefaultViewTypeForReportFixed($report)
+ {
+ if (!empty($report) && $report->isEnabled()) {
+ return $report->alwaysUseDefaultViewDataTable();
+ }
+
+ return false;
+ }
+
+ /**
* Returns a list of default viewDataTables ID to use when determining which visualization to use for multiple
* reports.
*/
diff --git a/js/piwik.js b/js/piwik.js
index 98f22d7f8a..2f1711a6b0 100644
--- a/js/piwik.js
+++ b/js/piwik.js
@@ -2916,7 +2916,7 @@ if (typeof Piwik !== 'object') {
'&h=' + now.getHours() + '&m=' + now.getMinutes() + '&s=' + now.getSeconds() +
'&url=' + encodeWrapper(purify(currentUrl)) +
(configReferrerUrl.length ? '&urlref=' + encodeWrapper(purify(configReferrerUrl)) : '') +
- (configUserId.length ? '&uid=' + encodeWrapper(configUserId) : '') +
+ ((configUserId && configUserId.length) ? '&uid=' + encodeWrapper(configUserId) : '') +
'&_id=' + uuid + '&_idts=' + createTs + '&_idvc=' + visitCount +
'&_idn=' + newVisitor + // currently unused
(campaignNameDetected.length ? '&_rcn=' + encodeWrapper(campaignNameDetected) : '') +
diff --git a/misc/log-analytics/import_logs.py b/misc/log-analytics/import_logs.py
index 2b530b1fa8..a3036dde56 100755
--- a/misc/log-analytics/import_logs.py
+++ b/misc/log-analytics/import_logs.py
@@ -600,6 +600,18 @@ class Configuration(object):
"in conjuction with --log-format-name=w3c_extended.\n"
"Example: --w3c-fields='#Fields: date time c-ip ...'"
)
+ option_parser.add_option(
+ '--title-category-delimiter', dest='title_category_delimiter', default='/',
+ help="If --enable-http-errors is used, errors are shown in the page titles report. If you have "
+ "changed General.action_title_category_delimiter in your Piwik configuration, you need to set this "
+ "option to the same value in order to get a pretty page titles report."
+ )
+ option_parser.add_option(
+ '--dump-log-regex', dest='dump_log_regex', action='store_true', default=False,
+ help="Prints out the regex string used to parse log lines and exists. Can be useful for using formats "
+ "in newer versions of the script in older versions of the script. The output regex can be used with "
+ "the --log-format-regex option."
+ )
return option_parser
def _set_w3c_field_map(self, option, opt_str, value, parser):
@@ -1411,10 +1423,14 @@ class Recorder(object):
args['cvar'] = '{"1":["HTTP-code","%s"]}' % hit.status
if hit.is_error or hit.is_redirect:
- args['action_name'] = '%s/URL = %s%s' % (
+ args['action_name'] = '%s%sURL = %s%s' % (
hit.status,
+ config.options.title_category_delimiter,
urllib.quote(args['url'], ''),
- ("/From = %s" % urllib.quote(args['urlref'], '') if args['urlref'] != '' else '')
+ ("%sFrom = %s" % (
+ config.options.title_category_delimiter,
+ urllib.quote(args['urlref'], '')
+ ) if args['urlref'] != '' else '')
)
if hit.generation_time_milli > 0:
@@ -1427,6 +1443,9 @@ class Recorder(object):
if hit.event_name:
args['e_n'] = hit.event_name
+ if hit.length:
+ args['bw_bytes'] = hit.length
+
return args
def _record_hits(self, hits):
@@ -1719,6 +1738,15 @@ class Parser(object):
# Make sure the format is compatible with the resolver.
resolver.check_format(format)
+ if config.options.dump_log_regex:
+ logging.info("Using format '%s'." % format.name)
+ if format.regex:
+ logging.info("Regex being used: %s" % format.regex.pattern)
+ else:
+ logging.info("Format %s does not use a regex to parse log lines." % format.name)
+ logging.info("--dump-log-regex option used, aborting log import.")
+ os._exit(0)
+
hits = []
for lineno, line in enumerate(file):
try:
diff --git a/misc/others/geoipUpdateRows.php b/misc/others/geoipUpdateRows.php
index f7b5473c3c..44a0802390 100755
--- a/misc/others/geoipUpdateRows.php
+++ b/misc/others/geoipUpdateRows.php
@@ -34,7 +34,7 @@ if (!Common::isPhpCliMode()) {
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
- <script type="text/javascript" src="../../libs/jquery/dist/jquery.min.js"></script>
+ <script type="text/javascript" src="../../libs/bower_components/jquery/dist/jquery.min.js"></script>
<script type="text/javascript">
(function ($) {
var count = <?php echo $count; ?>;
diff --git a/piwik.js b/piwik.js
index 0eb59e8cc6..9676f38bc4 100644
--- a/piwik.js
+++ b/piwik.js
@@ -32,7 +32,7 @@ function bF(cf,cc,cb,ce,ca,cd){if(ao){return}var b9;if(cb){b9=new Date();b9.setT
}};ca.src=aa+(aa.indexOf("?")<0?"?":"&")+b9}function bG(ca,cd,b9){if(!w(b9)||null===b9){b9=true}try{var cc=G.XMLHttpRequest?new G.XMLHttpRequest():G.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):null;cc.open("POST",aa,true);cc.onreadystatechange=function(){if(this.readyState===4&&!(this.status>=200&&this.status<300)&&b9){b8(ca,cd)}else{if(typeof cd==="function"){cd()}}};cc.setRequestHeader("Content-Type",aK);cc.send(ca)}catch(cb){if(b9){b8(ca,cd)}}}function bY(ca){var b9=new Date();var cb=b9.getTime()+ca;if(!j||cb>j){j=cb}}function aD(cd){var ca=new Date();var b9=ca.getTime();if(a8&&b9<a8){var cb=a8-b9;setTimeout(cd,cb);bY(cb+50);a8+=50;return}if(a8===false){var cc=800;a8=b9+cc}cd()}function aZ(ca,b9,cb){if(!bV&&ca){aD(function(){if(br==="POST"){bG(ca,cb)}else{b8(ca,cb)}bY(b9)})}}function ba(b9){if(bV){return false}return(b9&&b9.length)}function ap(cb,b9){if(!ba(cb)){return}var ca='{"requests":["?'+cb.join('","?')+'"]}';aD(function(){bG(ca,null,false);bY(b9)})}function bE(b9){return b1+b9+"."+bR+"."+bx
}function ae(){if(ao){return"0"}if(!w(e.cookieEnabled)){var b9=bE("testcookie");bF(b9,"1");return av(b9)==="1"?"1":"0"}return e.cookieEnabled?"1":"0"}function bj(){bx=aX((aq||bL)+(b2||"/")).slice(0,4)}function ar(){var ca=bE("cvar"),b9=av(ca);if(b9.length){b9=JSON2.parse(b9);if(J(b9)){return b9}}return{}}function Z(){if(ag===false){ag=ar()}}function bQ(){var b9=new Date();bs=b9.getTime()}function Y(){var ca=new Date(),b9=Math.round(ca.getTime()/1000),cc=av(bE("id")),cb;if(cc){cb=cc.split(".");cb.unshift("0")}else{if(!a2){a2=aX((e.userAgent||"")+(e.platform||"")+JSON2.stringify(bS)+ca.getTime()+Math.random()).slice(0,16)}cb=["1",a2,b9,0,b9,"",""]}return cb}function aL(){var cd=new Date(),ca=cd.getTime(),cc=Y();var b9=parseInt(cc[2],10);var cb=(b9*1000)+aw-ca;return cb}function am(cd,ca,b9,cc,cb,cf){var ce=aL();bF(bE("id"),cd+"."+ca+"."+b9+"."+cc+"."+cb+"."+cf,ce,b2,aq)}function X(){var b9=av(bE("ref"));if(b9.length){try{b9=JSON2.parse(b9);if(J(b9)){return b9}}catch(ca){}}return["","",0,""]
}function W(){var b9=ao;ao=false;bF(bE("id"),"",-86400,b2,aq);bF(bE("ses"),"",-86400,b2,aq);bF(bE("cvar"),"",-86400,b2,aq);bF(bE("ref"),"",-86400,b2,aq);ao=b9}function bP(cd){if(!cd||!J(cd)){return}var cc=[];var cb;for(cb in cd){if(Object.prototype.hasOwnProperty.call(cd,cb)){cc.push(cb)}}var ce={};cc.sort();var b9=cc.length;var ca;for(ca=0;ca<b9;ca++){ce[cc[ca]]=cd[cc[ca]]}return ce}function aT(cb,cz,cA,cc){var cx,ca=new Date(),cj=Math.round(ca.getTime()/1000),cD,cy,ce,cp,cu,ci,cs,cf,cw,cd=1024,cF,cm,ct=ag,ck=bE("ses"),cl=bE("ref"),cG=bE("cvar"),cq=Y(),co=av(ck),cv=X(),cC=a6||b3,cg,b9;if(ao){W()}if(bV){return""}cD=cq[0];cy=cq[1];cp=cq[2];ce=cq[3];cu=cq[4];ci=cq[5];if(!w(cq[6])){cq[6]=""}cs=cq[6];if(!w(cc)){cc=""}var cn=u.characterSet||u.charset;if(!cn||cn.toLowerCase()==="utf-8"){cn=null}cg=cv[0];b9=cv[1];cf=cv[2];cw=cv[3];if(!co){var cB=az/1000;if(!ci||(cj-ci)>cB){ce++;ci=cu}if(!a4||!cg.length){for(cx in aY){if(Object.prototype.hasOwnProperty.call(aY,cx)){cg=I(cC,aY[cx]);if(cg.length){break
-}}}for(cx in aP){if(Object.prototype.hasOwnProperty.call(aP,cx)){b9=I(cC,aP[cx]);if(b9.length){break}}}}cF=b(bt);cm=cw.length?b(cw):"";if(cF.length&&!bq(cF)&&(!a4||!cm.length||bq(cm))){cw=bt}if(cw.length||cg.length){cf=cj;cv=[cg,b9,cf,bX(cw.slice(0,cd))];bF(cl,JSON2.stringify(cv),a9,b2,aq)}}cb+="&idsite="+bR+"&rec=1&r="+String(Math.random()).slice(2,8)+"&h="+ca.getHours()+"&m="+ca.getMinutes()+"&s="+ca.getSeconds()+"&url="+l(bX(cC))+(bt.length?"&urlref="+l(bX(bt)):"")+(aJ.length?"&uid="+l(aJ):"")+"&_id="+cy+"&_idts="+cp+"&_idvc="+ce+"&_idn="+cD+(cg.length?"&_rcn="+l(cg):"")+(b9.length?"&_rck="+l(b9):"")+"&_refts="+cf+"&_viewts="+ci+(String(cs).length?"&_ects="+cs:"")+(String(cw).length?"&_ref="+l(bX(cw.slice(0,cd))):"")+(cn?"&cs="+l(cn):"")+"&send_image=0";for(cx in bS){if(Object.prototype.hasOwnProperty.call(bS,cx)){cb+="&"+cx+"="+bS[cx]}}if(cz){cb+="&data="+l(JSON2.stringify(cz))}else{if(an){cb+="&data="+l(JSON2.stringify(an))}}function ch(cH,cI){var cJ=JSON2.stringify(cH);if(cJ.length>2){return"&"+cI+"="+l(cJ)
+}}}for(cx in aP){if(Object.prototype.hasOwnProperty.call(aP,cx)){b9=I(cC,aP[cx]);if(b9.length){break}}}}cF=b(bt);cm=cw.length?b(cw):"";if(cF.length&&!bq(cF)&&(!a4||!cm.length||bq(cm))){cw=bt}if(cw.length||cg.length){cf=cj;cv=[cg,b9,cf,bX(cw.slice(0,cd))];bF(cl,JSON2.stringify(cv),a9,b2,aq)}}cb+="&idsite="+bR+"&rec=1&r="+String(Math.random()).slice(2,8)+"&h="+ca.getHours()+"&m="+ca.getMinutes()+"&s="+ca.getSeconds()+"&url="+l(bX(cC))+(bt.length?"&urlref="+l(bX(bt)):"")+((aJ&&aJ.length)?"&uid="+l(aJ):"")+"&_id="+cy+"&_idts="+cp+"&_idvc="+ce+"&_idn="+cD+(cg.length?"&_rcn="+l(cg):"")+(b9.length?"&_rck="+l(b9):"")+"&_refts="+cf+"&_viewts="+ci+(String(cs).length?"&_ects="+cs:"")+(String(cw).length?"&_ref="+l(bX(cw.slice(0,cd))):"")+(cn?"&cs="+l(cn):"")+"&send_image=0";for(cx in bS){if(Object.prototype.hasOwnProperty.call(bS,cx)){cb+="&"+cx+"="+bS[cx]}}if(cz){cb+="&data="+l(JSON2.stringify(cz))}else{if(an){cb+="&data="+l(JSON2.stringify(an))}}function ch(cH,cI){var cJ=JSON2.stringify(cH);if(cJ.length>2){return"&"+cI+"="+l(cJ)
}return""}var cE=bP(bf);var cr=bP(ab);cb+=ch(cE,"cvar");cb+=ch(cr,"e_cvar");if(ag){cb+=ch(ag,"_cvar");for(cx in ct){if(Object.prototype.hasOwnProperty.call(ct,cx)){if(ag[cx][0]===""||ag[cx][1]===""){delete ag[cx]}}}if(a5){bF(cG,JSON2.stringify(ag),az,b2,aq)}}if(a1){if(aI){cb+="&gt_ms="+aI}else{if(f&&f.timing&&f.timing.requestStart&&f.timing.responseEnd){cb+="&gt_ms="+(f.timing.responseEnd-f.timing.requestStart)}}}am(cy,cp,ce,cj,ci,w(cc)&&String(cc).length?cc:cs);bF(ck,"*",az,b2,aq);cb+=O(cA);if(bn.length){cb+="&"+bn}if(q(au)){cb=au(cb)}return cb}function bI(cc,cb,cg,cd,b9,cj){var ce="idgoal=0",cf,ca=new Date(),ch=[],ci;if(String(cc).length){ce+="&ec_id="+l(cc);cf=Math.round(ca.getTime()/1000)}ce+="&revenue="+cb;if(String(cg).length){ce+="&ec_st="+cg}if(String(cd).length){ce+="&ec_tx="+cd}if(String(b9).length){ce+="&ec_sh="+b9}if(String(cj).length){ce+="&ec_dt="+cj}if(bD){for(ci in bD){if(Object.prototype.hasOwnProperty.call(bD,ci)){if(!w(bD[ci][1])){bD[ci][1]=""}if(!w(bD[ci][2])){bD[ci][2]=""
}if(!w(bD[ci][3])||String(bD[ci][3]).length===0){bD[ci][3]=0}if(!w(bD[ci][4])||String(bD[ci][4]).length===0){bD[ci][4]=1}ch.push(bD[ci])}}ce+="&ec_items="+l(JSON2.stringify(ch))}ce=aT(ce,an,"ecommerce",cf);aZ(ce,bm)}function bH(b9,cd,cc,cb,ca,ce){if(String(b9).length&&w(cd)){bI(b9,cd,cc,cb,ca,ce)}}function b0(b9){if(w(b9)){bI("",b9,"","","","")}}function bd(cc,cd){var b9=new Date(),cb=aT("action_name="+l(V(cc||aS)),cd,"log");aZ(cb,bm);if(aj&&aG&&!bv){bv=true;U(u,"click",bQ);U(u,"mouseup",bQ);U(u,"mousedown",bQ);U(u,"mousemove",bQ);U(u,"mousewheel",bQ);U(G,"DOMMouseScroll",bQ);U(G,"scroll",bQ);U(u,"keypress",bQ);U(u,"keydown",bQ);U(u,"keyup",bQ);U(G,"resize",bQ);U(G,"focus",bQ);U(G,"blur",bQ);bs=b9.getTime();setTimeout(function ca(){var ce;b9=new Date();if((bs+aG)>b9.getTime()){if(aj<b9.getTime()){ce=aT("ping=1",cd,"ping");aZ(ce,bm)}setTimeout(ca,aG)}},aG)}}function aH(cb,ca){var cc,b9="(^| )(piwik[_-]"+ca;if(cb){for(cc=0;cc<cb.length;cc++){b9+="|"+cb[cc]}}b9+=")( |$)";return new RegExp(b9)
}function bB(b9){return(aa&&b9&&0===String(b9).indexOf(aa))}function bO(cc,b9,cd){if(bB(b9)){return 0}var cb=aH(be,"download"),ca=aH(aC,"link"),ce=new RegExp("\\.("+aU+")([?&#]|$)","i");if(ca.test(cc)){return"link"}if(cb.test(cc)||ce.test(b9)){return"download"}if(cd){return 0}return"link"}function a7(ca){var b9;b9=ca.parentNode;while(b9!==null&&w(b9)){if(Q.isLinkElement(ca)){break}ca=b9;b9=ca.parentNode}return ca}function bh(cd){cd=a7(cd);if(!Q.hasNodeAttribute(cd,"href")){return}if(!w(cd.href)){return}var cc=Q.getAttributeValueFromNode(cd,"href");if(bB(cc)){return}var ce=cd.hostname||b(cd.href);var cf=ce.toLowerCase();var ca=cd.href.replace(ce,cf);var cb=new RegExp("^(javascript|vbscript|jscript|mocha|livescript|ecmascript|mailto):","i");if(!cb.test(ca)){var b9=bO(cd.className,ca,bq(cf));if(b9){return{type:b9,href:ca}}}}function b5(b9,ca,cb,cc){var cd=m.buildInteractionRequestParams(b9,ca,cb,cc);if(!cd){return}return aT(cd,null,"contentInteraction")}function b4(cb,cc,cg,b9,ca){if(!w(cb)){return
diff --git a/plugins/Actions/API.php b/plugins/Actions/API.php
index 37a3815394..2f0b8f5f9d 100644
--- a/plugins/Actions/API.php
+++ b/plugins/Actions/API.php
@@ -14,7 +14,7 @@ use Piwik\Archive;
use Piwik\Common;
use Piwik\DataTable;
use Piwik\Date;
-use Piwik\Metrics;
+use Piwik\Metrics as PiwikMetrics;
use Piwik\Piwik;
use Piwik\Plugin\Report;
use Piwik\Plugins\Actions\Columns\Metrics\AveragePageGenerationTime;
@@ -247,7 +247,7 @@ class API extends \Piwik\Plugin\API
public function getSiteSearchKeywords($idSite, $period, $date, $segment = false)
{
$dataTable = $this->getSiteSearchKeywordsRaw($idSite, $period, $date, $segment);
- $dataTable->deleteColumn(Metrics::INDEX_SITE_SEARCH_HAS_NO_RESULT);
+ $dataTable->deleteColumn(PiwikMetrics::INDEX_SITE_SEARCH_HAS_NO_RESULT);
$this->filterActionsDataTable($dataTable);
$this->addPagesPerSearchColumn($dataTable);
return $dataTable;
@@ -276,13 +276,13 @@ class API extends \Piwik\Plugin\API
// Delete all rows that have some results
$dataTable->filter('ColumnCallbackDeleteRow',
array(
- Metrics::INDEX_SITE_SEARCH_HAS_NO_RESULT,
+ PiwikMetrics::INDEX_SITE_SEARCH_HAS_NO_RESULT,
function ($value) {
return $value < 1;
}
));
$dataTable->deleteRow(DataTable::ID_SUMMARY_ROW);
- $dataTable->deleteColumn(Metrics::INDEX_SITE_SEARCH_HAS_NO_RESULT);
+ $dataTable->deleteColumn(PiwikMetrics::INDEX_SITE_SEARCH_HAS_NO_RESULT);
$this->filterActionsDataTable($dataTable);
$this->addPagesPerSearchColumn($dataTable);
return $dataTable;
diff --git a/plugins/Actions/Archiver.php b/plugins/Actions/Archiver.php
index 199438445e..639ee81c50 100644
--- a/plugins/Actions/Archiver.php
+++ b/plugins/Actions/Archiver.php
@@ -9,7 +9,7 @@
namespace Piwik\Plugins\Actions;
use Piwik\DataTable;
-use Piwik\Metrics;
+use Piwik\Metrics as PiwikMetrics;
use Piwik\RankingQuery;
use Piwik\Tracker\Action;
use Piwik\Plugins\Actions\Actions\ActionSiteSearch;
@@ -37,39 +37,6 @@ class Archiver extends \Piwik\Plugin\Archiver
const METRIC_SEARCHES_RECORD_NAME = 'Actions_nb_searches';
const METRIC_KEYWORDS_RECORD_NAME = 'Actions_nb_keywords';
- /* Metrics in use by the API Actions.get */
- public static $actionsAggregateMetrics = array(
- self::METRIC_PAGEVIEWS_RECORD_NAME => 'nb_pageviews',
- self::METRIC_UNIQ_PAGEVIEWS_RECORD_NAME => 'nb_uniq_pageviews',
- self::METRIC_DOWNLOADS_RECORD_NAME => 'nb_downloads',
- self::METRIC_UNIQ_DOWNLOADS_RECORD_NAME => 'nb_uniq_downloads',
- self::METRIC_OUTLINKS_RECORD_NAME => 'nb_outlinks',
- self::METRIC_UNIQ_OUTLINKS_RECORD_NAME => 'nb_uniq_outlinks',
- self::METRIC_SEARCHES_RECORD_NAME => 'nb_searches',
- self::METRIC_KEYWORDS_RECORD_NAME => 'nb_keywords',
- );
-
- public static $actionTypes = array(
- Action::TYPE_PAGE_URL,
- Action::TYPE_OUTLINK,
- Action::TYPE_DOWNLOAD,
- Action::TYPE_PAGE_TITLE,
- Action::TYPE_SITE_SEARCH,
- );
- protected static $columnsToRenameAfterAggregation = array(
- Metrics::INDEX_NB_UNIQ_VISITORS => Metrics::INDEX_SUM_DAILY_NB_UNIQ_VISITORS,
- Metrics::INDEX_PAGE_ENTRY_NB_UNIQ_VISITORS => Metrics::INDEX_PAGE_ENTRY_SUM_DAILY_NB_UNIQ_VISITORS,
- Metrics::INDEX_PAGE_EXIT_NB_UNIQ_VISITORS => Metrics::INDEX_PAGE_EXIT_SUM_DAILY_NB_UNIQ_VISITORS,
- );
- public static $columnsToDeleteAfterAggregation = array(
- Metrics::INDEX_NB_UNIQ_VISITORS,
- Metrics::INDEX_PAGE_ENTRY_NB_UNIQ_VISITORS,
- Metrics::INDEX_PAGE_EXIT_NB_UNIQ_VISITORS,
- );
- private static $columnsAggregationOperation = array(
- Metrics::INDEX_PAGE_MAX_TIME_GENERATION => 'max',
- Metrics::INDEX_PAGE_MIN_TIME_GENERATION => 'min'
- );
protected $actionsTablesByType = null;
protected $isSiteSearchEnabled = false;
@@ -133,10 +100,10 @@ class Archiver extends \Piwik\Plugin\Archiver
protected function updateQuerySelectFromForSiteSearch(&$select, &$from)
{
$selectFlagNoResultKeywords = ",
- CASE WHEN (MAX(log_link_visit_action.custom_var_v" . ActionSiteSearch::CVAR_INDEX_SEARCH_COUNT . ") = 0
- AND log_link_visit_action.custom_var_k" . ActionSiteSearch::CVAR_INDEX_SEARCH_COUNT . " = '" . ActionSiteSearch::CVAR_KEY_SEARCH_COUNT . "')
- THEN 1 ELSE 0 END
- AS `" . Metrics::INDEX_SITE_SEARCH_HAS_NO_RESULT . "`";
+ CASE WHEN (MAX(log_link_visit_action.custom_var_v" . ActionSiteSearch::CVAR_INDEX_SEARCH_COUNT . ") = 0
+ AND log_link_visit_action.custom_var_k" . ActionSiteSearch::CVAR_INDEX_SEARCH_COUNT . " = '" . ActionSiteSearch::CVAR_KEY_SEARCH_COUNT . "')
+ THEN 1 ELSE 0 END
+ AS `" . PiwikMetrics::INDEX_SITE_SEARCH_HAS_NO_RESULT . "`";
//we need an extra JOIN to know whether the referrer "idaction_name_ref" was a Site Search request
$from[] = array(
@@ -146,9 +113,9 @@ class Archiver extends \Piwik\Plugin\Archiver
);
$selectPageIsFollowingSiteSearch = ",
- SUM( CASE WHEN log_action_name_ref.type = " . Action::TYPE_SITE_SEARCH . "
- THEN 1 ELSE 0 END)
- AS `" . Metrics::INDEX_PAGE_IS_FOLLOWING_SITE_SEARCH_NB_HITS . "`";
+ SUM( CASE WHEN log_action_name_ref.type = " . Action::TYPE_SITE_SEARCH . "
+ THEN 1 ELSE 0 END)
+ AS `" . PiwikMetrics::INDEX_PAGE_IS_FOLLOWING_SITE_SEARCH_NB_HITS . "`";
$select .= $selectFlagNoResultKeywords
. $selectPageIsFollowingSiteSearch;
@@ -160,7 +127,7 @@ class Archiver extends \Piwik\Plugin\Archiver
private function initActionsTables()
{
$this->actionsTablesByType = array();
- foreach (self::$actionTypes as $type) {
+ foreach (Metrics::$actionTypes as $type) {
$dataTable = new DataTable();
$dataTable->setMaximumAllowedRows(ArchivingHelper::$maximumRowsInDataTableLevelZero);
@@ -168,7 +135,7 @@ class Archiver extends \Piwik\Plugin\Archiver
|| $type == Action::TYPE_PAGE_TITLE
) {
// for page urls and page titles, performance metrics exist and have to be aggregated correctly
- $dataTable->setMetadata(DataTable::COLUMN_AGGREGATION_OPS_METADATA_NAME, self::$columnsAggregationOperation);
+ $dataTable->setMetadata(DataTable::COLUMN_AGGREGATION_OPS_METADATA_NAME, Metrics::$columnsAggregationOperation);
}
$this->actionsTablesByType[$type] = $dataTable;
@@ -177,30 +144,17 @@ class Archiver extends \Piwik\Plugin\Archiver
protected function archiveDayActions($rankingQueryLimit)
{
+ $metricsConfig = Metrics::getActionMetrics();
+
$select = "log_action.name,
- log_action.type,
- log_action.idaction,
- log_action.url_prefix,
- count(distinct log_link_visit_action.idvisit) as `" . Metrics::INDEX_NB_VISITS . "`,
- count(distinct log_link_visit_action.idvisitor) as `" . Metrics::INDEX_NB_UNIQ_VISITORS . "`,
- count(*) as `" . Metrics::INDEX_PAGE_NB_HITS . "`,
- sum(
- case when " . Action::DB_COLUMN_CUSTOM_FLOAT . " is null
- then 0
- else " . Action::DB_COLUMN_CUSTOM_FLOAT . "
- end
- ) / 1000 as `" . Metrics::INDEX_PAGE_SUM_TIME_GENERATION . "`,
- sum(
- case when " . Action::DB_COLUMN_CUSTOM_FLOAT . " is null
- then 0
- else 1
- end
- ) as `" . Metrics::INDEX_PAGE_NB_HITS_WITH_TIME_GENERATION . "`,
- min(" . Action::DB_COLUMN_CUSTOM_FLOAT . ") / 1000
- as `" . Metrics::INDEX_PAGE_MIN_TIME_GENERATION . "`,
- max(" . Action::DB_COLUMN_CUSTOM_FLOAT . ") / 1000
- as `" . Metrics::INDEX_PAGE_MAX_TIME_GENERATION . "`
- ";
+ log_action.type,
+ log_action.idaction,
+ log_action.url_prefix,
+ count(distinct log_link_visit_action.idvisit) as `" . PiwikMetrics::INDEX_NB_VISITS . "`,
+ count(distinct log_link_visit_action.idvisitor) as `" . PiwikMetrics::INDEX_NB_UNIQ_VISITORS . "`,
+ count(*) as `" . PiwikMetrics::INDEX_PAGE_NB_HITS . "`";
+
+ $select = $this->addMetricsToSelect($select, $metricsConfig);
$from = array(
"log_link_visit_action",
@@ -211,29 +165,29 @@ class Archiver extends \Piwik\Plugin\Archiver
);
$where = "log_link_visit_action.server_time >= ?
- AND log_link_visit_action.server_time <= ?
- AND log_link_visit_action.idsite = ?
- AND log_link_visit_action.%s IS NOT NULL"
+ AND log_link_visit_action.server_time <= ?
+ AND log_link_visit_action.idsite = ?
+ AND log_link_visit_action.%s IS NOT NULL"
. $this->getWhereClauseActionIsNotEvent();
$groupBy = "log_action.idaction";
- $orderBy = "`" . Metrics::INDEX_PAGE_NB_HITS . "` DESC, name ASC";
+ $orderBy = "`" . PiwikMetrics::INDEX_PAGE_NB_HITS . "` DESC, name ASC";
$rankingQuery = false;
if ($rankingQueryLimit > 0) {
$rankingQuery = new RankingQuery($rankingQueryLimit);
$rankingQuery->setOthersLabel(DataTable::LABEL_SUMMARY_ROW);
$rankingQuery->addLabelColumn(array('idaction', 'name'));
- $rankingQuery->addColumn(array('url_prefix', Metrics::INDEX_NB_UNIQ_VISITORS));
- $rankingQuery->addColumn(array(Metrics::INDEX_PAGE_NB_HITS, Metrics::INDEX_NB_VISITS), 'sum');
+ $rankingQuery->addColumn(array('url_prefix', PiwikMetrics::INDEX_NB_UNIQ_VISITORS));
+ $rankingQuery->addColumn(array(PiwikMetrics::INDEX_PAGE_NB_HITS, PiwikMetrics::INDEX_NB_VISITS), 'sum');
+
if ($this->isSiteSearchEnabled()) {
- $rankingQuery->addColumn(Metrics::INDEX_SITE_SEARCH_HAS_NO_RESULT, 'min');
- $rankingQuery->addColumn(Metrics::INDEX_PAGE_IS_FOLLOWING_SITE_SEARCH_NB_HITS, 'sum');
+ $rankingQuery->addColumn(PiwikMetrics::INDEX_SITE_SEARCH_HAS_NO_RESULT, 'min');
+ $rankingQuery->addColumn(PiwikMetrics::INDEX_PAGE_IS_FOLLOWING_SITE_SEARCH_NB_HITS, 'sum');
}
- $rankingQuery->addColumn(Metrics::INDEX_PAGE_SUM_TIME_GENERATION, 'sum');
- $rankingQuery->addColumn(Metrics::INDEX_PAGE_NB_HITS_WITH_TIME_GENERATION, 'sum');
- $rankingQuery->addColumn(Metrics::INDEX_PAGE_MIN_TIME_GENERATION, 'min');
- $rankingQuery->addColumn(Metrics::INDEX_PAGE_MAX_TIME_GENERATION, 'max');
+
+ $this->addMetricsToRankingQuery($rankingQuery, $metricsConfig);
+
$rankingQuery->partitionResultIntoMultipleGroups('type', array_keys($this->actionsTablesByType));
}
@@ -244,9 +198,30 @@ class Archiver extends \Piwik\Plugin\Archiver
$this->updateQuerySelectFromForSiteSearch($select, $from);
}
- $this->archiveDayQueryProcess($select, $from, $where, $groupBy, $orderBy, "idaction_name", $rankingQuery);
+ $this->archiveDayQueryProcess($select, $from, $where, $groupBy, $orderBy, "idaction_name", $rankingQuery, $metricsConfig);
+ $this->archiveDayQueryProcess($select, $from, $where, $groupBy, $orderBy, "idaction_url", $rankingQuery, $metricsConfig);
+ }
- $this->archiveDayQueryProcess($select, $from, $where, $groupBy, $orderBy, "idaction_url", $rankingQuery);
+ private function addMetricsToSelect($select, $metricsConfig)
+ {
+ if (!empty($metricsConfig)) {
+ foreach ($metricsConfig as $metric => $config) {
+ $select .= ', ' . $config['query'] . " as `" . $metric . "`";
+ }
+ }
+
+ return $select;
+ }
+
+ private function addMetricsToRankingQuery(RankingQuery $rankingQuery, $metricsConfig)
+ {
+ foreach ($metricsConfig as $metric => $config) {
+ if (!empty($config['aggregation'])) {
+ $rankingQuery->addColumn($metric, $config['aggregation']);
+ } else {
+ $rankingQuery->addColumn($metric);
+ }
+ }
}
protected function isSiteSearchEnabled()
@@ -254,7 +229,7 @@ class Archiver extends \Piwik\Plugin\Archiver
return $this->isSiteSearchEnabled;
}
- protected function archiveDayQueryProcess($select, $from, $where, $groupBy, $orderBy, $sprintfField, RankingQuery $rankingQuery = null)
+ protected function archiveDayQueryProcess($select, $from, $where, $groupBy, $orderBy, $sprintfField, RankingQuery $rankingQuery = null, $metricsConfig = array())
{
$select = sprintf($select, $sprintfField);
@@ -271,7 +246,7 @@ class Archiver extends \Piwik\Plugin\Archiver
// get result
$resultSet = $this->getLogAggregator()->getDb()->query($querySql, $query['bind']);
- $modified = ArchivingHelper::updateActionsTableWithRowQuery($resultSet, $sprintfField, $this->actionsTablesByType);
+ $modified = ArchivingHelper::updateActionsTableWithRowQuery($resultSet, $sprintfField, $this->actionsTablesByType, $metricsConfig);
return $modified;
}
@@ -285,11 +260,11 @@ class Archiver extends \Piwik\Plugin\Archiver
$rankingQuery = new RankingQuery($rankingQueryLimit);
$rankingQuery->setOthersLabel(DataTable::LABEL_SUMMARY_ROW);
$rankingQuery->addLabelColumn('idaction');
- $rankingQuery->addColumn(Metrics::INDEX_PAGE_ENTRY_NB_UNIQ_VISITORS);
- $rankingQuery->addColumn(array(Metrics::INDEX_PAGE_ENTRY_NB_VISITS,
- Metrics::INDEX_PAGE_ENTRY_NB_ACTIONS,
- Metrics::INDEX_PAGE_ENTRY_SUM_VISIT_LENGTH,
- Metrics::INDEX_PAGE_ENTRY_BOUNCE_COUNT), 'sum');
+ $rankingQuery->addColumn(PiwikMetrics::INDEX_PAGE_ENTRY_NB_UNIQ_VISITORS);
+ $rankingQuery->addColumn(array(PiwikMetrics::INDEX_PAGE_ENTRY_NB_VISITS,
+ PiwikMetrics::INDEX_PAGE_ENTRY_NB_ACTIONS,
+ PiwikMetrics::INDEX_PAGE_ENTRY_SUM_VISIT_LENGTH,
+ PiwikMetrics::INDEX_PAGE_ENTRY_BOUNCE_COUNT), 'sum');
$rankingQuery->partitionResultIntoMultipleGroups('type', array_keys($this->actionsTablesByType));
$extraSelects = 'log_action.type, log_action.name,';
@@ -300,7 +275,7 @@ class Archiver extends \Piwik\Plugin\Archiver
"joinOn" => "log_visit.%s = log_action.idaction"
)
);
- $orderBy = "`" . Metrics::INDEX_PAGE_ENTRY_NB_ACTIONS . "` DESC, log_action.name ASC";
+ $orderBy = "`" . PiwikMetrics::INDEX_PAGE_ENTRY_NB_ACTIONS . "` DESC, log_action.name ASC";
} else {
$extraSelects = false;
$from = "log_visit";
@@ -308,16 +283,16 @@ class Archiver extends \Piwik\Plugin\Archiver
}
$select = "log_visit.%s as idaction, $extraSelects
- count(distinct log_visit.idvisitor) as `" . Metrics::INDEX_PAGE_ENTRY_NB_UNIQ_VISITORS . "`,
- count(*) as `" . Metrics::INDEX_PAGE_ENTRY_NB_VISITS . "`,
- sum(log_visit.visit_total_actions) as `" . Metrics::INDEX_PAGE_ENTRY_NB_ACTIONS . "`,
- sum(log_visit.visit_total_time) as `" . Metrics::INDEX_PAGE_ENTRY_SUM_VISIT_LENGTH . "`,
- sum(case log_visit.visit_total_actions when 1 then 1 when 0 then 1 else 0 end) as `" . Metrics::INDEX_PAGE_ENTRY_BOUNCE_COUNT . "`";
+ count(distinct log_visit.idvisitor) as `" . PiwikMetrics::INDEX_PAGE_ENTRY_NB_UNIQ_VISITORS . "`,
+ count(*) as `" . PiwikMetrics::INDEX_PAGE_ENTRY_NB_VISITS . "`,
+ sum(log_visit.visit_total_actions) as `" . PiwikMetrics::INDEX_PAGE_ENTRY_NB_ACTIONS . "`,
+ sum(log_visit.visit_total_time) as `" . PiwikMetrics::INDEX_PAGE_ENTRY_SUM_VISIT_LENGTH . "`,
+ sum(case log_visit.visit_total_actions when 1 then 1 when 0 then 1 else 0 end) as `" . PiwikMetrics::INDEX_PAGE_ENTRY_BOUNCE_COUNT . "`";
$where = "log_visit.visit_last_action_time >= ?
- AND log_visit.visit_last_action_time <= ?
- AND log_visit.idsite = ?
- AND log_visit.%s > 0";
+ AND log_visit.visit_last_action_time <= ?
+ AND log_visit.idsite = ?
+ AND log_visit.%s > 0";
$groupBy = "log_visit.%s, idaction";
@@ -336,8 +311,8 @@ class Archiver extends \Piwik\Plugin\Archiver
$rankingQuery = new RankingQuery($rankingQueryLimit);
$rankingQuery->setOthersLabel(DataTable::LABEL_SUMMARY_ROW);
$rankingQuery->addLabelColumn('idaction');
- $rankingQuery->addColumn(Metrics::INDEX_PAGE_EXIT_NB_UNIQ_VISITORS);
- $rankingQuery->addColumn(Metrics::INDEX_PAGE_EXIT_NB_VISITS, 'sum');
+ $rankingQuery->addColumn(PiwikMetrics::INDEX_PAGE_EXIT_NB_UNIQ_VISITORS);
+ $rankingQuery->addColumn(PiwikMetrics::INDEX_PAGE_EXIT_NB_VISITS, 'sum');
$rankingQuery->partitionResultIntoMultipleGroups('type', array_keys($this->actionsTablesByType));
$extraSelects = 'log_action.type, log_action.name,';
@@ -348,7 +323,7 @@ class Archiver extends \Piwik\Plugin\Archiver
"joinOn" => "log_visit.%s = log_action.idaction"
)
);
- $orderBy = "`" . Metrics::INDEX_PAGE_EXIT_NB_VISITS . "` DESC, log_action.name ASC";
+ $orderBy = "`" . PiwikMetrics::INDEX_PAGE_EXIT_NB_VISITS . "` DESC, log_action.name ASC";
} else {
$extraSelects = false;
$from = "log_visit";
@@ -356,13 +331,13 @@ class Archiver extends \Piwik\Plugin\Archiver
}
$select = "log_visit.%s as idaction, $extraSelects
- count(distinct log_visit.idvisitor) as `" . Metrics::INDEX_PAGE_EXIT_NB_UNIQ_VISITORS . "`,
- count(*) as `" . Metrics::INDEX_PAGE_EXIT_NB_VISITS . "`";
+ count(distinct log_visit.idvisitor) as `" . PiwikMetrics::INDEX_PAGE_EXIT_NB_UNIQ_VISITORS . "`,
+ count(*) as `" . PiwikMetrics::INDEX_PAGE_EXIT_NB_VISITS . "`";
$where = "log_visit.visit_last_action_time >= ?
- AND log_visit.visit_last_action_time <= ?
- AND log_visit.idsite = ?
- AND log_visit.%s > 0";
+ AND log_visit.visit_last_action_time <= ?
+ AND log_visit.idsite = ?
+ AND log_visit.%s > 0";
$groupBy = "log_visit.%s, idaction";
@@ -382,10 +357,10 @@ class Archiver extends \Piwik\Plugin\Archiver
$rankingQuery = new RankingQuery($rankingQueryLimit);
$rankingQuery->setOthersLabel(DataTable::LABEL_SUMMARY_ROW);
$rankingQuery->addLabelColumn('idaction');
- $rankingQuery->addColumn(Metrics::INDEX_PAGE_SUM_TIME_SPENT, 'sum');
+ $rankingQuery->addColumn(PiwikMetrics::INDEX_PAGE_SUM_TIME_SPENT, 'sum');
$rankingQuery->partitionResultIntoMultipleGroups('type', array_keys($this->actionsTablesByType));
- $extraSelects = "log_action.type, log_action.name, count(*) as `" . Metrics::INDEX_PAGE_NB_HITS . "`,";
+ $extraSelects = "log_action.type, log_action.name, count(*) as `" . PiwikMetrics::INDEX_PAGE_NB_HITS . "`,";
$from = array(
"log_link_visit_action",
array(
@@ -393,7 +368,7 @@ class Archiver extends \Piwik\Plugin\Archiver
"joinOn" => "log_link_visit_action.%s = log_action.idaction"
)
);
- $orderBy = "`" . Metrics::INDEX_PAGE_NB_HITS . "` DESC, log_action.name ASC";
+ $orderBy = "`" . PiwikMetrics::INDEX_PAGE_NB_HITS . "` DESC, log_action.name ASC";
} else {
$extraSelects = false;
$from = "log_link_visit_action";
@@ -401,13 +376,13 @@ class Archiver extends \Piwik\Plugin\Archiver
}
$select = "log_link_visit_action.%s as idaction, $extraSelects
- sum(log_link_visit_action.time_spent_ref_action) as `" . Metrics::INDEX_PAGE_SUM_TIME_SPENT . "`";
+ sum(log_link_visit_action.time_spent_ref_action) as `" . PiwikMetrics::INDEX_PAGE_SUM_TIME_SPENT . "`";
$where = "log_link_visit_action.server_time >= ?
- AND log_link_visit_action.server_time <= ?
- AND log_link_visit_action.idsite = ?
- AND log_link_visit_action.time_spent_ref_action > 0
- AND log_link_visit_action.%s > 0"
+ AND log_link_visit_action.server_time <= ?
+ AND log_link_visit_action.idsite = ?
+ AND log_link_visit_action.time_spent_ref_action > 0
+ AND log_link_visit_action.%s > 0"
. $this->getWhereClauseActionIsNotEvent();
$groupBy = "log_link_visit_action.%s, idaction";
@@ -437,10 +412,10 @@ class Archiver extends \Piwik\Plugin\Archiver
$this->insertTable($dataTable, self::PAGE_URLS_RECORD_NAME);
$records = array(
- self::METRIC_PAGEVIEWS_RECORD_NAME => array_sum($dataTable->getColumn(Metrics::INDEX_PAGE_NB_HITS)),
- self::METRIC_UNIQ_PAGEVIEWS_RECORD_NAME => array_sum($dataTable->getColumn(Metrics::INDEX_NB_VISITS)),
- self::METRIC_SUM_TIME_RECORD_NAME => array_sum($dataTable->getColumn(Metrics::INDEX_PAGE_SUM_TIME_GENERATION)),
- self::METRIC_HITS_TIMED_RECORD_NAME => array_sum($dataTable->getColumn(Metrics::INDEX_PAGE_NB_HITS_WITH_TIME_GENERATION))
+ self::METRIC_PAGEVIEWS_RECORD_NAME => array_sum($dataTable->getColumn(PiwikMetrics::INDEX_PAGE_NB_HITS)),
+ self::METRIC_UNIQ_PAGEVIEWS_RECORD_NAME => array_sum($dataTable->getColumn(PiwikMetrics::INDEX_NB_VISITS)),
+ self::METRIC_SUM_TIME_RECORD_NAME => array_sum($dataTable->getColumn(PiwikMetrics::INDEX_PAGE_SUM_TIME_GENERATION)),
+ self::METRIC_HITS_TIMED_RECORD_NAME => array_sum($dataTable->getColumn(PiwikMetrics::INDEX_PAGE_NB_HITS_WITH_TIME_GENERATION))
);
$this->getProcessor()->insertNumericRecords($records);
}
@@ -466,8 +441,8 @@ class Archiver extends \Piwik\Plugin\Archiver
$dataTable = $this->getDataTable(Action::TYPE_DOWNLOAD);
$this->insertTable($dataTable, self::DOWNLOADS_RECORD_NAME);
- $this->getProcessor()->insertNumericRecord(self::METRIC_DOWNLOADS_RECORD_NAME, array_sum($dataTable->getColumn(Metrics::INDEX_PAGE_NB_HITS)));
- $this->getProcessor()->insertNumericRecord(self::METRIC_UNIQ_DOWNLOADS_RECORD_NAME, array_sum($dataTable->getColumn(Metrics::INDEX_NB_VISITS)));
+ $this->getProcessor()->insertNumericRecord(self::METRIC_DOWNLOADS_RECORD_NAME, array_sum($dataTable->getColumn(PiwikMetrics::INDEX_PAGE_NB_HITS)));
+ $this->getProcessor()->insertNumericRecord(self::METRIC_UNIQ_DOWNLOADS_RECORD_NAME, array_sum($dataTable->getColumn(PiwikMetrics::INDEX_NB_VISITS)));
}
protected function insertOutlinksReports()
@@ -475,8 +450,8 @@ class Archiver extends \Piwik\Plugin\Archiver
$dataTable = $this->getDataTable(Action::TYPE_OUTLINK);
$this->insertTable($dataTable, self::OUTLINKS_RECORD_NAME);
- $this->getProcessor()->insertNumericRecord(self::METRIC_OUTLINKS_RECORD_NAME, array_sum($dataTable->getColumn(Metrics::INDEX_PAGE_NB_HITS)));
- $this->getProcessor()->insertNumericRecord(self::METRIC_UNIQ_OUTLINKS_RECORD_NAME, array_sum($dataTable->getColumn(Metrics::INDEX_NB_VISITS)));
+ $this->getProcessor()->insertNumericRecord(self::METRIC_OUTLINKS_RECORD_NAME, array_sum($dataTable->getColumn(PiwikMetrics::INDEX_PAGE_NB_HITS)));
+ $this->getProcessor()->insertNumericRecord(self::METRIC_UNIQ_OUTLINKS_RECORD_NAME, array_sum($dataTable->getColumn(PiwikMetrics::INDEX_NB_VISITS)));
}
protected function insertPageTitlesReports()
@@ -491,21 +466,21 @@ class Archiver extends \Piwik\Plugin\Archiver
$this->deleteUnusedColumnsFromKeywordsDataTable($dataTable);
$this->insertTable($dataTable, self::SITE_SEARCH_RECORD_NAME);
- $this->getProcessor()->insertNumericRecord(self::METRIC_SEARCHES_RECORD_NAME, array_sum($dataTable->getColumn(Metrics::INDEX_NB_VISITS)));
+ $this->getProcessor()->insertNumericRecord(self::METRIC_SEARCHES_RECORD_NAME, array_sum($dataTable->getColumn(PiwikMetrics::INDEX_NB_VISITS)));
$this->getProcessor()->insertNumericRecord(self::METRIC_KEYWORDS_RECORD_NAME, $dataTable->getRowsCount());
}
protected function deleteUnusedColumnsFromKeywordsDataTable(DataTable $dataTable)
{
$columnsToDelete = array(
- Metrics::INDEX_NB_UNIQ_VISITORS,
- Metrics::INDEX_PAGE_IS_FOLLOWING_SITE_SEARCH_NB_HITS,
- Metrics::INDEX_PAGE_ENTRY_NB_UNIQ_VISITORS,
- Metrics::INDEX_PAGE_ENTRY_NB_ACTIONS,
- Metrics::INDEX_PAGE_ENTRY_SUM_VISIT_LENGTH,
- Metrics::INDEX_PAGE_ENTRY_NB_VISITS,
- Metrics::INDEX_PAGE_ENTRY_BOUNCE_COUNT,
- Metrics::INDEX_PAGE_EXIT_NB_UNIQ_VISITORS,
+ PiwikMetrics::INDEX_NB_UNIQ_VISITORS,
+ PiwikMetrics::INDEX_PAGE_IS_FOLLOWING_SITE_SEARCH_NB_HITS,
+ PiwikMetrics::INDEX_PAGE_ENTRY_NB_UNIQ_VISITORS,
+ PiwikMetrics::INDEX_PAGE_ENTRY_NB_ACTIONS,
+ PiwikMetrics::INDEX_PAGE_ENTRY_SUM_VISIT_LENGTH,
+ PiwikMetrics::INDEX_PAGE_ENTRY_NB_VISITS,
+ PiwikMetrics::INDEX_PAGE_ENTRY_BOUNCE_COUNT,
+ PiwikMetrics::INDEX_PAGE_EXIT_NB_UNIQ_VISITORS,
);
$dataTable->deleteColumns($columnsToDelete);
}
@@ -521,8 +496,8 @@ class Archiver extends \Piwik\Plugin\Archiver
ArchivingHelper::$maximumRowsInDataTableLevelZero,
ArchivingHelper::$maximumRowsInSubDataTable,
ArchivingHelper::$columnToSortByBeforeTruncation,
- self::$columnsAggregationOperation,
- self::$columnsToRenameAfterAggregation
+ Metrics::$columnsAggregationOperation,
+ Metrics::$columnsToRenameAfterAggregation
);
$dataTableToSum = array(
@@ -536,7 +511,7 @@ class Archiver extends \Piwik\Plugin\Archiver
ArchivingHelper::$maximumRowsInSubDataTable,
ArchivingHelper::$columnToSortByBeforeTruncation,
$aggregation,
- self::$columnsToRenameAfterAggregation
+ Metrics::$columnsToRenameAfterAggregation
);
$this->getProcessor()->aggregateNumericMetrics($this->getMetricNames());
diff --git a/plugins/Actions/ArchivingHelper.php b/plugins/Actions/ArchivingHelper.php
index 34873eb194..16a7c5f536 100644
--- a/plugins/Actions/ArchivingHelper.php
+++ b/plugins/Actions/ArchivingHelper.php
@@ -14,7 +14,7 @@ use Piwik\DataTable\Row\DataTableSummaryRow;
use Piwik\DataTable;
use Piwik\DataTable\Manager;
use Piwik\DataTable\Row;
-use Piwik\Metrics;
+use Piwik\Metrics as PiwikMetrics;
use Piwik\Piwik;
use Piwik\Tracker\Action;
use Piwik\Tracker\PageUrl;
@@ -38,7 +38,7 @@ class ArchivingHelper
* @param array $actionsTablesByType
* @return int
*/
- public static function updateActionsTableWithRowQuery($query, $fieldQueried, & $actionsTablesByType)
+ public static function updateActionsTableWithRowQuery($query, $fieldQueried, & $actionsTablesByType, $metricsConfig)
{
$rowsProcessed = 0;
while ($row = $query->fetch()) {
@@ -51,7 +51,7 @@ class ArchivingHelper
}
if ($row['type'] != Action::TYPE_SITE_SEARCH) {
- unset($row[Metrics::INDEX_SITE_SEARCH_HAS_NO_RESULT]);
+ unset($row[PiwikMetrics::INDEX_SITE_SEARCH_HAS_NO_RESULT]);
}
if ($row['type'] == Action::TYPE_CONTENT) {
@@ -111,15 +111,15 @@ class ArchivingHelper
&& !$actionRow->isSummaryRow()
) {
if (($existingUrl = $actionRow->getMetadata('url')) !== false) {
- if (!empty($row[Metrics::INDEX_PAGE_NB_HITS])
- && $row[Metrics::INDEX_PAGE_NB_HITS] > $actionRow->maxVisitsSummed
+ if (!empty($row[PiwikMetrics::INDEX_PAGE_NB_HITS])
+ && $row[PiwikMetrics::INDEX_PAGE_NB_HITS] > $actionRow->maxVisitsSummed
) {
$actionRow->setMetadata('url', $url);
- $actionRow->maxVisitsSummed = $row[Metrics::INDEX_PAGE_NB_HITS];
+ $actionRow->maxVisitsSummed = $row[PiwikMetrics::INDEX_PAGE_NB_HITS];
}
} else {
$actionRow->setMetadata('url', $url);
- $actionRow->maxVisitsSummed = !empty($row[Metrics::INDEX_PAGE_NB_HITS]) ? $row[Metrics::INDEX_PAGE_NB_HITS] : 0;
+ $actionRow->maxVisitsSummed = !empty($row[PiwikMetrics::INDEX_PAGE_NB_HITS]) ? $row[PiwikMetrics::INDEX_PAGE_NB_HITS] : 0;
}
}
@@ -127,17 +127,17 @@ class ArchivingHelper
&& $row['type'] != Action::TYPE_PAGE_TITLE
) {
// only keep performance metrics when they're used (i.e. for URLs and page titles)
- if (array_key_exists(Metrics::INDEX_PAGE_SUM_TIME_GENERATION, $row)) {
- unset($row[Metrics::INDEX_PAGE_SUM_TIME_GENERATION]);
+ if (array_key_exists(PiwikMetrics::INDEX_PAGE_SUM_TIME_GENERATION, $row)) {
+ unset($row[PiwikMetrics::INDEX_PAGE_SUM_TIME_GENERATION]);
}
- if (array_key_exists(Metrics::INDEX_PAGE_NB_HITS_WITH_TIME_GENERATION, $row)) {
- unset($row[Metrics::INDEX_PAGE_NB_HITS_WITH_TIME_GENERATION]);
+ if (array_key_exists(PiwikMetrics::INDEX_PAGE_NB_HITS_WITH_TIME_GENERATION, $row)) {
+ unset($row[PiwikMetrics::INDEX_PAGE_NB_HITS_WITH_TIME_GENERATION]);
}
- if (array_key_exists(Metrics::INDEX_PAGE_MIN_TIME_GENERATION, $row)) {
- unset($row[Metrics::INDEX_PAGE_MIN_TIME_GENERATION]);
+ if (array_key_exists(PiwikMetrics::INDEX_PAGE_MIN_TIME_GENERATION, $row)) {
+ unset($row[PiwikMetrics::INDEX_PAGE_MIN_TIME_GENERATION]);
}
- if (array_key_exists(Metrics::INDEX_PAGE_MAX_TIME_GENERATION, $row)) {
- unset($row[Metrics::INDEX_PAGE_MAX_TIME_GENERATION]);
+ if (array_key_exists(PiwikMetrics::INDEX_PAGE_MAX_TIME_GENERATION, $row)) {
+ unset($row[PiwikMetrics::INDEX_PAGE_MAX_TIME_GENERATION]);
}
}
@@ -151,7 +151,7 @@ class ArchivingHelper
// - this happens when 2 visitors visit the same new page at the same time, and 2 actions get recorded for the same name
// - this could also happen when 2 URLs end up having the same label (eg. 2 subdomains get aggregated to the "/index" page name)
if (($alreadyValue = $actionRow->getColumn($name)) !== false) {
- $newValue = self::getColumnValuesMerged($name, $alreadyValue, $value);
+ $newValue = self::getColumnValuesMerged($name, $alreadyValue, $value, $metricsConfig);
$actionRow->setColumn($name, $newValue);
} else {
$actionRow->addColumn($name, $value);
@@ -161,7 +161,7 @@ class ArchivingHelper
// if the exit_action was not recorded properly in the log_link_visit_action
// there would be an error message when getting the nb_hits column
// we must fake the record and add the columns
- if ($actionRow->getColumn(Metrics::INDEX_PAGE_NB_HITS) === false) {
+ if ($actionRow->getColumn(PiwikMetrics::INDEX_PAGE_NB_HITS) === false) {
// to test this code: delete the entries in log_link_action_visit for
// a given exit_idaction_url
foreach (self::getDefaultRow()->getColumns() as $name => $value) {
@@ -180,7 +180,7 @@ class ArchivingHelper
{
// Delete all columns that have a value of zero
$dataTable->filter('ColumnDelete', array(
- $columnsToRemove = array(Metrics::INDEX_PAGE_IS_FOLLOWING_SITE_SEARCH_NB_HITS),
+ $columnsToRemove = array(PiwikMetrics::INDEX_PAGE_IS_FOLLOWING_SITE_SEARCH_NB_HITS),
$columnsToKeep = array(),
$deleteIfZeroOnly = true
));
@@ -207,7 +207,7 @@ class ArchivingHelper
$row->recalculate();
}
- foreach (Archiver::$columnsToDeleteAfterAggregation as $name) {
+ foreach (Metrics::$columnsToDeleteAfterAggregation as $name) {
$row->deleteColumn($name);
}
}
@@ -267,21 +267,28 @@ class ArchivingHelper
* @param $value
* @return mixed
*/
- private static function getColumnValuesMerged($columnName, $alreadyValue, $value)
+ private static function getColumnValuesMerged($columnName, $alreadyValue, $value, $metricsConfig)
{
- if ($columnName == Metrics::INDEX_PAGE_MIN_TIME_GENERATION) {
- if (empty($alreadyValue)) {
- $newValue = $value;
- } else if (empty($value)) {
- $newValue = $alreadyValue;
- } else {
- $newValue = min($alreadyValue, $value);
+ if (array_key_exists($columnName, $metricsConfig)) {
+ $config = $metricsConfig[$columnName];
+
+ if (!empty($config['aggregation'])) {
+
+ if ($config['aggregation'] == 'min') {
+ if (empty($alreadyValue)) {
+ $newValue = $value;
+ } else if (empty($value)) {
+ $newValue = $alreadyValue;
+ } else {
+ $newValue = min($alreadyValue, $value);
+ }
+ return $newValue;
+ }
+ if ($config['aggregation'] == 'max') {
+ $newValue = max($alreadyValue, $value);
+ return $newValue;
+ }
}
- return $newValue;
- }
- if ($columnName == Metrics::INDEX_PAGE_MAX_TIME_GENERATION) {
- $newValue = max($alreadyValue, $value);
- return $newValue;
}
$newValue = $alreadyValue + $value;
@@ -310,7 +317,7 @@ class ArchivingHelper
}
self::$defaultActionName = Config::getInstance()->General['action_default_name'];
- self::$columnToSortByBeforeTruncation = Metrics::INDEX_NB_VISITS;
+ self::$columnToSortByBeforeTruncation = PiwikMetrics::INDEX_NB_VISITS;
self::$maximumRowsInDataTableLevelZero = Config::getInstance()->General['datatable_archiving_maximum_rows_actions'];
self::$maximumRowsInSubDataTable = Config::getInstance()->General['datatable_archiving_maximum_rows_subtable_actions'];
@@ -333,9 +340,9 @@ class ArchivingHelper
// so we add this fake row information to make sure there is a nb_hits, etc. column for every action
$row = new Row(array(
Row::COLUMNS => array(
- Metrics::INDEX_NB_VISITS => 1,
- Metrics::INDEX_NB_UNIQ_VISITORS => 1,
- Metrics::INDEX_PAGE_NB_HITS => 1,
+ PiwikMetrics::INDEX_NB_VISITS => 1,
+ PiwikMetrics::INDEX_NB_UNIQ_VISITORS => 1,
+ PiwikMetrics::INDEX_PAGE_NB_HITS => 1,
)));
}
return $row;
@@ -351,13 +358,13 @@ class ArchivingHelper
* @param array $actionsTablesByType
* @return DataTable
*/
- private static function getActionRow($actionName, $actionType, $urlPrefix = null, &$actionsTablesByType)
+ public static function getActionRow($actionName, $actionType, $urlPrefix = null, &$actionsTablesByType)
{
// we work on the root table of the given TYPE (either ACTION_URL or DOWNLOAD or OUTLINK etc.)
/* @var DataTable $currentTable */
$currentTable =& $actionsTablesByType[$actionType];
- if(is_null($currentTable)) {
+ if (is_null($currentTable)) {
throw new \Exception("Action table for type '$actionType' was not found during Actions archiving.");
}
@@ -529,10 +536,10 @@ class ArchivingHelper
*/
private static function getDefaultRowColumns()
{
- return array(Metrics::INDEX_NB_VISITS => 0,
- Metrics::INDEX_NB_UNIQ_VISITORS => 0,
- Metrics::INDEX_PAGE_NB_HITS => 0,
- Metrics::INDEX_PAGE_SUM_TIME_SPENT => 0);
+ return array(PiwikMetrics::INDEX_NB_VISITS => 0,
+ PiwikMetrics::INDEX_NB_UNIQ_VISITORS => 0,
+ PiwikMetrics::INDEX_PAGE_NB_HITS => 0,
+ PiwikMetrics::INDEX_PAGE_SUM_TIME_SPENT => 0);
}
/**
diff --git a/plugins/Actions/Metrics.php b/plugins/Actions/Metrics.php
new file mode 100644
index 0000000000..83b1c7370a
--- /dev/null
+++ b/plugins/Actions/Metrics.php
@@ -0,0 +1,85 @@
+<?php
+/**
+ * Piwik - free/libre analytics platform
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ *
+ */
+namespace Piwik\Plugins\Actions;
+
+use Piwik\DataTable;
+use Piwik\Metrics as PiwikMetrics;
+use Piwik\Piwik;
+use Piwik\RankingQuery;
+use Piwik\Tracker\Action;
+use Piwik\Plugins\Actions\Actions\ActionSiteSearch;
+
+/**
+ * Class encapsulating logic to process Day/Period Archiving for the Actions reports
+ *
+ */
+class Metrics
+{
+
+ public static $actionTypes = array(
+ Action::TYPE_PAGE_URL,
+ Action::TYPE_OUTLINK,
+ Action::TYPE_DOWNLOAD,
+ Action::TYPE_PAGE_TITLE,
+ Action::TYPE_SITE_SEARCH,
+ );
+
+ public static $columnsToRenameAfterAggregation = array(
+ PiwikMetrics::INDEX_NB_UNIQ_VISITORS => PiwikMetrics::INDEX_SUM_DAILY_NB_UNIQ_VISITORS,
+ PiwikMetrics::INDEX_PAGE_ENTRY_NB_UNIQ_VISITORS => PiwikMetrics::INDEX_PAGE_ENTRY_SUM_DAILY_NB_UNIQ_VISITORS,
+ PiwikMetrics::INDEX_PAGE_EXIT_NB_UNIQ_VISITORS => PiwikMetrics::INDEX_PAGE_EXIT_SUM_DAILY_NB_UNIQ_VISITORS,
+ );
+
+ public static $columnsToDeleteAfterAggregation = array(
+ PiwikMetrics::INDEX_NB_UNIQ_VISITORS,
+ PiwikMetrics::INDEX_PAGE_ENTRY_NB_UNIQ_VISITORS,
+ PiwikMetrics::INDEX_PAGE_EXIT_NB_UNIQ_VISITORS,
+ );
+
+ public static $columnsAggregationOperation = array(
+ PiwikMetrics::INDEX_PAGE_MAX_TIME_GENERATION => 'max',
+ PiwikMetrics::INDEX_PAGE_MIN_TIME_GENERATION => 'min'
+ );
+
+ public static function getActionMetrics()
+ {
+ $metricsConfig = array(
+ PiwikMetrics::INDEX_PAGE_SUM_TIME_GENERATION => array(
+ 'aggregation' => 'sum',
+ 'query' => "sum(
+ case when " . Action::DB_COLUMN_CUSTOM_FLOAT . " is null
+ then 0
+ else " . Action::DB_COLUMN_CUSTOM_FLOAT . "
+ end
+ ) / 1000"
+ ),
+ PiwikMetrics::INDEX_PAGE_NB_HITS_WITH_TIME_GENERATION => array(
+ 'aggregation' => 'sum',
+ 'query' => "sum(
+ case when " . Action::DB_COLUMN_CUSTOM_FLOAT . " is null
+ then 0
+ else 1
+ end
+ )"
+ ),
+ PiwikMetrics::INDEX_PAGE_MIN_TIME_GENERATION => array(
+ 'aggregation' => 'min',
+ 'query' => "min(" . Action::DB_COLUMN_CUSTOM_FLOAT . ") / 1000"
+ ),
+ PiwikMetrics::INDEX_PAGE_MAX_TIME_GENERATION => array(
+ 'aggregation' => 'max',
+ 'query' => "max(" . Action::DB_COLUMN_CUSTOM_FLOAT . ") / 1000"
+ ),
+ );
+
+ Piwik::postEvent('Actions.Archiving.addActionMetrics', array(&$metricsConfig));
+
+ return $metricsConfig;
+ }
+}
diff --git a/plugins/CustomAlerts b/plugins/CustomAlerts
-Subproject 6a0669bf8a8a0b6059b3d15eca4c141a320467c
+Subproject d66e08e1f4ea336b96a263f0ea07bfb56a9001b
diff --git a/plugins/Live/Reports/GetLastVisitsDetails.php b/plugins/Live/Reports/GetLastVisitsDetails.php
index 9c2b4373e3..7d5318b588 100644
--- a/plugins/Live/Reports/GetLastVisitsDetails.php
+++ b/plugins/Live/Reports/GetLastVisitsDetails.php
@@ -27,6 +27,11 @@ class GetLastVisitsDetails extends Base
return VisitorLog::ID;
}
+ public function alwaysUseDefaultViewDataTable()
+ {
+ return true;
+ }
+
public function configureReportingMenu(MenuReporting $menu)
{
if ($this->isEnabled()) {
diff --git a/plugins/Login/templates/login.twig b/plugins/Login/templates/login.twig
index ec8760a991..d6d461fa66 100644
--- a/plugins/Login/templates/login.twig
+++ b/plugins/Login/templates/login.twig
@@ -1,18 +1,7 @@
-<!DOCTYPE html>
-<html>
-<head>
- <meta charset="utf-8">
- <meta http-equiv="x-ua-compatible" content="IE=EDGE,chrome=1" >
- <title>{% if isCustomLogo == false %}Piwik &rsaquo; {% endif %}{{ 'Login_LogIn'|translate }}</title>
-
- {% include "@CoreHome/_favicon.twig" %}
- {% autoescape false %}
- {{ includeAssets({"type": "css"}) }}
- {% endautoescape %}
- <meta name="description" content="{{ 'General_OpenSourceWebAnalytics'|translate }}"/>
- <meta name="apple-itunes-app" content="app-id=737216887" />
- <meta name="google-play-app" content="app-id=org.piwik.mobile2">
- {% include "_jsCssIncludes.twig" %}
+{% extends '@Morpheus/layout.twig' %}
+
+{% block head %}
+ {{ parent() }}
<script type="text/javascript" src="libs/bower_components/jquery-placeholder/jquery.placeholder.js"></script>
<!--[if lt IE 9]>
<script src="libs/bower_components/html5shiv/dist/html5shiv.min.js"></script>
@@ -26,12 +15,16 @@
$('input').placeholder();
$.smartbanner({title: "Piwik Mobile 2", author: "Piwik team", hideOnInstall: false, layer: true, icon: "plugins/CoreHome/images/googleplay.png"});
});
- </script>
- </head>
- <!--[if lt IE 9 ]>
- <body id="loginPage" class="old-ie"> <![endif]-->
- <!--[if (gte IE 9)|!(IE)]><!-->
- <body id="loginPage"><!--<![endif]-->
+ </script>
+{% endblock %}
+
+{% block pageTitle %}{% if isCustomLogo == false %}Piwik &rsaquo; {% endif %}{{ 'Login_LogIn'|translate }}{% endblock %}
+{% block pageDescription %}{{ 'General_OpenSourceWebAnalytics'|translate }}{% endblock %}
+
+{% set bodyId = 'loginPage' %}
+
+{% block body %}
+
{{ postEvent("Template.beforeTopBar", "login") }}
{{ postEvent("Template.beforeContent", "login") }}
@@ -86,7 +79,7 @@
<p class="message">{{ infoMessage|raw }}</p>
{% endif %}
</div>
- <form {{ form_data.attributes|raw }}>
+ <form {{ form_data.attributes|raw }} ng-non-bindable>
<h1>{{ 'Login_LogIn'|translate }}</h1>
<fieldset class="inputs">
<input type="text" name="form_login" id="login_form_login" class="input" value="" size="20"
@@ -106,7 +99,7 @@
tabindex="100"/>
</fieldset>
</form>
- <form id="reset_form" style="display:none;">
+ <form id="reset_form" style="display:none;" ng-non-bindable>
<fieldset class="inputs">
<input type="text" name="form_login" id="reset_form_login" class="input" value="" size="20"
tabindex="10"
@@ -151,5 +144,5 @@
</div>
{% endif %}
</section>
-</body>
-</html>
+
+{% endblock %}
diff --git a/plugins/Morpheus/templates/admin.twig b/plugins/Morpheus/templates/admin.twig
index e2ebcb166e..00c7b4b963 100644
--- a/plugins/Morpheus/templates/admin.twig
+++ b/plugins/Morpheus/templates/admin.twig
@@ -1,29 +1,10 @@
-<!DOCTYPE html>
-<html id="ng-app" ng-app="piwikApp">
- <head>
-{% block head %}
- <meta charset="utf-8">
- <meta http-equiv="x-ua-compatible" content="IE=EDGE,chrome=1" >
- <title>{% if not isCustomLogo %}Piwik &rsaquo; {% endif %}{{ 'CoreAdminHome_Administration'|translate }}</title>
- <meta name="generator" content="Piwik - free/libre analytics platform"/>
- <link rel="shortcut icon" href="{{ customFavicon|default('plugins/CoreHome/images/favicon.ico') }}"/>
+{% extends 'layout.twig' %}
-{% include "@CoreHome/_favicon.twig" %}
-{% include "_jsGlobalVariables.twig" %}
-{% include "_piwikTag.twig" %}
-{% include "_jsCssIncludes.twig" %}
+{% block pageTitle %}{% if not isCustomLogo %}Piwik &rsaquo;{% endif %} {{ 'CoreAdminHome_Administration'|translate }}{% endblock %}
- <!--[if IE]>
- <link rel="stylesheet" type="text/css" href="plugins/Morpheus/stylesheets/ieonly.css"/>
- <![endif]-->
- {% endblock %}
- </head>
- <!--[if lt IE 9 ]>
- <body ng-app="app" class="old-ie {{ postEvent('Template.bodyClass', 'admin') }}">
- <![endif]-->
- <!--[if (gte IE 9)|!(IE)]><!-->
- <body ng-app="app" class="{{ postEvent('Template.bodyClass', 'admin') }}"><!--<![endif]-->
+{% set bodyClass = postEvent('Template.bodyClass', 'admin') %}
+{% block body %}
{% if isSuperUser %}
{% set topMenuModule = 'CoreAdminHome' %}
{% set topMenuAction = 'generalSettings' %}
@@ -31,40 +12,37 @@
{% set topMenuModule = 'SitesManager' %}
{% set topMenuAction = 'index' %}
{% endif %}
+ {{ parent() }}
+{% endblock %}
- {% include "_iframeBuster.twig" %}
- {% include "@CoreHome/_javaScriptDisabled.twig" %}
+{% block root %}
+ {% include "@CoreHome/_topScreen.twig" %}
- <div id="root">
- {% include "@CoreHome/_topScreen.twig" %}
+ {% import 'ajaxMacros.twig' as ajax %}
+ {{ ajax.requestErrorDiv(emailSuperUser|default('')) }}
+ {{ postEvent("Template.beforeContent", "admin", currentModule) }}
- {% import 'ajaxMacros.twig' as ajax %}
- {{ ajax.requestErrorDiv(emailSuperUser|default('')) }}
- {{ postEvent("Template.beforeContent", "admin", currentModule) }}
+ <div id="container">
- <div id="container">
+ {% if showMenu is not defined or showMenu %}
+ {% include "@CoreAdminHome/_menu.twig" %}
+ {% endif %}
- {% if showMenu is not defined or showMenu %}
- {% include "@CoreAdminHome/_menu.twig" %}
- {% endif %}
+ <div id="content" class="admin">
- <div id="content" class="admin">
+ {% include "@CoreHome/_headerMessage.twig" %}
+ {% include "@CoreHome/_notifications.twig" %}
- {% include "@CoreHome/_headerMessage.twig" %}
- {% include "@CoreHome/_notifications.twig" %}
-
- <div class="ui-confirm" id="alert">
- <h2></h2>
- <input role="no" type="button" value="{{ 'General_Ok'|translate }}"/>
- </div>
+ <div class="ui-confirm" id="alert">
+ <h2></h2>
+ <input role="no" type="button" value="{{ 'General_Ok'|translate }}"/>
+ </div>
- {% include "@CoreHome/_warningInvalidHost.twig" %}
+ {% include "@CoreHome/_warningInvalidHost.twig" %}
- {% block content %}
- {% endblock %}
+ {% block content %}
+ {% endblock %}
- </div>
- </div>
</div>
- </body>
-</html>
+ </div>
+{% endblock %}
diff --git a/plugins/Morpheus/templates/dashboard.twig b/plugins/Morpheus/templates/dashboard.twig
index 8efae9d94c..7f63382d1e 100644
--- a/plugins/Morpheus/templates/dashboard.twig
+++ b/plugins/Morpheus/templates/dashboard.twig
@@ -1,50 +1,38 @@
-<!DOCTYPE html>
-<html id="ng-app" lang="{{ language }}" ng-app="piwikApp">
- <head>
- {% block head %}
- <meta charset="utf-8">
- <title>{{ siteName|raw }} - {% if isCustomLogo == false %}Piwik &rsaquo; {% endif %} {{ 'CoreHome_WebAnalyticsReports'|translate }}</title>
- <meta http-equiv="X-UA-Compatible" content="IE=EDGE,chrome=1"/>
- <meta name="viewport" content="initial-scale=1.0" />
- <meta name="generator" content="Piwik - free/libre analytics platform"/>
- <meta name="description" content="Web Analytics report for '{{ siteName|escape("html_attr") }}' - Piwik"/>
- <meta name="apple-itunes-app" content="app-id=737216887" />
-{% include "@CoreHome/_favicon.twig" %}
-{% include "_jsGlobalVariables.twig" %}
-{% include "_piwikTag.twig" %}
- <!--[if lt IE 9]>
- <script language="javascript" type="text/javascript" src="libs/jqplot/excanvas.min.js"></script>
- <![endif]-->
-{% include "_jsCssIncludes.twig" %}
- <!--[if IE]>
- <link rel="stylesheet" type="text/css" href="plugins/Morpheus/stylesheets/ieonly.css"/>
- <![endif]-->
- {% endblock %}
- </head>
- <!--[if lt IE 9 ]>
- <body ng-app="app" class="old-ie {{ postEvent('Template.bodyClass', 'dashboard') }}"> <![endif]-->
- <!--[if (gte IE 9)|!(IE)]><!-->
- <body ng-app="app" class="{{ postEvent('Template.bodyClass', 'dashboard') }}"><!--<![endif]-->
- {% include "_iframeBuster.twig" %}
- {% include "@CoreHome/_javaScriptDisabled.twig" %}
-
- <div id="root">
- {% include "@CoreHome/_warningInvalidHost.twig" %}
- {% include "@CoreHome/_topScreen.twig" %}
-
- {% block notification %}
- {% include "@CoreHome/_notifications.twig" %}
- {% endblock %}
-
- <div class="ui-confirm" id="alert">
- <h2></h2>
- <input role="yes" type="button" value="{{ 'General_Ok'|translate }}"/>
- </div>
+{% extends 'layout.twig' %}
- {{ postEvent("Template.beforeContent", "dashboard", currentModule) }}
- {% block content %}
- {% endblock %}
- </div>
+{% block head %}
+ {{ parent() }}
+
+ <!--[if lt IE 9]>
+ <script language="javascript" type="text/javascript" src="libs/jqplot/excanvas.min.js"></script>
+ <![endif]-->
+{% endblock %}
+
+{% block pageTitle %}{{ siteName|raw }} - {% if not isCustomLogo %}Piwik &rsaquo;{% endif %} {{ 'CoreHome_WebAnalyticsReports'|translate }}{% endblock %}
+{% block pageDescription %}Web Analytics report for {{ siteName|escape("html_attr") }} - Piwik{% endblock %}
+
+{% set bodyClass = postEvent('Template.bodyClass', 'dashboard') %}
+
+{% block body %}
+ {{ parent() }}
{{ postEvent("Template.footer") }}
- </body>
-</html>
+{% endblock %}
+
+{% block root %}
+ {% include "@CoreHome/_warningInvalidHost.twig" %}
+ {% include "@CoreHome/_topScreen.twig" %}
+
+ {% block notification %}
+ {% include "@CoreHome/_notifications.twig" %}
+ {% endblock %}
+
+ <div class="ui-confirm" id="alert">
+ <h2></h2>
+ <input role="yes" type="button" value="{{ 'General_Ok'|translate }}"/>
+ </div>
+
+ {{ postEvent("Template.beforeContent", "dashboard", currentModule) }}
+
+ {% block content %}
+ {% endblock %}
+{% endblock %}
diff --git a/plugins/Morpheus/templates/layout.twig b/plugins/Morpheus/templates/layout.twig
new file mode 100644
index 0000000000..004524a93f
--- /dev/null
+++ b/plugins/Morpheus/templates/layout.twig
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html id="ng-app" {% if language is defined %}lang="{{ language }}"{% endif %} ng-app="piwikApp">
+ <head>
+ {% block head %}
+ <meta charset="utf-8">
+ <title>{% block pageTitle %}Piwik{% endblock %}</title>
+ <meta http-equiv="X-UA-Compatible" content="IE=EDGE,chrome=1"/>
+ <meta name="viewport" content="initial-scale=1.0"/>
+ <meta name="generator" content="Piwik - free/libre analytics platform"/>
+ <meta name="description" content="{% block pageDescription %}{% endblock %}"/>
+ <meta name="apple-itunes-app" content="app-id=737216887" />
+ <meta name="google-play-app" content="app-id=org.piwik.mobile2">
+ <link rel="shortcut icon" href="{{ customFavicon|default('plugins/CoreHome/images/favicon.ico') }}"/>
+
+ {% include "@CoreHome/_favicon.twig" %}
+ {% include "_jsGlobalVariables.twig" %}
+ {% include "_piwikTag.twig" %}
+ {% include "_jsCssIncludes.twig" %}
+
+ <!--[if IE]>
+ <link rel="stylesheet" type="text/css" href="plugins/Morpheus/stylesheets/ieonly.css"/>
+ <![endif]-->
+ {% endblock %}
+ </head>
+ <!--[if lt IE 9 ]>
+ <body id="{{ bodyId|default('') }}" ng-app="app" class="old-ie {{ bodyClass|default('') }}">
+ <![endif]-->
+ <!--[if (gte IE 9)|!(IE)]><!-->
+ <body id="{{ bodyId|default('') }}" ng-app="app" class="{{ bodyClass|default('') }}">
+ <!--<![endif]-->
+
+ {% block body %}
+
+ {% include "_iframeBuster.twig" %}
+ {% include "@CoreHome/_javaScriptDisabled.twig" %}
+
+ <div id="root">
+ {% block root %}
+ {% endblock %}
+ </div>
+
+ {% endblock %}
+
+ </body>
+</html>
diff --git a/plugins/Morpheus/templates/user.twig b/plugins/Morpheus/templates/user.twig
index 35524397aa..8a1bb23976 100644
--- a/plugins/Morpheus/templates/user.twig
+++ b/plugins/Morpheus/templates/user.twig
@@ -1,62 +1,40 @@
-<!DOCTYPE html>
-<html id="ng-app" ng-app="piwikApp">
- <head>
-{% block head %}
- <meta charset="utf-8">
- <meta http-equiv="x-ua-compatible" content="IE=EDGE,chrome=1" >
- <title>{% if not isCustomLogo %}Piwik &rsaquo; {% endif %}{{ 'CoreAdminHome_Administration'|translate }}</title>
- <meta name="generator" content="Piwik - free/libre analytics platform"/>
- <link rel="shortcut icon" href="{{ customFavicon|default('plugins/CoreHome/images/favicon.ico') }}"/>
-
-{% include "@CoreHome/_favicon.twig" %}
-{% include "_jsGlobalVariables.twig" %}
-{% include "_piwikTag.twig" %}
-{% include "_jsCssIncludes.twig" %}
-
- <!--[if IE]>
- <link rel="stylesheet" type="text/css" href="plugins/Morpheus/stylesheets/ieonly.css"/>
- <![endif]-->
- {% endblock %}
- </head>
- <!--[if lt IE 9 ]>
- <body ng-app="app" class="old-ie {{ postEvent('Template.bodyClass', 'admin') }}">
- <![endif]-->
- <!--[if (gte IE 9)|!(IE)]><!-->
- <body ng-app="app" class="{{ postEvent('Template.bodyClass', 'admin') }}"><!--<![endif]-->
+{% extends 'layout.twig' %}
+{% block pageTitle %}{% if not isCustomLogo %}Piwik &rsaquo; {% endif %}{{ 'CoreAdminHome_Administration'|translate }}{% endblock %}
+
+{% set bodyClass = postEvent('Template.bodyClass', 'admin') %}
+
+{% block body %}
{% set topMenuModule = 'UsersManager' %}
{% set topMenuAction = 'userSettings' %}
+ {{ parent() }}
+{% endblock %}
- {% include "_iframeBuster.twig" %}
- {% include "@CoreHome/_javaScriptDisabled.twig" %}
-
- <div id="root">
- {% include "@CoreHome/_topScreen.twig" %}
+{% block root %}
+ {% include "@CoreHome/_topScreen.twig" %}
- {% import 'ajaxMacros.twig' as ajax %}
- {{ ajax.requestErrorDiv(emailSuperUser|default('')) }}
- {{ postEvent("Template.beforeContent", "user", currentModule) }}
+ {% import 'ajaxMacros.twig' as ajax %}
+ {{ ajax.requestErrorDiv(emailSuperUser|default('')) }}
+ {{ postEvent("Template.beforeContent", "user", currentModule) }}
- <div id="container">
+ <div id="container">
- {% if showMenu is not defined or showMenu %}
- {% include "@CoreHome/_userMenu.twig" %}
- {% endif %}
+ {% if showMenu is not defined or showMenu %}
+ {% include "@CoreHome/_userMenu.twig" %}
+ {% endif %}
- <div id="content" class="admin user">
+ <div id="content" class="admin user">
- {% include "@CoreHome/_notifications.twig" %}
+ {% include "@CoreHome/_notifications.twig" %}
- <div class="ui-confirm" id="alert">
- <h2></h2>
- <input role="no" type="button" value="{{ 'General_Ok'|translate }}"/>
- </div>
+ <div class="ui-confirm" id="alert">
+ <h2></h2>
+ <input role="no" type="button" value="{{ 'General_Ok'|translate }}"/>
+ </div>
- {% block content %}
- {% endblock %}
+ {% block content %}
+ {% endblock %}
- </div>
- </div>
</div>
- </body>
-</html>
+ </div>
+{% endblock %}
diff --git a/plugins/QueuedTracking b/plugins/QueuedTracking
-Subproject 3ba20405606d1f66b6607b01a0f0b1c52334d56
+Subproject 86a41d864432ad4734a8fa813dd1f78223cb7f1
diff --git a/plugins/TestRunner/templates/travis.yml.twig b/plugins/TestRunner/templates/travis.yml.twig
index 3c2b0f662d..5f8e97936d 100644
--- a/plugins/TestRunner/templates/travis.yml.twig
+++ b/plugins/TestRunner/templates/travis.yml.twig
@@ -94,14 +94,14 @@ install:
- git fetch -q
{% endif %}
{% if generationMode == 'plugin' %}
- # move plugin contents to folder in the plugins subdirectory
- - rm -rf plugins/$PLUGIN_NAME
- - mv ../$PLUGIN_NAME plugins
-
- ./tests/travis/checkout_test_against_branch.sh
- git submodule init -q
- git submodule update -q || true
+ # move plugin contents to folder in the plugins subdirectory
+ - rm -rf plugins/$PLUGIN_NAME
+ - mv ../$PLUGIN_NAME plugins
+
# copy .coveralls.yml if none exists
- if [ ! -f ../coveralls.yml ];
then cp .coveralls.yml ../coveralls.yml || true;
diff --git a/plugins/VisitorGenerator b/plugins/VisitorGenerator
-Subproject a292a7fe8b815ffe43ea9fd47940938c6bc2fa6
+Subproject 9834e8fffbd1293818a813f003c5f3a08181cdf
diff --git a/plugins/VisitsSummary/templates/_sparklines.twig b/plugins/VisitsSummary/templates/_sparklines.twig
index 92bc44b6a0..a61a31d230 100644
--- a/plugins/VisitsSummary/templates/_sparklines.twig
+++ b/plugins/VisitsSummary/templates/_sparklines.twig
@@ -69,6 +69,8 @@
{{ sparkline(urlSparklineMaxActions)|raw }}
{{ 'VisitsSummary_MaxNbActions'|translate("<strong>"~maxActions~"</strong>")|raw }}
</div>
+
+ {{ postEvent('Template.VisitsSummaryOverviewSparklines') }}
</div>
<div style="clear:both;"></div>
diff --git a/tests/LocalTracker.php b/tests/LocalTracker.php
index 98ef3e6501..6e251e6d21 100755
--- a/tests/LocalTracker.php
+++ b/tests/LocalTracker.php
@@ -21,6 +21,10 @@ class Piwik_LocalTracker extends PiwikTracker
{
protected function sendRequest($url, $method = 'GET', $data = null, $force = false)
{
+ if ($this->DEBUG_APPEND_URL) {
+ $url .= $this->DEBUG_APPEND_URL;
+ }
+
// if doing a bulk request, store the url
if ($this->doBulkRequests && !$force) {
$this->storedTrackingActions[] = $url;
diff --git a/tests/PHPUnit/Integration/Tracker/VisitTest.php b/tests/PHPUnit/Integration/Tracker/VisitTest.php
index d8ee6f45fe..bbbb972cc3 100644
--- a/tests/PHPUnit/Integration/Tracker/VisitTest.php
+++ b/tests/PHPUnit/Integration/Tracker/VisitTest.php
@@ -284,6 +284,24 @@ class VisitTest extends IntegrationTestCase
$this->assertFalse($result);
}
+ public function test_isVisitNew_ReturnsTrue_IfLastActionTimestampWasYesterday()
+ {
+ $this->setDimensionsWithOnNewVisit(array(false, false, false));
+
+ // test same day
+ /** @var Visit $visit */
+ list($visit, $visitor, $action) = $this->makeVisitorAndAction(
+ $lastActionTime = '2012-01-01 23:59:58', $thisActionTime = '2012-01-01 23:59:59', $isVisitorKnown = true);
+ $result = $visit->isVisitNew($visitor, $action);
+ $this->assertFalse($result);
+
+ // test different day
+ list($visit, $visitor, $action) = $this->makeVisitorAndAction(
+ $lastActionTime = '2012-01-01 23:59:58', $thisActionTime = '2012-01-02 00:00:01', $isVisitorKnown = true);
+ $result = $visit->isVisitNew($visitor, $action);
+ $this->assertTrue($result);
+ }
+
public function test_markArchivedReportsAsInvalidIfArchiveAlreadyFinished_ShouldRemember_IfRequestWasDoneLongAgo()
{
$currentActionTime = '2012-01-02 08:12:45';
diff --git a/tests/PHPUnit/System/TwoVisitorsTwoWebsitesDifferentDaysConversionsTest.php b/tests/PHPUnit/System/TwoVisitorsTwoWebsitesDifferentDaysConversionsTest.php
index 712608c62e..c330710f61 100755
--- a/tests/PHPUnit/System/TwoVisitorsTwoWebsitesDifferentDaysConversionsTest.php
+++ b/tests/PHPUnit/System/TwoVisitorsTwoWebsitesDifferentDaysConversionsTest.php
@@ -134,7 +134,7 @@ class TwoVisitorsTwoWebsitesDifferentDaysConversionsTest extends SystemTestCase
$result = $archive->getNumeric($columns);
$this->assertEquals(
array(
- 'nb_visits' => 4,
+ 'nb_visits' => 5,
'Goal_nb_conversions' => 6
),
$result
@@ -155,7 +155,7 @@ class TwoVisitorsTwoWebsitesDifferentDaysConversionsTest extends SystemTestCase
$result = $archive->getNumeric($columns);
$this->assertEquals(
array(
- 'nb_visits' => 4,
+ 'nb_visits' => 5,
'Goal_nb_conversions' => 6,
'nb_actions' => 13
),
@@ -179,7 +179,7 @@ class TwoVisitorsTwoWebsitesDifferentDaysConversionsTest extends SystemTestCase
$result = $archive->getNumeric($columns);
$this->assertEquals(
array(
- 'nb_visits' => 4,
+ 'nb_visits' => 5,
'Goal_nb_conversions' => 6,
'nb_actions' => 13 // actions should remain the same as nothing was reports are still marked as already processed
),
@@ -201,8 +201,8 @@ class TwoVisitorsTwoWebsitesDifferentDaysConversionsTest extends SystemTestCase
$this->assertEquals(
array(
- 'nb_visits' => 4,
- 'Goal_nb_conversions' => 6,
+ 'nb_visits' => 6,
+ 'Goal_nb_conversions' => 7,
'nb_actions' => 26 // now actions should be increased as the reports were invalidated
),
$result
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Actions.getPageTitles_firstSite_lastN__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Actions.getPageTitles_firstSite_lastN__API.getProcessedReport_day.xml
index 6d2cd7c44f..f1ab94a928 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Actions.getPageTitles_firstSite_lastN__API.getProcessedReport_day.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Actions.getPageTitles_firstSite_lastN__API.getProcessedReport_day.xml
@@ -49,7 +49,7 @@
<nb_hits>2</nb_hits>
<bounce_rate>100%</bounce_rate>
<avg_time_on_page>00:00:00</avg_time_on_page>
- <exit_rate>50%</exit_rate>
+ <exit_rate>100%</exit_rate>
<avg_time_generation>0.14s</avg_time_generation>
</row>
</result>
@@ -213,10 +213,10 @@
<nb_visits>18</nb_visits>
<nb_uniq_visitors>3</nb_uniq_visitors>
<nb_hits>18</nb_hits>
- <entry_bounce_count>1</entry_bounce_count>
- <entry_nb_visits>6</entry_nb_visits>
- <entry_nb_actions>26</entry_nb_actions>
- <exit_nb_visits>1</exit_nb_visits>
- <exit_nb_uniq_visitors>1</exit_nb_uniq_visitors>
+ <entry_bounce_count>2</entry_bounce_count>
+ <entry_nb_visits>7</entry_nb_visits>
+ <entry_nb_actions>27</entry_nb_actions>
+ <exit_nb_visits>2</exit_nb_visits>
+ <exit_nb_uniq_visitors>2</exit_nb_uniq_visitors>
</reportTotal>
</result> \ No newline at end of file
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Actions.getPageUrls_firstSite_lastN__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Actions.getPageUrls_firstSite_lastN__API.getProcessedReport_day.xml
index 1ce5abef77..e8a1b4f34b 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Actions.getPageUrls_firstSite_lastN__API.getProcessedReport_day.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Actions.getPageUrls_firstSite_lastN__API.getProcessedReport_day.xml
@@ -47,9 +47,9 @@
<label>/index.htm</label>
<nb_visits>1</nb_visits>
<nb_hits>1</nb_hits>
- <bounce_rate>0%</bounce_rate>
+ <bounce_rate>100%</bounce_rate>
<avg_time_on_page>00:00:00</avg_time_on_page>
- <exit_rate>0%</exit_rate>
+ <exit_rate>100%</exit_rate>
<avg_time_generation>0.12s</avg_time_generation>
</row>
<row>
@@ -293,8 +293,10 @@
<nb_visits>18</nb_visits>
<nb_uniq_visitors>18</nb_uniq_visitors>
<nb_hits>28</nb_hits>
- <entry_bounce_count>0</entry_bounce_count>
- <entry_nb_visits>5</entry_nb_visits>
- <entry_nb_actions>25</entry_nb_actions>
+ <entry_bounce_count>2</entry_bounce_count>
+ <entry_nb_visits>7</entry_nb_visits>
+ <entry_nb_actions>27</entry_nb_actions>
+ <exit_nb_visits>2</exit_nb_visits>
+ <exit_nb_uniq_visitors>2</exit_nb_uniq_visitors>
</reportTotal>
</result> \ No newline at end of file
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_day.xml
index 89cd627339..79c0ec2744 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_day.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_day.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="utf-8" ?>
<results>
<result idSite="1">
- <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
<nb_users>0</nb_users>
- <nb_visits>1</nb_visits>
- <nb_actions>1</nb_actions>
- <nb_visits_converted>1</nb_visits_converted>
- <bounce_count>1</bounce_count>
+ <nb_visits>2</nb_visits>
+ <nb_actions>2</nb_actions>
+ <nb_visits_converted>2</nb_visits_converted>
+ <bounce_count>2</bounce_count>
<sum_visit_length>0</sum_visit_length>
<max_actions>1</max_actions>
<bounce_rate>100%</bounce_rate>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_month.xml
index 50c77f2755..e0096e9667 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_month.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_month.xml
@@ -3,15 +3,15 @@
<result idSite="1">
<nb_uniq_visitors>2</nb_uniq_visitors>
<nb_users>0</nb_users>
- <nb_visits>10</nb_visits>
+ <nb_visits>11</nb_visits>
<nb_actions>43</nb_actions>
<nb_visits_converted>10</nb_visits_converted>
- <bounce_count>1</bounce_count>
- <sum_visit_length>7577</sum_visit_length>
+ <bounce_count>3</bounce_count>
+ <sum_visit_length>7216</sum_visit_length>
<max_actions>5</max_actions>
- <bounce_rate>10%</bounce_rate>
- <nb_actions_per_visit>4.3</nb_actions_per_visit>
- <avg_time_on_site>758</avg_time_on_site>
+ <bounce_rate>27%</bounce_rate>
+ <nb_actions_per_visit>3.9</nb_actions_per_visit>
+ <avg_time_on_site>656</avg_time_on_site>
</result>
<result idSite="2">
<nb_uniq_visitors>1</nb_uniq_visitors>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_week.xml
index 89cd627339..79c0ec2744 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_week.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_week.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="utf-8" ?>
<results>
<result idSite="1">
- <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
<nb_users>0</nb_users>
- <nb_visits>1</nb_visits>
- <nb_actions>1</nb_actions>
- <nb_visits_converted>1</nb_visits_converted>
- <bounce_count>1</bounce_count>
+ <nb_visits>2</nb_visits>
+ <nb_actions>2</nb_actions>
+ <nb_visits_converted>2</nb_visits_converted>
+ <bounce_count>2</bounce_count>
<sum_visit_length>0</sum_visit_length>
<max_actions>1</max_actions>
<bounce_rate>100%</bounce_rate>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_year.xml
index f520263652..763766e468 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_year.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledAfter__VisitsSummary.get_year.xml
@@ -1,15 +1,15 @@
<?xml version="1.0" encoding="utf-8" ?>
<results>
<result idSite="1">
- <nb_visits>10</nb_visits>
+ <nb_visits>11</nb_visits>
<nb_actions>43</nb_actions>
<nb_visits_converted>10</nb_visits_converted>
- <bounce_count>1</bounce_count>
- <sum_visit_length>7577</sum_visit_length>
+ <bounce_count>3</bounce_count>
+ <sum_visit_length>7216</sum_visit_length>
<max_actions>5</max_actions>
- <bounce_rate>10%</bounce_rate>
- <nb_actions_per_visit>4.3</nb_actions_per_visit>
- <avg_time_on_site>758</avg_time_on_site>
+ <bounce_rate>27%</bounce_rate>
+ <nb_actions_per_visit>3.9</nb_actions_per_visit>
+ <avg_time_on_site>656</avg_time_on_site>
</result>
<result idSite="2">
<nb_visits>1</nb_visits>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledBefore_isDateRange__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledBefore_isDateRange__VisitsSummary.get_range.xml
index f520263652..763766e468 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledBefore_isDateRange__VisitsSummary.get_range.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_disabledBefore_isDateRange__VisitsSummary.get_range.xml
@@ -1,15 +1,15 @@
<?xml version="1.0" encoding="utf-8" ?>
<results>
<result idSite="1">
- <nb_visits>10</nb_visits>
+ <nb_visits>11</nb_visits>
<nb_actions>43</nb_actions>
<nb_visits_converted>10</nb_visits_converted>
- <bounce_count>1</bounce_count>
- <sum_visit_length>7577</sum_visit_length>
+ <bounce_count>3</bounce_count>
+ <sum_visit_length>7216</sum_visit_length>
<max_actions>5</max_actions>
- <bounce_rate>10%</bounce_rate>
- <nb_actions_per_visit>4.3</nb_actions_per_visit>
- <avg_time_on_site>758</avg_time_on_site>
+ <bounce_rate>27%</bounce_rate>
+ <nb_actions_per_visit>3.9</nb_actions_per_visit>
+ <avg_time_on_site>656</avg_time_on_site>
</result>
<result idSite="2">
<nb_visits>1</nb_visits>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabledBefore_isDateRange__VisitsSummary.get_range.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabledBefore_isDateRange__VisitsSummary.get_range.xml
index f520263652..763766e468 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabledBefore_isDateRange__VisitsSummary.get_range.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabledBefore_isDateRange__VisitsSummary.get_range.xml
@@ -1,15 +1,15 @@
<?xml version="1.0" encoding="utf-8" ?>
<results>
<result idSite="1">
- <nb_visits>10</nb_visits>
+ <nb_visits>11</nb_visits>
<nb_actions>43</nb_actions>
<nb_visits_converted>10</nb_visits_converted>
- <bounce_count>1</bounce_count>
- <sum_visit_length>7577</sum_visit_length>
+ <bounce_count>3</bounce_count>
+ <sum_visit_length>7216</sum_visit_length>
<max_actions>5</max_actions>
- <bounce_rate>10%</bounce_rate>
- <nb_actions_per_visit>4.3</nb_actions_per_visit>
- <avg_time_on_site>758</avg_time_on_site>
+ <bounce_rate>27%</bounce_rate>
+ <nb_actions_per_visit>3.9</nb_actions_per_visit>
+ <avg_time_on_site>656</avg_time_on_site>
</result>
<result idSite="2">
<nb_visits>1</nb_visits>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_day.xml
index 89cd627339..79c0ec2744 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_day.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_day.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="utf-8" ?>
<results>
<result idSite="1">
- <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
<nb_users>0</nb_users>
- <nb_visits>1</nb_visits>
- <nb_actions>1</nb_actions>
- <nb_visits_converted>1</nb_visits_converted>
- <bounce_count>1</bounce_count>
+ <nb_visits>2</nb_visits>
+ <nb_actions>2</nb_actions>
+ <nb_visits_converted>2</nb_visits_converted>
+ <bounce_count>2</bounce_count>
<sum_visit_length>0</sum_visit_length>
<max_actions>1</max_actions>
<bounce_rate>100%</bounce_rate>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_month.xml
index 50c77f2755..e0096e9667 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_month.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_month.xml
@@ -3,15 +3,15 @@
<result idSite="1">
<nb_uniq_visitors>2</nb_uniq_visitors>
<nb_users>0</nb_users>
- <nb_visits>10</nb_visits>
+ <nb_visits>11</nb_visits>
<nb_actions>43</nb_actions>
<nb_visits_converted>10</nb_visits_converted>
- <bounce_count>1</bounce_count>
- <sum_visit_length>7577</sum_visit_length>
+ <bounce_count>3</bounce_count>
+ <sum_visit_length>7216</sum_visit_length>
<max_actions>5</max_actions>
- <bounce_rate>10%</bounce_rate>
- <nb_actions_per_visit>4.3</nb_actions_per_visit>
- <avg_time_on_site>758</avg_time_on_site>
+ <bounce_rate>27%</bounce_rate>
+ <nb_actions_per_visit>3.9</nb_actions_per_visit>
+ <avg_time_on_site>656</avg_time_on_site>
</result>
<result idSite="2">
<nb_uniq_visitors>1</nb_uniq_visitors>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_week.xml
index 89cd627339..79c0ec2744 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_week.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_week.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="utf-8" ?>
<results>
<result idSite="1">
- <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
<nb_users>0</nb_users>
- <nb_visits>1</nb_visits>
- <nb_actions>1</nb_actions>
- <nb_visits_converted>1</nb_visits_converted>
- <bounce_count>1</bounce_count>
+ <nb_visits>2</nb_visits>
+ <nb_actions>2</nb_actions>
+ <nb_visits_converted>2</nb_visits_converted>
+ <bounce_count>2</bounce_count>
<sum_visit_length>0</sum_visit_length>
<max_actions>1</max_actions>
<bounce_rate>100%</bounce_rate>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_year.xml
index f520263652..763766e468 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_year.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_ArchivingDisabled_enabled__VisitsSummary.get_year.xml
@@ -1,15 +1,15 @@
<?xml version="1.0" encoding="utf-8" ?>
<results>
<result idSite="1">
- <nb_visits>10</nb_visits>
+ <nb_visits>11</nb_visits>
<nb_actions>43</nb_actions>
<nb_visits_converted>10</nb_visits_converted>
- <bounce_count>1</bounce_count>
- <sum_visit_length>7577</sum_visit_length>
+ <bounce_count>3</bounce_count>
+ <sum_visit_length>7216</sum_visit_length>
<max_actions>5</max_actions>
- <bounce_rate>10%</bounce_rate>
- <nb_actions_per_visit>4.3</nb_actions_per_visit>
- <avg_time_on_site>758</avg_time_on_site>
+ <bounce_rate>27%</bounce_rate>
+ <nb_actions_per_visit>3.9</nb_actions_per_visit>
+ <avg_time_on_site>656</avg_time_on_site>
</result>
<result idSite="2">
<nb_visits>1</nb_visits>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_MultiSites.getAll_firstSite_lastN__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_MultiSites.getAll_firstSite_lastN__API.getProcessedReport_day.xml
index aabc0dcb25..885d4243f4 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_MultiSites.getAll_firstSite_lastN__API.getProcessedReport_day.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_MultiSites.getAll_firstSite_lastN__API.getProcessedReport_day.xml
@@ -56,8 +56,8 @@
<result prettyDate="Sunday 3 January 2010">
<row>
<label>Site 1</label>
- <nb_visits>1</nb_visits>
- <nb_actions>1</nb_actions>
+ <nb_visits>2</nb_visits>
+ <nb_actions>2</nb_actions>
<nb_pageviews>2</nb_pageviews>
<revenue>$ 10</revenue>
<visits_evolution>100%</visits_evolution>
@@ -76,11 +76,11 @@
<row>
<label>Site 1</label>
<nb_visits>1</nb_visits>
- <nb_actions>2</nb_actions>
+ <nb_actions>1</nb_actions>
<nb_pageviews>1</nb_pageviews>
<revenue>$ 0</revenue>
- <visits_evolution>0%</visits_evolution>
- <actions_evolution>100%</actions_evolution>
+ <visits_evolution>-50%</visits_evolution>
+ <actions_evolution>-50%</actions_evolution>
<pageviews_evolution>-50%</pageviews_evolution>
<revenue_evolution>-100%</revenue_evolution>
<nb_conversions>0</nb_conversions>
@@ -116,7 +116,7 @@
<nb_pageviews>5</nb_pageviews>
<revenue>$ 5</revenue>
<visits_evolution>0%</visits_evolution>
- <actions_evolution>150%</actions_evolution>
+ <actions_evolution>400%</actions_evolution>
<pageviews_evolution>400%</pageviews_evolution>
<revenue_evolution>100%</revenue_evolution>
<nb_conversions>0</nb_conversions>
@@ -261,7 +261,7 @@
</result>
</reportMetadata>
<reportTotal>
- <nb_visits>8</nb_visits>
+ <nb_visits>9</nb_visits>
<nb_actions>31</nb_actions>
<revenue>35</revenue>
</reportTotal>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__Goals.get_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__Goals.get_day.xml
index 13d4b19d4b..129e48b7e9 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__Goals.get_day.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__Goals.get_day.xml
@@ -2,7 +2,7 @@
<results>
<result idSite="1">
<nb_conversions>2</nb_conversions>
- <nb_visits_converted>1</nb_visits_converted>
+ <nb_visits_converted>2</nb_visits_converted>
<revenue>10</revenue>
<conversion_rate>100%</conversion_rate>
</result>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__Goals.get_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__Goals.get_month.xml
index 11701117f1..7268853bb5 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__Goals.get_month.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__Goals.get_month.xml
@@ -4,7 +4,7 @@
<nb_conversions>14</nb_conversions>
<nb_visits_converted>10</nb_visits_converted>
<revenue>50</revenue>
- <conversion_rate>100%</conversion_rate>
+ <conversion_rate>90.91%</conversion_rate>
</result>
<result idSite="2">
<nb_conversions>1</nb_conversions>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__VisitsSummary.get_day.xml
index 89cd627339..79c0ec2744 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__VisitsSummary.get_day.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__VisitsSummary.get_day.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="utf-8" ?>
<results>
<result idSite="1">
- <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
<nb_users>0</nb_users>
- <nb_visits>1</nb_visits>
- <nb_actions>1</nb_actions>
- <nb_visits_converted>1</nb_visits_converted>
- <bounce_count>1</bounce_count>
+ <nb_visits>2</nb_visits>
+ <nb_actions>2</nb_actions>
+ <nb_visits_converted>2</nb_visits_converted>
+ <bounce_count>2</bounce_count>
<sum_visit_length>0</sum_visit_length>
<max_actions>1</max_actions>
<bounce_rate>100%</bounce_rate>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__VisitsSummary.get_month.xml
index 50c77f2755..e0096e9667 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__VisitsSummary.get_month.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_NotLastNPeriods__VisitsSummary.get_month.xml
@@ -3,15 +3,15 @@
<result idSite="1">
<nb_uniq_visitors>2</nb_uniq_visitors>
<nb_users>0</nb_users>
- <nb_visits>10</nb_visits>
+ <nb_visits>11</nb_visits>
<nb_actions>43</nb_actions>
<nb_visits_converted>10</nb_visits_converted>
- <bounce_count>1</bounce_count>
- <sum_visit_length>7577</sum_visit_length>
+ <bounce_count>3</bounce_count>
+ <sum_visit_length>7216</sum_visit_length>
<max_actions>5</max_actions>
- <bounce_rate>10%</bounce_rate>
- <nb_actions_per_visit>4.3</nb_actions_per_visit>
- <avg_time_on_site>758</avg_time_on_site>
+ <bounce_rate>27%</bounce_rate>
+ <nb_actions_per_visit>3.9</nb_actions_per_visit>
+ <avg_time_on_site>656</avg_time_on_site>
</result>
<result idSite="2">
<nb_uniq_visitors>1</nb_uniq_visitors>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions__Live.getLastVisitsDetails_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions__Live.getLastVisitsDetails_year.xml
index 6f92f55c71..90d97250a4 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions__Live.getLastVisitsDetails_year.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions__Live.getLastVisitsDetails_year.xml
@@ -66,18 +66,18 @@
</row>
<row>
<lastActionDateTime>2010-01-04 00:01:00</lastActionDateTime>
- <visitConverted>1</visitConverted>
- <actions>2</actions>
+ <visitConverted>0</visitConverted>
+ <actions>1</actions>
<referrerType>website</referrerType>
<referrerName>referrer.com</referrerName>
<events>0</events>
</row>
<row>
- <lastActionDateTime>2010-01-03 12:22:33</lastActionDateTime>
+ <lastActionDateTime>2010-01-03 23:55:00</lastActionDateTime>
<visitConverted>1</visitConverted>
<actions>1</actions>
- <referrerType>direct</referrerType>
- <referrerName />
+ <referrerType>website</referrerType>
+ <referrerName>referrer.com</referrerName>
<events>0</events>
</row>
</result> \ No newline at end of file
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions__MultiSites.getAll_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions__MultiSites.getAll_day.xml
index cb0f03a1ca..365dd2ff8d 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions__MultiSites.getAll_day.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions__MultiSites.getAll_day.xml
@@ -3,8 +3,8 @@
<result date="2010-01-03">
<row>
<label>Site 1</label>
- <nb_visits>1</nb_visits>
- <nb_actions>1</nb_actions>
+ <nb_visits>2</nb_visits>
+ <nb_actions>2</nb_actions>
<nb_pageviews>2</nb_pageviews>
<revenue>10</revenue>
<visits_evolution>100%</visits_evolution>
@@ -20,11 +20,11 @@
<row>
<label>Site 1</label>
<nb_visits>1</nb_visits>
- <nb_actions>2</nb_actions>
+ <nb_actions>1</nb_actions>
<nb_pageviews>1</nb_pageviews>
<revenue>0</revenue>
- <visits_evolution>0%</visits_evolution>
- <actions_evolution>100%</actions_evolution>
+ <visits_evolution>-50%</visits_evolution>
+ <actions_evolution>-50%</actions_evolution>
<pageviews_evolution>-50%</pageviews_evolution>
<revenue_evolution>-100%</revenue_evolution>
<group />
@@ -54,7 +54,7 @@
<nb_pageviews>5</nb_pageviews>
<revenue>5</revenue>
<visits_evolution>0%</visits_evolution>
- <actions_evolution>150%</actions_evolution>
+ <actions_evolution>400%</actions_evolution>
<pageviews_evolution>400%</pageviews_evolution>
<revenue_evolution>100%</revenue_evolution>
<group />
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions__MultiSites.getAll_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions__MultiSites.getAll_month.xml
index 7abc0f83ec..cf37606414 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions__MultiSites.getAll_month.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions__MultiSites.getAll_month.xml
@@ -3,7 +3,7 @@
<result date="2010-01">
<row>
<label>Site 1</label>
- <nb_visits>10</nb_visits>
+ <nb_visits>11</nb_visits>
<nb_actions>43</nb_actions>
<nb_pageviews>43</nb_pageviews>
<revenue>50</revenue>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions__MultiSites.getAll_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions__MultiSites.getAll_week.xml
index 8283409adb..59f331588b 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions__MultiSites.getAll_week.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions__MultiSites.getAll_week.xml
@@ -3,8 +3,8 @@
<result date="From 2009-12-28 to 2010-01-03">
<row>
<label>Site 1</label>
- <nb_visits>1</nb_visits>
- <nb_actions>1</nb_actions>
+ <nb_visits>2</nb_visits>
+ <nb_actions>2</nb_actions>
<nb_pageviews>2</nb_pageviews>
<revenue>10</revenue>
<visits_evolution>100%</visits_evolution>
@@ -20,11 +20,11 @@
<row>
<label>Site 1</label>
<nb_visits>7</nb_visits>
- <nb_actions>32</nb_actions>
+ <nb_actions>31</nb_actions>
<nb_pageviews>31</nb_pageviews>
<revenue>30</revenue>
- <visits_evolution>600%</visits_evolution>
- <actions_evolution>3100%</actions_evolution>
+ <visits_evolution>250%</visits_evolution>
+ <actions_evolution>1450%</actions_evolution>
<pageviews_evolution>1450%</pageviews_evolution>
<revenue_evolution>200%</revenue_evolution>
<group />
@@ -54,7 +54,7 @@
<nb_pageviews>10</nb_pageviews>
<revenue>10</revenue>
<visits_evolution>-71.4%</visits_evolution>
- <actions_evolution>-68.8%</actions_evolution>
+ <actions_evolution>-67.7%</actions_evolution>
<pageviews_evolution>-67.7%</pageviews_evolution>
<revenue_evolution>-66.7%</revenue_evolution>
<group />
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions__MultiSites.getAll_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions__MultiSites.getAll_year.xml
index 9feb3bf709..b58279dbc5 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions__MultiSites.getAll_year.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions__MultiSites.getAll_year.xml
@@ -3,7 +3,7 @@
<result date="2010">
<row>
<label>Site 1</label>
- <nb_visits>10</nb_visits>
+ <nb_visits>11</nb_visits>
<nb_actions>43</nb_actions>
<nb_pageviews>43</nb_pageviews>
<revenue>50</revenue>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_idSiteOne___MultiSites.getAll_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_idSiteOne___MultiSites.getAll_day.xml
index cb0f03a1ca..365dd2ff8d 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_idSiteOne___MultiSites.getAll_day.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_idSiteOne___MultiSites.getAll_day.xml
@@ -3,8 +3,8 @@
<result date="2010-01-03">
<row>
<label>Site 1</label>
- <nb_visits>1</nb_visits>
- <nb_actions>1</nb_actions>
+ <nb_visits>2</nb_visits>
+ <nb_actions>2</nb_actions>
<nb_pageviews>2</nb_pageviews>
<revenue>10</revenue>
<visits_evolution>100%</visits_evolution>
@@ -20,11 +20,11 @@
<row>
<label>Site 1</label>
<nb_visits>1</nb_visits>
- <nb_actions>2</nb_actions>
+ <nb_actions>1</nb_actions>
<nb_pageviews>1</nb_pageviews>
<revenue>0</revenue>
- <visits_evolution>0%</visits_evolution>
- <actions_evolution>100%</actions_evolution>
+ <visits_evolution>-50%</visits_evolution>
+ <actions_evolution>-50%</actions_evolution>
<pageviews_evolution>-50%</pageviews_evolution>
<revenue_evolution>-100%</revenue_evolution>
<group />
@@ -54,7 +54,7 @@
<nb_pageviews>5</nb_pageviews>
<revenue>5</revenue>
<visits_evolution>0%</visits_evolution>
- <actions_evolution>150%</actions_evolution>
+ <actions_evolution>400%</actions_evolution>
<pageviews_evolution>400%</pageviews_evolution>
<revenue_evolution>100%</revenue_evolution>
<group />
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_idSiteOne___MultiSites.getAll_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_idSiteOne___MultiSites.getAll_month.xml
index 7abc0f83ec..cf37606414 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_idSiteOne___MultiSites.getAll_month.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_idSiteOne___MultiSites.getAll_month.xml
@@ -3,7 +3,7 @@
<result date="2010-01">
<row>
<label>Site 1</label>
- <nb_visits>10</nb_visits>
+ <nb_visits>11</nb_visits>
<nb_actions>43</nb_actions>
<nb_pageviews>43</nb_pageviews>
<revenue>50</revenue>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_idSiteOne___MultiSites.getAll_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_idSiteOne___MultiSites.getAll_week.xml
index 8283409adb..59f331588b 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_idSiteOne___MultiSites.getAll_week.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_idSiteOne___MultiSites.getAll_week.xml
@@ -3,8 +3,8 @@
<result date="From 2009-12-28 to 2010-01-03">
<row>
<label>Site 1</label>
- <nb_visits>1</nb_visits>
- <nb_actions>1</nb_actions>
+ <nb_visits>2</nb_visits>
+ <nb_actions>2</nb_actions>
<nb_pageviews>2</nb_pageviews>
<revenue>10</revenue>
<visits_evolution>100%</visits_evolution>
@@ -20,11 +20,11 @@
<row>
<label>Site 1</label>
<nb_visits>7</nb_visits>
- <nb_actions>32</nb_actions>
+ <nb_actions>31</nb_actions>
<nb_pageviews>31</nb_pageviews>
<revenue>30</revenue>
- <visits_evolution>600%</visits_evolution>
- <actions_evolution>3100%</actions_evolution>
+ <visits_evolution>250%</visits_evolution>
+ <actions_evolution>1450%</actions_evolution>
<pageviews_evolution>1450%</pageviews_evolution>
<revenue_evolution>200%</revenue_evolution>
<group />
@@ -54,7 +54,7 @@
<nb_pageviews>10</nb_pageviews>
<revenue>10</revenue>
<visits_evolution>-71.4%</visits_evolution>
- <actions_evolution>-68.8%</actions_evolution>
+ <actions_evolution>-67.7%</actions_evolution>
<pageviews_evolution>-67.7%</pageviews_evolution>
<revenue_evolution>-66.7%</revenue_evolution>
<group />
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_idSiteOne___MultiSites.getAll_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_idSiteOne___MultiSites.getAll_year.xml
index 9feb3bf709..b58279dbc5 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_idSiteOne___MultiSites.getAll_year.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Conversions_idSiteOne___MultiSites.getAll_year.xml
@@ -3,7 +3,7 @@
<result date="2010">
<row>
<label>Site 1</label>
- <nb_visits>10</nb_visits>
+ <nb_visits>11</nb_visits>
<nb_actions>43</nb_actions>
<nb_pageviews>43</nb_pageviews>
<revenue>50</revenue>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_NotLastNPeriods__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_NotLastNPeriods__VisitsSummary.get_day.xml
index 296741c7a0..b29e30280b 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_NotLastNPeriods__VisitsSummary.get_day.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_NotLastNPeriods__VisitsSummary.get_day.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="utf-8" ?>
<results>
<result idSite="1">
- <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
<nb_users>0</nb_users>
- <nb_visits>1</nb_visits>
- <nb_actions>1</nb_actions>
+ <nb_visits>2</nb_visits>
+ <nb_actions>2</nb_actions>
<nb_visits_converted>0</nb_visits_converted>
- <bounce_count>1</bounce_count>
+ <bounce_count>2</bounce_count>
<sum_visit_length>0</sum_visit_length>
<max_actions>1</max_actions>
<bounce_rate>100%</bounce_rate>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_NotLastNPeriods__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_NotLastNPeriods__VisitsSummary.get_month.xml
index 9aa711753b..6b172ffff7 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_NotLastNPeriods__VisitsSummary.get_month.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_NotLastNPeriods__VisitsSummary.get_month.xml
@@ -3,15 +3,15 @@
<result idSite="1">
<nb_uniq_visitors>2</nb_uniq_visitors>
<nb_users>0</nb_users>
- <nb_visits>10</nb_visits>
+ <nb_visits>11</nb_visits>
<nb_actions>43</nb_actions>
<nb_visits_converted>0</nb_visits_converted>
- <bounce_count>1</bounce_count>
- <sum_visit_length>7569</sum_visit_length>
+ <bounce_count>3</bounce_count>
+ <sum_visit_length>7208</sum_visit_length>
<max_actions>5</max_actions>
- <bounce_rate>10%</bounce_rate>
- <nb_actions_per_visit>4.3</nb_actions_per_visit>
- <avg_time_on_site>757</avg_time_on_site>
+ <bounce_rate>27%</bounce_rate>
+ <nb_actions_per_visit>3.9</nb_actions_per_visit>
+ <avg_time_on_site>655</avg_time_on_site>
</result>
<result idSite="2">
<nb_uniq_visitors>1</nb_uniq_visitors>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Referrers.getWebsites_firstSite_lastN__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Referrers.getWebsites_firstSite_lastN__API.getProcessedReport_day.xml
index eb3f03db1b..fbcf1fbc09 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Referrers.getWebsites_firstSite_lastN__API.getProcessedReport_day.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_Referrers.getWebsites_firstSite_lastN__API.getProcessedReport_day.xml
@@ -50,17 +50,29 @@
<revenue>Revenue</revenue>
</columns>
<reportData>
- <result prettyDate="Sunday 3 January 2010" />
+ <result prettyDate="Sunday 3 January 2010">
+ <row>
+ <label>referrer.com</label>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ <nb_users>0</nb_users>
+ <nb_actions_per_visit>1</nb_actions_per_visit>
+ <avg_time_on_site>00:00:00</avg_time_on_site>
+ <bounce_rate>100%</bounce_rate>
+ <revenue>$ 0</revenue>
+ </row>
+ </result>
<result prettyDate="Monday 4 January 2010">
<row>
<label>referrer.com</label>
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_visits>1</nb_visits>
- <nb_actions>2</nb_actions>
+ <nb_actions>1</nb_actions>
<nb_users>0</nb_users>
- <nb_actions_per_visit>2</nb_actions_per_visit>
- <avg_time_on_site>00:06:01</avg_time_on_site>
- <bounce_rate>0%</bounce_rate>
+ <nb_actions_per_visit>1</nb_actions_per_visit>
+ <avg_time_on_site>00:00:00</avg_time_on_site>
+ <bounce_rate>100%</bounce_rate>
<revenue>$ 0</revenue>
</row>
</result>
@@ -95,7 +107,11 @@
</result>
</reportData>
<reportMetadata>
- <result prettyDate="Sunday 3 January 2010" />
+ <result prettyDate="Sunday 3 January 2010">
+ <row>
+
+ </row>
+ </result>
<result prettyDate="Monday 4 January 2010">
<row>
@@ -116,10 +132,10 @@
</result>
</reportMetadata>
<reportTotal>
- <nb_visits>3</nb_visits>
- <nb_uniq_visitors>3</nb_uniq_visitors>
+ <nb_visits>4</nb_visits>
+ <nb_uniq_visitors>4</nb_uniq_visitors>
<nb_actions>12</nb_actions>
<nb_visits_converted>0</nb_visits_converted>
- <bounce_count>0</bounce_count>
+ <bounce_count>2</bounce_count>
</reportTotal>
</result> \ No newline at end of file
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_VisitFrequency.get_firstSite_lastN__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_VisitFrequency.get_firstSite_lastN__API.getProcessedReport_day.xml
index dae913cd1b..5d889eb52f 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_VisitFrequency.get_firstSite_lastN__API.getProcessedReport_day.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_VisitFrequency.get_firstSite_lastN__API.getProcessedReport_day.xml
@@ -35,7 +35,16 @@
</columns>
<reportData>
<result prettyDate="Sunday 3 January 2010" />
- <result prettyDate="Monday 4 January 2010" />
+ <result prettyDate="Monday 4 January 2010">
+ <nb_uniq_visitors_returning>1</nb_uniq_visitors_returning>
+ <nb_users_returning>0</nb_users_returning>
+ <nb_visits_returning>1</nb_visits_returning>
+ <nb_actions_returning>1</nb_actions_returning>
+ <max_actions_returning>1</max_actions_returning>
+ <bounce_rate_returning>100%</bounce_rate_returning>
+ <nb_actions_per_visit_returning>1</nb_actions_per_visit_returning>
+ <avg_time_on_site_returning>00:00:00</avg_time_on_site_returning>
+ </result>
<result prettyDate="Tuesday 5 January 2010">
<nb_uniq_visitors_returning>1</nb_uniq_visitors_returning>
<nb_users_returning>0</nb_users_returning>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_VisitorInterest.getNumberOfVisitsByDaysSinceLast_firstSite_lastN__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_VisitorInterest.getNumberOfVisitsByDaysSinceLast_firstSite_lastN__API.getProcessedReport_day.xml
index 0cfdf60b49..b7072a3a35 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_VisitorInterest.getNumberOfVisitsByDaysSinceLast_firstSite_lastN__API.getProcessedReport_day.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_VisitorInterest.getNumberOfVisitsByDaysSinceLast_firstSite_lastN__API.getProcessedReport_day.xml
@@ -27,7 +27,7 @@
<result prettyDate="Sunday 3 January 2010">
<row>
<label>New visits</label>
- <nb_visits>1</nb_visits>
+ <nb_visits>2</nb_visits>
</row>
<row>
<label>0 days</label>
@@ -89,11 +89,11 @@
<result prettyDate="Monday 4 January 2010">
<row>
<label>New visits</label>
- <nb_visits>1</nb_visits>
+ <nb_visits>0</nb_visits>
</row>
<row>
<label>0 days</label>
- <nb_visits>0</nb_visits>
+ <nb_visits>1</nb_visits>
</row>
<row>
<label>1 day</label>
@@ -469,6 +469,6 @@
<result prettyDate="Saturday 9 January 2010" />
</reportMetadata>
<reportTotal>
- <nb_visits>7</nb_visits>
+ <nb_visits>8</nb_visits>
</reportTotal>
</result> \ No newline at end of file
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_VisitsSummary.get_firstSite_lastN__API.getProcessedReport_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_VisitsSummary.get_firstSite_lastN__API.getProcessedReport_day.xml
index 8c6861a211..eb6b70ce41 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_VisitsSummary.get_firstSite_lastN__API.getProcessedReport_day.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_VisitsSummary.get_firstSite_lastN__API.getProcessedReport_day.xml
@@ -44,10 +44,10 @@
</columns>
<reportData>
<result prettyDate="Sunday 3 January 2010">
- <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
<nb_users>0</nb_users>
- <nb_visits>1</nb_visits>
- <nb_actions>1</nb_actions>
+ <nb_visits>2</nb_visits>
+ <nb_actions>2</nb_actions>
<max_actions>1</max_actions>
<nb_actions_per_visit>1</nb_actions_per_visit>
<avg_time_on_site>00:00:00</avg_time_on_site>
@@ -57,11 +57,11 @@
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_users>0</nb_users>
<nb_visits>1</nb_visits>
- <nb_actions>2</nb_actions>
- <max_actions>2</max_actions>
- <nb_actions_per_visit>2</nb_actions_per_visit>
- <avg_time_on_site>00:06:01</avg_time_on_site>
- <bounce_rate>0%</bounce_rate>
+ <nb_actions>1</nb_actions>
+ <max_actions>1</max_actions>
+ <nb_actions_per_visit>1</nb_actions_per_visit>
+ <avg_time_on_site>00:00:00</avg_time_on_site>
+ <bounce_rate>100%</bounce_rate>
</result>
<result prettyDate="Tuesday 5 January 2010">
<nb_uniq_visitors>1</nb_uniq_visitors>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_day.xml
index 41b3ee1ab8..9ca9e9d1ce 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_day.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_day.xml
@@ -11,16 +11,16 @@
<nb_hits_with_time_generation>2</nb_hits_with_time_generation>
<min_time_generation>0.123</min_time_generation>
<max_time_generation>0.153</max_time_generation>
- <entry_nb_uniq_visitors>1</entry_nb_uniq_visitors>
- <entry_nb_visits>1</entry_nb_visits>
- <entry_nb_actions>1</entry_nb_actions>
+ <entry_nb_uniq_visitors>2</entry_nb_uniq_visitors>
+ <entry_nb_visits>2</entry_nb_visits>
+ <entry_nb_actions>2</entry_nb_actions>
<entry_sum_visit_length>0</entry_sum_visit_length>
- <entry_bounce_count>1</entry_bounce_count>
- <exit_nb_uniq_visitors>1</exit_nb_uniq_visitors>
- <exit_nb_visits>1</exit_nb_visits>
+ <entry_bounce_count>2</entry_bounce_count>
+ <exit_nb_uniq_visitors>2</exit_nb_uniq_visitors>
+ <exit_nb_visits>2</exit_nb_visits>
<avg_time_on_page>0</avg_time_on_page>
<bounce_rate>100%</bounce_rate>
- <exit_rate>50%</exit_rate>
+ <exit_rate>100%</exit_rate>
<avg_time_generation>0.138</avg_time_generation>
</row>
</result>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_month.xml
index d803ad11f9..9ccdac5d66 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_month.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_month.xml
@@ -113,17 +113,17 @@
<nb_hits_with_time_generation>2</nb_hits_with_time_generation>
<min_time_generation>0.123</min_time_generation>
<max_time_generation>0.153</max_time_generation>
- <entry_nb_visits>1</entry_nb_visits>
- <entry_nb_actions>1</entry_nb_actions>
+ <entry_nb_visits>2</entry_nb_visits>
+ <entry_nb_actions>2</entry_nb_actions>
<entry_sum_visit_length>0</entry_sum_visit_length>
- <entry_bounce_count>1</entry_bounce_count>
- <exit_nb_visits>1</exit_nb_visits>
+ <entry_bounce_count>2</entry_bounce_count>
+ <exit_nb_visits>2</exit_nb_visits>
<sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
- <sum_daily_entry_nb_uniq_visitors>1</sum_daily_entry_nb_uniq_visitors>
- <sum_daily_exit_nb_uniq_visitors>1</sum_daily_exit_nb_uniq_visitors>
+ <sum_daily_entry_nb_uniq_visitors>2</sum_daily_entry_nb_uniq_visitors>
+ <sum_daily_exit_nb_uniq_visitors>2</sum_daily_exit_nb_uniq_visitors>
<avg_time_on_page>0</avg_time_on_page>
<bounce_rate>100%</bounce_rate>
- <exit_rate>50%</exit_rate>
+ <exit_rate>100%</exit_rate>
<avg_time_generation>0.138</avg_time_generation>
</row>
<row>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_week.xml
index d04244796f..727d6c25f1 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_week.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_week.xml
@@ -10,17 +10,17 @@
<nb_hits_with_time_generation>2</nb_hits_with_time_generation>
<min_time_generation>0.123</min_time_generation>
<max_time_generation>0.153</max_time_generation>
- <entry_nb_visits>1</entry_nb_visits>
- <entry_nb_actions>1</entry_nb_actions>
+ <entry_nb_visits>2</entry_nb_visits>
+ <entry_nb_actions>2</entry_nb_actions>
<entry_sum_visit_length>0</entry_sum_visit_length>
- <entry_bounce_count>1</entry_bounce_count>
- <exit_nb_visits>1</exit_nb_visits>
+ <entry_bounce_count>2</entry_bounce_count>
+ <exit_nb_visits>2</exit_nb_visits>
<sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
- <sum_daily_entry_nb_uniq_visitors>1</sum_daily_entry_nb_uniq_visitors>
- <sum_daily_exit_nb_uniq_visitors>1</sum_daily_exit_nb_uniq_visitors>
+ <sum_daily_entry_nb_uniq_visitors>2</sum_daily_entry_nb_uniq_visitors>
+ <sum_daily_exit_nb_uniq_visitors>2</sum_daily_exit_nb_uniq_visitors>
<avg_time_on_page>0</avg_time_on_page>
<bounce_rate>100%</bounce_rate>
- <exit_rate>50%</exit_rate>
+ <exit_rate>100%</exit_rate>
<avg_time_generation>0.138</avg_time_generation>
</row>
</result>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_year.xml
index 8622de5d82..1a031a49e2 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_year.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageTitles_year.xml
@@ -113,17 +113,17 @@
<nb_hits_with_time_generation>2</nb_hits_with_time_generation>
<min_time_generation>0.123</min_time_generation>
<max_time_generation>0.153</max_time_generation>
- <entry_nb_visits>1</entry_nb_visits>
- <entry_nb_actions>1</entry_nb_actions>
+ <entry_nb_visits>2</entry_nb_visits>
+ <entry_nb_actions>2</entry_nb_actions>
<entry_sum_visit_length>0</entry_sum_visit_length>
- <entry_bounce_count>1</entry_bounce_count>
- <exit_nb_visits>1</exit_nb_visits>
+ <entry_bounce_count>2</entry_bounce_count>
+ <exit_nb_visits>2</exit_nb_visits>
<sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
- <sum_daily_entry_nb_uniq_visitors>1</sum_daily_entry_nb_uniq_visitors>
- <sum_daily_exit_nb_uniq_visitors>1</sum_daily_exit_nb_uniq_visitors>
+ <sum_daily_entry_nb_uniq_visitors>2</sum_daily_entry_nb_uniq_visitors>
+ <sum_daily_exit_nb_uniq_visitors>2</sum_daily_exit_nb_uniq_visitors>
<avg_time_on_page>0</avg_time_on_page>
<bounce_rate>100%</bounce_rate>
- <exit_rate>50%</exit_rate>
+ <exit_rate>100%</exit_rate>
<avg_time_generation>0.138</avg_time_generation>
</row>
<row>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_day.xml
index baf847ce36..649f9a2c52 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_day.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_day.xml
@@ -10,9 +10,16 @@
<nb_hits_with_time_generation>1</nb_hits_with_time_generation>
<min_time_generation>0.123</min_time_generation>
<max_time_generation>0.123</max_time_generation>
+ <entry_nb_uniq_visitors>1</entry_nb_uniq_visitors>
+ <entry_nb_visits>1</entry_nb_visits>
+ <entry_nb_actions>1</entry_nb_actions>
+ <entry_sum_visit_length>0</entry_sum_visit_length>
+ <entry_bounce_count>1</entry_bounce_count>
+ <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>
- <bounce_rate>0%</bounce_rate>
- <exit_rate>0%</exit_rate>
+ <bounce_rate>100%</bounce_rate>
+ <exit_rate>100%</exit_rate>
<avg_time_generation>0.123</avg_time_generation>
<url>http://example.org/index.htm</url>
</row>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_month.xml
index 00bb5030af..bc95c7710c 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_month.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_month.xml
@@ -9,15 +9,17 @@
<nb_hits_with_time_generation>9</nb_hits_with_time_generation>
<min_time_generation>0.123</min_time_generation>
<max_time_generation>0.323</max_time_generation>
- <sum_daily_nb_uniq_visitors>9</sum_daily_nb_uniq_visitors>
- <entry_nb_visits>8</entry_nb_visits>
- <entry_nb_actions>40</entry_nb_actions>
+ <entry_nb_visits>9</entry_nb_visits>
+ <entry_nb_actions>41</entry_nb_actions>
<entry_sum_visit_length>7208</entry_sum_visit_length>
- <entry_bounce_count>0</entry_bounce_count>
- <sum_daily_entry_nb_uniq_visitors>8</sum_daily_entry_nb_uniq_visitors>
+ <entry_bounce_count>1</entry_bounce_count>
+ <exit_nb_visits>1</exit_nb_visits>
+ <sum_daily_nb_uniq_visitors>9</sum_daily_nb_uniq_visitors>
+ <sum_daily_entry_nb_uniq_visitors>9</sum_daily_entry_nb_uniq_visitors>
+ <sum_daily_exit_nb_uniq_visitors>1</sum_daily_exit_nb_uniq_visitors>
<avg_time_on_page>320</avg_time_on_page>
- <bounce_rate>0%</bounce_rate>
- <exit_rate>0%</exit_rate>
+ <bounce_rate>11%</bounce_rate>
+ <exit_rate>11%</exit_rate>
<avg_time_generation>0.301</avg_time_generation>
<url>http://example.org/index.htm</url>
</row>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_week.xml
index a8fdd76865..89897d9983 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_week.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_week.xml
@@ -9,10 +9,17 @@
<nb_hits_with_time_generation>1</nb_hits_with_time_generation>
<min_time_generation>0.123</min_time_generation>
<max_time_generation>0.123</max_time_generation>
+ <entry_nb_visits>1</entry_nb_visits>
+ <entry_nb_actions>1</entry_nb_actions>
+ <entry_sum_visit_length>0</entry_sum_visit_length>
+ <entry_bounce_count>1</entry_bounce_count>
+ <exit_nb_visits>1</exit_nb_visits>
<sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors>
+ <sum_daily_entry_nb_uniq_visitors>1</sum_daily_entry_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>
- <bounce_rate>0%</bounce_rate>
- <exit_rate>0%</exit_rate>
+ <bounce_rate>100%</bounce_rate>
+ <exit_rate>100%</exit_rate>
<avg_time_generation>0.123</avg_time_generation>
<url>http://example.org/index.htm</url>
</row>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_year.xml
index 00bb5030af..bc95c7710c 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_year.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrl_year.xml
@@ -9,15 +9,17 @@
<nb_hits_with_time_generation>9</nb_hits_with_time_generation>
<min_time_generation>0.123</min_time_generation>
<max_time_generation>0.323</max_time_generation>
- <sum_daily_nb_uniq_visitors>9</sum_daily_nb_uniq_visitors>
- <entry_nb_visits>8</entry_nb_visits>
- <entry_nb_actions>40</entry_nb_actions>
+ <entry_nb_visits>9</entry_nb_visits>
+ <entry_nb_actions>41</entry_nb_actions>
<entry_sum_visit_length>7208</entry_sum_visit_length>
- <entry_bounce_count>0</entry_bounce_count>
- <sum_daily_entry_nb_uniq_visitors>8</sum_daily_entry_nb_uniq_visitors>
+ <entry_bounce_count>1</entry_bounce_count>
+ <exit_nb_visits>1</exit_nb_visits>
+ <sum_daily_nb_uniq_visitors>9</sum_daily_nb_uniq_visitors>
+ <sum_daily_entry_nb_uniq_visitors>9</sum_daily_entry_nb_uniq_visitors>
+ <sum_daily_exit_nb_uniq_visitors>1</sum_daily_exit_nb_uniq_visitors>
<avg_time_on_page>320</avg_time_on_page>
- <bounce_rate>0%</bounce_rate>
- <exit_rate>0%</exit_rate>
+ <bounce_rate>11%</bounce_rate>
+ <exit_rate>11%</exit_rate>
<avg_time_generation>0.301</avg_time_generation>
<url>http://example.org/index.htm</url>
</row>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_day.xml
index eda852deae..8f12a3232b 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_day.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_day.xml
@@ -11,9 +11,16 @@
<nb_hits_with_time_generation>1</nb_hits_with_time_generation>
<min_time_generation>0.123</min_time_generation>
<max_time_generation>0.123</max_time_generation>
+ <entry_nb_uniq_visitors>1</entry_nb_uniq_visitors>
+ <entry_nb_visits>1</entry_nb_visits>
+ <entry_nb_actions>1</entry_nb_actions>
+ <entry_sum_visit_length>0</entry_sum_visit_length>
+ <entry_bounce_count>1</entry_bounce_count>
+ <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>
- <bounce_rate>0%</bounce_rate>
- <exit_rate>0%</exit_rate>
+ <bounce_rate>100%</bounce_rate>
+ <exit_rate>100%</exit_rate>
<avg_time_generation>0.123</avg_time_generation>
<url>http://example.org/index.htm</url>
</row>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_month.xml
index faa058da6b..b34880ccf4 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_month.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_month.xml
@@ -10,15 +10,17 @@
<nb_hits_with_time_generation>9</nb_hits_with_time_generation>
<min_time_generation>0.123</min_time_generation>
<max_time_generation>0.323</max_time_generation>
- <sum_daily_nb_uniq_visitors>9</sum_daily_nb_uniq_visitors>
- <entry_nb_visits>8</entry_nb_visits>
- <entry_nb_actions>40</entry_nb_actions>
+ <entry_nb_visits>9</entry_nb_visits>
+ <entry_nb_actions>41</entry_nb_actions>
<entry_sum_visit_length>7208</entry_sum_visit_length>
- <entry_bounce_count>0</entry_bounce_count>
- <sum_daily_entry_nb_uniq_visitors>8</sum_daily_entry_nb_uniq_visitors>
+ <entry_bounce_count>1</entry_bounce_count>
+ <exit_nb_visits>1</exit_nb_visits>
+ <sum_daily_nb_uniq_visitors>9</sum_daily_nb_uniq_visitors>
+ <sum_daily_entry_nb_uniq_visitors>9</sum_daily_entry_nb_uniq_visitors>
+ <sum_daily_exit_nb_uniq_visitors>1</sum_daily_exit_nb_uniq_visitors>
<avg_time_on_page>320</avg_time_on_page>
- <bounce_rate>0%</bounce_rate>
- <exit_rate>0%</exit_rate>
+ <bounce_rate>11%</bounce_rate>
+ <exit_rate>11%</exit_rate>
<avg_time_generation>0.301</avg_time_generation>
<url>http://example.org/index.htm</url>
</row>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_week.xml
index 89ffb01c30..612ed2c38d 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_week.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_week.xml
@@ -10,10 +10,17 @@
<nb_hits_with_time_generation>1</nb_hits_with_time_generation>
<min_time_generation>0.123</min_time_generation>
<max_time_generation>0.123</max_time_generation>
+ <entry_nb_visits>1</entry_nb_visits>
+ <entry_nb_actions>1</entry_nb_actions>
+ <entry_sum_visit_length>0</entry_sum_visit_length>
+ <entry_bounce_count>1</entry_bounce_count>
+ <exit_nb_visits>1</exit_nb_visits>
<sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors>
+ <sum_daily_entry_nb_uniq_visitors>1</sum_daily_entry_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>
- <bounce_rate>0%</bounce_rate>
- <exit_rate>0%</exit_rate>
+ <bounce_rate>100%</bounce_rate>
+ <exit_rate>100%</exit_rate>
<avg_time_generation>0.123</avg_time_generation>
<url>http://example.org/index.htm</url>
</row>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_year.xml
index 4bccd4e8bc..60aab5d751 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_year.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_year.xml
@@ -10,15 +10,17 @@
<nb_hits_with_time_generation>9</nb_hits_with_time_generation>
<min_time_generation>0.123</min_time_generation>
<max_time_generation>0.323</max_time_generation>
- <sum_daily_nb_uniq_visitors>9</sum_daily_nb_uniq_visitors>
- <entry_nb_visits>8</entry_nb_visits>
- <entry_nb_actions>40</entry_nb_actions>
+ <entry_nb_visits>9</entry_nb_visits>
+ <entry_nb_actions>41</entry_nb_actions>
<entry_sum_visit_length>7208</entry_sum_visit_length>
- <entry_bounce_count>0</entry_bounce_count>
- <sum_daily_entry_nb_uniq_visitors>8</sum_daily_entry_nb_uniq_visitors>
+ <entry_bounce_count>1</entry_bounce_count>
+ <exit_nb_visits>1</exit_nb_visits>
+ <sum_daily_nb_uniq_visitors>9</sum_daily_nb_uniq_visitors>
+ <sum_daily_entry_nb_uniq_visitors>9</sum_daily_entry_nb_uniq_visitors>
+ <sum_daily_exit_nb_uniq_visitors>1</sum_daily_exit_nb_uniq_visitors>
<avg_time_on_page>320</avg_time_on_page>
- <bounce_rate>0%</bounce_rate>
- <exit_rate>0%</exit_rate>
+ <bounce_rate>11%</bounce_rate>
+ <exit_rate>11%</exit_rate>
<avg_time_generation>0.301</avg_time_generation>
<url>http://example.org/index.htm</url>
</row>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Referrers.getWebsites_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Referrers.getWebsites_day.xml
index fa36e9ed05..926587d371 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Referrers.getWebsites_day.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Referrers.getWebsites_day.xml
@@ -1,28 +1,53 @@
<?xml version="1.0" encoding="utf-8" ?>
<results>
<result idSite="1">
- <result date="2010-01-03" />
+ <result date="2010-01-03">
+ <row>
+ <label>referrer.com</label>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ <nb_users>0</nb_users>
+ <max_actions>1</max_actions>
+ <sum_visit_length>0</sum_visit_length>
+ <bounce_count>1</bounce_count>
+ <nb_visits_converted>0</nb_visits_converted>
+ <subtable>
+ <row>
+ <label>http://referrer.com/page.htm?param=valuewith some spaces</label>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ <nb_users>0</nb_users>
+ <max_actions>1</max_actions>
+ <sum_visit_length>0</sum_visit_length>
+ <bounce_count>1</bounce_count>
+ <nb_visits_converted>0</nb_visits_converted>
+ </row>
+ </subtable>
+ </row>
+ </result>
<result date="2010-01-04">
<row>
<label>referrer.com</label>
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_visits>1</nb_visits>
- <nb_actions>2</nb_actions>
+ <nb_actions>1</nb_actions>
<nb_users>0</nb_users>
- <max_actions>2</max_actions>
- <sum_visit_length>361</sum_visit_length>
- <bounce_count>0</bounce_count>
+ <max_actions>1</max_actions>
+ <sum_visit_length>0</sum_visit_length>
+ <bounce_count>1</bounce_count>
<nb_visits_converted>0</nb_visits_converted>
<subtable>
<row>
<label>http://referrer.com/page.htm?param=valuewith some spaces</label>
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_visits>1</nb_visits>
- <nb_actions>2</nb_actions>
+ <nb_actions>1</nb_actions>
<nb_users>0</nb_users>
- <max_actions>2</max_actions>
- <sum_visit_length>361</sum_visit_length>
- <bounce_count>0</bounce_count>
+ <max_actions>1</max_actions>
+ <sum_visit_length>0</sum_visit_length>
+ <bounce_count>1</bounce_count>
<nb_visits_converted>0</nb_visits_converted>
</row>
</subtable>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Referrers.getWebsites_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Referrers.getWebsites_month.xml
index 40af378380..2ddfc23c4b 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Referrers.getWebsites_month.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Referrers.getWebsites_month.xml
@@ -4,13 +4,13 @@
<result date="2010-01">
<row>
<label>referrer.com</label>
- <nb_visits>5</nb_visits>
+ <nb_visits>6</nb_visits>
<nb_actions>22</nb_actions>
<max_actions>5</max_actions>
- <sum_visit_length>3965</sum_visit_length>
- <bounce_count>0</bounce_count>
+ <sum_visit_length>3604</sum_visit_length>
+ <bounce_count>2</bounce_count>
<nb_visits_converted>0</nb_visits_converted>
- <sum_daily_nb_uniq_visitors>5</sum_daily_nb_uniq_visitors>
+ <sum_daily_nb_uniq_visitors>6</sum_daily_nb_uniq_visitors>
<sum_daily_nb_users>0</sum_daily_nb_users>
<subtable>
<row>
@@ -26,13 +26,13 @@
</row>
<row>
<label>http://referrer.com/page.htm?param=valuewith some spaces</label>
- <nb_visits>1</nb_visits>
+ <nb_visits>2</nb_visits>
<nb_actions>2</nb_actions>
- <max_actions>2</max_actions>
- <sum_visit_length>361</sum_visit_length>
- <bounce_count>0</bounce_count>
+ <max_actions>1</max_actions>
+ <sum_visit_length>0</sum_visit_length>
+ <bounce_count>2</bounce_count>
<nb_visits_converted>0</nb_visits_converted>
- <sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors>
+ <sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
<sum_daily_nb_users>0</sum_daily_nb_users>
</row>
</subtable>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Referrers.getWebsites_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Referrers.getWebsites_week.xml
index 936d04f579..4bb03ec3cb 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Referrers.getWebsites_week.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Referrers.getWebsites_week.xml
@@ -1,15 +1,40 @@
<?xml version="1.0" encoding="utf-8" ?>
<results>
<result idSite="1">
- <result date="From 2009-12-28 to 2010-01-03" />
+ <result date="From 2009-12-28 to 2010-01-03">
+ <row>
+ <label>referrer.com</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ <max_actions>1</max_actions>
+ <sum_visit_length>0</sum_visit_length>
+ <bounce_count>1</bounce_count>
+ <nb_visits_converted>0</nb_visits_converted>
+ <sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors>
+ <sum_daily_nb_users>0</sum_daily_nb_users>
+ <subtable>
+ <row>
+ <label>http://referrer.com/page.htm?param=valuewith some spaces</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ <max_actions>1</max_actions>
+ <sum_visit_length>0</sum_visit_length>
+ <bounce_count>1</bounce_count>
+ <nb_visits_converted>0</nb_visits_converted>
+ <sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors>
+ <sum_daily_nb_users>0</sum_daily_nb_users>
+ </row>
+ </subtable>
+ </row>
+ </result>
<result date="From 2010-01-04 to 2010-01-10">
<row>
<label>referrer.com</label>
<nb_visits>4</nb_visits>
- <nb_actions>17</nb_actions>
+ <nb_actions>16</nb_actions>
<max_actions>5</max_actions>
- <sum_visit_length>3064</sum_visit_length>
- <bounce_count>0</bounce_count>
+ <sum_visit_length>2703</sum_visit_length>
+ <bounce_count>1</bounce_count>
<nb_visits_converted>0</nb_visits_converted>
<sum_daily_nb_uniq_visitors>4</sum_daily_nb_uniq_visitors>
<sum_daily_nb_users>0</sum_daily_nb_users>
@@ -28,10 +53,10 @@
<row>
<label>http://referrer.com/page.htm?param=valuewith some spaces</label>
<nb_visits>1</nb_visits>
- <nb_actions>2</nb_actions>
- <max_actions>2</max_actions>
- <sum_visit_length>361</sum_visit_length>
- <bounce_count>0</bounce_count>
+ <nb_actions>1</nb_actions>
+ <max_actions>1</max_actions>
+ <sum_visit_length>0</sum_visit_length>
+ <bounce_count>1</bounce_count>
<nb_visits_converted>0</nb_visits_converted>
<sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors>
<sum_daily_nb_users>0</sum_daily_nb_users>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Referrers.getWebsites_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Referrers.getWebsites_year.xml
index fec8a07c30..185e5ad77d 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Referrers.getWebsites_year.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__Referrers.getWebsites_year.xml
@@ -4,13 +4,13 @@
<result date="2010">
<row>
<label>referrer.com</label>
- <nb_visits>5</nb_visits>
+ <nb_visits>6</nb_visits>
<nb_actions>22</nb_actions>
<max_actions>5</max_actions>
- <sum_visit_length>3965</sum_visit_length>
- <bounce_count>0</bounce_count>
+ <sum_visit_length>3604</sum_visit_length>
+ <bounce_count>2</bounce_count>
<nb_visits_converted>0</nb_visits_converted>
- <sum_daily_nb_uniq_visitors>5</sum_daily_nb_uniq_visitors>
+ <sum_daily_nb_uniq_visitors>6</sum_daily_nb_uniq_visitors>
<sum_daily_nb_users>0</sum_daily_nb_users>
<subtable>
<row>
@@ -26,13 +26,13 @@
</row>
<row>
<label>http://referrer.com/page.htm?param=valuewith some spaces</label>
- <nb_visits>1</nb_visits>
+ <nb_visits>2</nb_visits>
<nb_actions>2</nb_actions>
- <max_actions>2</max_actions>
- <sum_visit_length>361</sum_visit_length>
- <bounce_count>0</bounce_count>
+ <max_actions>1</max_actions>
+ <sum_visit_length>0</sum_visit_length>
+ <bounce_count>2</bounce_count>
<nb_visits_converted>0</nb_visits_converted>
- <sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors>
+ <sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
<sum_daily_nb_users>0</sum_daily_nb_users>
</row>
</subtable>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_day.xml
index 1132f1191d..dbc541c129 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_day.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_day.xml
@@ -2,7 +2,19 @@
<results>
<result idSite="1">
<result date="2010-01-03" />
- <result date="2010-01-04" />
+ <result date="2010-01-04">
+ <nb_uniq_visitors_returning>1</nb_uniq_visitors_returning>
+ <nb_users_returning>0</nb_users_returning>
+ <nb_visits_returning>1</nb_visits_returning>
+ <nb_actions_returning>1</nb_actions_returning>
+ <nb_visits_converted_returning>0</nb_visits_converted_returning>
+ <bounce_count_returning>1</bounce_count_returning>
+ <sum_visit_length_returning>0</sum_visit_length_returning>
+ <max_actions_returning>1</max_actions_returning>
+ <bounce_rate_returning>100%</bounce_rate_returning>
+ <nb_actions_per_visit_returning>1</nb_actions_per_visit_returning>
+ <avg_time_on_site_returning>0</avg_time_on_site_returning>
+ </result>
<result date="2010-01-05">
<nb_uniq_visitors_returning>1</nb_uniq_visitors_returning>
<nb_users_returning>0</nb_users_returning>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_month.xml
index f6da2a541d..9ec4ba810f 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_month.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_month.xml
@@ -2,17 +2,17 @@
<results>
<result idSite="1">
<result date="2010-01">
- <nb_uniq_visitors_returning>1</nb_uniq_visitors_returning>
+ <nb_uniq_visitors_returning>2</nb_uniq_visitors_returning>
<nb_users_returning>0</nb_users_returning>
- <nb_visits_returning>8</nb_visits_returning>
- <nb_actions_returning>40</nb_actions_returning>
+ <nb_visits_returning>9</nb_visits_returning>
+ <nb_actions_returning>41</nb_actions_returning>
<nb_visits_converted_returning>0</nb_visits_converted_returning>
- <bounce_count_returning>0</bounce_count_returning>
+ <bounce_count_returning>1</bounce_count_returning>
<sum_visit_length_returning>7208</sum_visit_length_returning>
<max_actions_returning>5</max_actions_returning>
- <bounce_rate_returning>0%</bounce_rate_returning>
- <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning>
- <avg_time_on_site_returning>901</avg_time_on_site_returning>
+ <bounce_rate_returning>11%</bounce_rate_returning>
+ <nb_actions_per_visit_returning>4.6</nb_actions_per_visit_returning>
+ <avg_time_on_site_returning>801</avg_time_on_site_returning>
</result>
<result date="2010-02" />
<result date="2010-03" />
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_week.xml
index d64e929e8a..4ec591ba36 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_week.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_week.xml
@@ -3,17 +3,17 @@
<result idSite="1">
<result date="From 2009-12-28 to 2010-01-03" />
<result date="From 2010-01-04 to 2010-01-10">
- <nb_uniq_visitors_returning>1</nb_uniq_visitors_returning>
+ <nb_uniq_visitors_returning>2</nb_uniq_visitors_returning>
<nb_users_returning>0</nb_users_returning>
- <nb_visits_returning>6</nb_visits_returning>
- <nb_actions_returning>30</nb_actions_returning>
+ <nb_visits_returning>7</nb_visits_returning>
+ <nb_actions_returning>31</nb_actions_returning>
<nb_visits_converted_returning>0</nb_visits_converted_returning>
- <bounce_count_returning>0</bounce_count_returning>
+ <bounce_count_returning>1</bounce_count_returning>
<sum_visit_length_returning>5406</sum_visit_length_returning>
<max_actions_returning>5</max_actions_returning>
- <bounce_rate_returning>0%</bounce_rate_returning>
- <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning>
- <avg_time_on_site_returning>901</avg_time_on_site_returning>
+ <bounce_rate_returning>14%</bounce_rate_returning>
+ <nb_actions_per_visit_returning>4.4</nb_actions_per_visit_returning>
+ <avg_time_on_site_returning>772</avg_time_on_site_returning>
</result>
<result date="From 2010-01-11 to 2010-01-17">
<nb_uniq_visitors_returning>1</nb_uniq_visitors_returning>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_year.xml
index dd6204a199..3203a1977d 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_year.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitFrequency.get_year.xml
@@ -2,15 +2,15 @@
<results>
<result idSite="1">
<result date="2010">
- <nb_visits_returning>8</nb_visits_returning>
- <nb_actions_returning>40</nb_actions_returning>
+ <nb_visits_returning>9</nb_visits_returning>
+ <nb_actions_returning>41</nb_actions_returning>
<nb_visits_converted_returning>0</nb_visits_converted_returning>
- <bounce_count_returning>0</bounce_count_returning>
+ <bounce_count_returning>1</bounce_count_returning>
<sum_visit_length_returning>7208</sum_visit_length_returning>
<max_actions_returning>5</max_actions_returning>
- <bounce_rate_returning>0%</bounce_rate_returning>
- <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning>
- <avg_time_on_site_returning>901</avg_time_on_site_returning>
+ <bounce_rate_returning>11%</bounce_rate_returning>
+ <nb_actions_per_visit_returning>4.6</nb_actions_per_visit_returning>
+ <avg_time_on_site_returning>801</avg_time_on_site_returning>
</result>
<result date="2011" />
<result date="2012" />
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitorInterest.getNumberOfVisitsByDaysSinceLast_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitorInterest.getNumberOfVisitsByDaysSinceLast_day.xml
index 0bc2b88f8f..503513f1e4 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitorInterest.getNumberOfVisitsByDaysSinceLast_day.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitorInterest.getNumberOfVisitsByDaysSinceLast_day.xml
@@ -4,7 +4,7 @@
<result date="2010-01-03">
<row>
<label>New visits</label>
- <nb_visits>1</nb_visits>
+ <nb_visits>2</nb_visits>
</row>
<row>
<label>0 days</label>
@@ -66,11 +66,11 @@
<result date="2010-01-04">
<row>
<label>New visits</label>
- <nb_visits>1</nb_visits>
+ <nb_visits>0</nb_visits>
</row>
<row>
<label>0 days</label>
- <nb_visits>0</nb_visits>
+ <nb_visits>1</nb_visits>
</row>
<row>
<label>1 day</label>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitorInterest.getNumberOfVisitsByDaysSinceLast_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitorInterest.getNumberOfVisitsByDaysSinceLast_month.xml
index 16113a3774..89dfb22009 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitorInterest.getNumberOfVisitsByDaysSinceLast_month.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitorInterest.getNumberOfVisitsByDaysSinceLast_month.xml
@@ -8,7 +8,7 @@
</row>
<row>
<label>0 days</label>
- <nb_visits>0</nb_visits>
+ <nb_visits>1</nb_visits>
</row>
<row>
<label>1 day</label>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitorInterest.getNumberOfVisitsByDaysSinceLast_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitorInterest.getNumberOfVisitsByDaysSinceLast_week.xml
index 7595c2461e..23ac772564 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitorInterest.getNumberOfVisitsByDaysSinceLast_week.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitorInterest.getNumberOfVisitsByDaysSinceLast_week.xml
@@ -4,7 +4,7 @@
<result date="From 2009-12-28 to 2010-01-03">
<row>
<label>New visits</label>
- <nb_visits>1</nb_visits>
+ <nb_visits>2</nb_visits>
</row>
<row>
<label>0 days</label>
@@ -66,11 +66,11 @@
<result date="From 2010-01-04 to 2010-01-10">
<row>
<label>New visits</label>
- <nb_visits>1</nb_visits>
+ <nb_visits>0</nb_visits>
</row>
<row>
<label>0 days</label>
- <nb_visits>0</nb_visits>
+ <nb_visits>1</nb_visits>
</row>
<row>
<label>1 day</label>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitorInterest.getNumberOfVisitsByDaysSinceLast_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitorInterest.getNumberOfVisitsByDaysSinceLast_year.xml
index 59903493cd..a61fb7f87c 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitorInterest.getNumberOfVisitsByDaysSinceLast_year.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitorInterest.getNumberOfVisitsByDaysSinceLast_year.xml
@@ -8,7 +8,7 @@
</row>
<row>
<label>0 days</label>
- <nb_visits>0</nb_visits>
+ <nb_visits>1</nb_visits>
</row>
<row>
<label>1 day</label>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_day.xml
index c0f0001ebf..e2081a72ab 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_day.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_day.xml
@@ -2,12 +2,12 @@
<results>
<result idSite="1">
<result date="2010-01-03">
- <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
<nb_users>0</nb_users>
- <nb_visits>1</nb_visits>
- <nb_actions>1</nb_actions>
+ <nb_visits>2</nb_visits>
+ <nb_actions>2</nb_actions>
<nb_visits_converted>0</nb_visits_converted>
- <bounce_count>1</bounce_count>
+ <bounce_count>2</bounce_count>
<sum_visit_length>0</sum_visit_length>
<max_actions>1</max_actions>
<bounce_rate>100%</bounce_rate>
@@ -18,14 +18,14 @@
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_users>0</nb_users>
<nb_visits>1</nb_visits>
- <nb_actions>2</nb_actions>
+ <nb_actions>1</nb_actions>
<nb_visits_converted>0</nb_visits_converted>
- <bounce_count>0</bounce_count>
- <sum_visit_length>361</sum_visit_length>
- <max_actions>2</max_actions>
- <bounce_rate>0%</bounce_rate>
- <nb_actions_per_visit>2</nb_actions_per_visit>
- <avg_time_on_site>361</avg_time_on_site>
+ <bounce_count>1</bounce_count>
+ <sum_visit_length>0</sum_visit_length>
+ <max_actions>1</max_actions>
+ <bounce_rate>100%</bounce_rate>
+ <nb_actions_per_visit>1</nb_actions_per_visit>
+ <avg_time_on_site>0</avg_time_on_site>
</result>
<result date="2010-01-05">
<nb_uniq_visitors>1</nb_uniq_visitors>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_month.xml
index d60436c3c9..53d4405192 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_month.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_month.xml
@@ -4,15 +4,15 @@
<result date="2010-01">
<nb_uniq_visitors>2</nb_uniq_visitors>
<nb_users>0</nb_users>
- <nb_visits>10</nb_visits>
+ <nb_visits>11</nb_visits>
<nb_actions>43</nb_actions>
<nb_visits_converted>0</nb_visits_converted>
- <bounce_count>1</bounce_count>
- <sum_visit_length>7569</sum_visit_length>
+ <bounce_count>3</bounce_count>
+ <sum_visit_length>7208</sum_visit_length>
<max_actions>5</max_actions>
- <bounce_rate>10%</bounce_rate>
- <nb_actions_per_visit>4.3</nb_actions_per_visit>
- <avg_time_on_site>757</avg_time_on_site>
+ <bounce_rate>27%</bounce_rate>
+ <nb_actions_per_visit>3.9</nb_actions_per_visit>
+ <avg_time_on_site>655</avg_time_on_site>
</result>
<result date="2010-02" />
<result date="2010-03" />
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_week.xml
index f754acd177..79fa415766 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_week.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_week.xml
@@ -2,12 +2,12 @@
<results>
<result idSite="1">
<result date="From 2009-12-28 to 2010-01-03">
- <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
<nb_users>0</nb_users>
- <nb_visits>1</nb_visits>
- <nb_actions>1</nb_actions>
+ <nb_visits>2</nb_visits>
+ <nb_actions>2</nb_actions>
<nb_visits_converted>0</nb_visits_converted>
- <bounce_count>1</bounce_count>
+ <bounce_count>2</bounce_count>
<sum_visit_length>0</sum_visit_length>
<max_actions>1</max_actions>
<bounce_rate>100%</bounce_rate>
@@ -18,14 +18,14 @@
<nb_uniq_visitors>2</nb_uniq_visitors>
<nb_users>0</nb_users>
<nb_visits>7</nb_visits>
- <nb_actions>32</nb_actions>
+ <nb_actions>31</nb_actions>
<nb_visits_converted>0</nb_visits_converted>
- <bounce_count>0</bounce_count>
- <sum_visit_length>5767</sum_visit_length>
+ <bounce_count>1</bounce_count>
+ <sum_visit_length>5406</sum_visit_length>
<max_actions>5</max_actions>
- <bounce_rate>0%</bounce_rate>
- <nb_actions_per_visit>4.6</nb_actions_per_visit>
- <avg_time_on_site>824</avg_time_on_site>
+ <bounce_rate>14%</bounce_rate>
+ <nb_actions_per_visit>4.4</nb_actions_per_visit>
+ <avg_time_on_site>772</avg_time_on_site>
</result>
<result date="From 2010-01-11 to 2010-01-17">
<nb_uniq_visitors>1</nb_uniq_visitors>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_year.xml
index 301adee7ee..9de6d3fd9b 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_year.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays__VisitsSummary.get_year.xml
@@ -2,15 +2,15 @@
<results>
<result idSite="1">
<result date="2010">
- <nb_visits>10</nb_visits>
+ <nb_visits>11</nb_visits>
<nb_actions>43</nb_actions>
<nb_visits_converted>0</nb_visits_converted>
- <bounce_count>1</bounce_count>
- <sum_visit_length>7569</sum_visit_length>
+ <bounce_count>3</bounce_count>
+ <sum_visit_length>7208</sum_visit_length>
<max_actions>5</max_actions>
- <bounce_rate>10%</bounce_rate>
- <nb_actions_per_visit>4.3</nb_actions_per_visit>
- <avg_time_on_site>757</avg_time_on_site>
+ <bounce_rate>27%</bounce_rate>
+ <nb_actions_per_visit>3.9</nb_actions_per_visit>
+ <avg_time_on_site>655</avg_time_on_site>
</result>
<result date="2011" />
<result date="2012" />
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_day.xml
index 9f120e0ee0..2c6f0f0c6b 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_day.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_day.xml
@@ -10,16 +10,16 @@
<nb_hits_with_time_generation>2</nb_hits_with_time_generation>
<min_time_generation>0.123</min_time_generation>
<max_time_generation>0.153</max_time_generation>
- <entry_nb_uniq_visitors>1</entry_nb_uniq_visitors>
- <entry_nb_visits>1</entry_nb_visits>
- <entry_nb_actions>1</entry_nb_actions>
+ <entry_nb_uniq_visitors>2</entry_nb_uniq_visitors>
+ <entry_nb_visits>2</entry_nb_visits>
+ <entry_nb_actions>2</entry_nb_actions>
<entry_sum_visit_length>0</entry_sum_visit_length>
- <entry_bounce_count>1</entry_bounce_count>
- <exit_nb_uniq_visitors>1</exit_nb_uniq_visitors>
- <exit_nb_visits>1</exit_nb_visits>
+ <entry_bounce_count>2</entry_bounce_count>
+ <exit_nb_uniq_visitors>2</exit_nb_uniq_visitors>
+ <exit_nb_visits>2</exit_nb_visits>
<avg_time_on_page>0</avg_time_on_page>
<bounce_rate>100%</bounce_rate>
- <exit_rate>50%</exit_rate>
+ <exit_rate>100%</exit_rate>
<avg_time_generation>0.138</avg_time_generation>
</row>
</result>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_month.xml
index 7b53ef8a32..766132cf07 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_month.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_month.xml
@@ -112,17 +112,17 @@
<nb_hits_with_time_generation>2</nb_hits_with_time_generation>
<min_time_generation>0.123</min_time_generation>
<max_time_generation>0.153</max_time_generation>
- <entry_nb_visits>1</entry_nb_visits>
- <entry_nb_actions>1</entry_nb_actions>
+ <entry_nb_visits>2</entry_nb_visits>
+ <entry_nb_actions>2</entry_nb_actions>
<entry_sum_visit_length>0</entry_sum_visit_length>
- <entry_bounce_count>1</entry_bounce_count>
- <exit_nb_visits>1</exit_nb_visits>
+ <entry_bounce_count>2</entry_bounce_count>
+ <exit_nb_visits>2</exit_nb_visits>
<sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
- <sum_daily_entry_nb_uniq_visitors>1</sum_daily_entry_nb_uniq_visitors>
- <sum_daily_exit_nb_uniq_visitors>1</sum_daily_exit_nb_uniq_visitors>
+ <sum_daily_entry_nb_uniq_visitors>2</sum_daily_entry_nb_uniq_visitors>
+ <sum_daily_exit_nb_uniq_visitors>2</sum_daily_exit_nb_uniq_visitors>
<avg_time_on_page>0</avg_time_on_page>
<bounce_rate>100%</bounce_rate>
- <exit_rate>50%</exit_rate>
+ <exit_rate>100%</exit_rate>
<avg_time_generation>0.138</avg_time_generation>
</row>
<row>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_week.xml
index c8f777c165..a3b1c910dd 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_week.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_week.xml
@@ -9,17 +9,17 @@
<nb_hits_with_time_generation>2</nb_hits_with_time_generation>
<min_time_generation>0.123</min_time_generation>
<max_time_generation>0.153</max_time_generation>
- <entry_nb_visits>1</entry_nb_visits>
- <entry_nb_actions>1</entry_nb_actions>
+ <entry_nb_visits>2</entry_nb_visits>
+ <entry_nb_actions>2</entry_nb_actions>
<entry_sum_visit_length>0</entry_sum_visit_length>
- <entry_bounce_count>1</entry_bounce_count>
- <exit_nb_visits>1</exit_nb_visits>
+ <entry_bounce_count>2</entry_bounce_count>
+ <exit_nb_visits>2</exit_nb_visits>
<sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
- <sum_daily_entry_nb_uniq_visitors>1</sum_daily_entry_nb_uniq_visitors>
- <sum_daily_exit_nb_uniq_visitors>1</sum_daily_exit_nb_uniq_visitors>
+ <sum_daily_entry_nb_uniq_visitors>2</sum_daily_entry_nb_uniq_visitors>
+ <sum_daily_exit_nb_uniq_visitors>2</sum_daily_exit_nb_uniq_visitors>
<avg_time_on_page>0</avg_time_on_page>
<bounce_rate>100%</bounce_rate>
- <exit_rate>50%</exit_rate>
+ <exit_rate>100%</exit_rate>
<avg_time_generation>0.138</avg_time_generation>
</row>
</result>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_year.xml
index 0d8b62b451..20075ee956 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_year.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageTitles_year.xml
@@ -112,17 +112,17 @@
<nb_hits_with_time_generation>2</nb_hits_with_time_generation>
<min_time_generation>0.123</min_time_generation>
<max_time_generation>0.153</max_time_generation>
- <entry_nb_visits>1</entry_nb_visits>
- <entry_nb_actions>1</entry_nb_actions>
+ <entry_nb_visits>2</entry_nb_visits>
+ <entry_nb_actions>2</entry_nb_actions>
<entry_sum_visit_length>0</entry_sum_visit_length>
- <entry_bounce_count>1</entry_bounce_count>
- <exit_nb_visits>1</exit_nb_visits>
+ <entry_bounce_count>2</entry_bounce_count>
+ <exit_nb_visits>2</exit_nb_visits>
<sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
- <sum_daily_entry_nb_uniq_visitors>1</sum_daily_entry_nb_uniq_visitors>
- <sum_daily_exit_nb_uniq_visitors>1</sum_daily_exit_nb_uniq_visitors>
+ <sum_daily_entry_nb_uniq_visitors>2</sum_daily_entry_nb_uniq_visitors>
+ <sum_daily_exit_nb_uniq_visitors>2</sum_daily_exit_nb_uniq_visitors>
<avg_time_on_page>0</avg_time_on_page>
<bounce_rate>100%</bounce_rate>
- <exit_rate>50%</exit_rate>
+ <exit_rate>100%</exit_rate>
<avg_time_generation>0.138</avg_time_generation>
</row>
<row>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_day.xml
index b5ee40f53b..8f4fdae7d0 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_day.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_day.xml
@@ -10,9 +10,16 @@
<nb_hits_with_time_generation>1</nb_hits_with_time_generation>
<min_time_generation>0.123</min_time_generation>
<max_time_generation>0.123</max_time_generation>
+ <entry_nb_uniq_visitors>1</entry_nb_uniq_visitors>
+ <entry_nb_visits>1</entry_nb_visits>
+ <entry_nb_actions>1</entry_nb_actions>
+ <entry_sum_visit_length>0</entry_sum_visit_length>
+ <entry_bounce_count>1</entry_bounce_count>
+ <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>
- <bounce_rate>0%</bounce_rate>
- <exit_rate>0%</exit_rate>
+ <bounce_rate>100%</bounce_rate>
+ <exit_rate>100%</exit_rate>
<avg_time_generation>0.123</avg_time_generation>
<url>http://example.org/index.htm</url>
</row>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_month.xml
index b12b6dbe6a..64f981e8cd 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_month.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_month.xml
@@ -9,15 +9,17 @@
<nb_hits_with_time_generation>9</nb_hits_with_time_generation>
<min_time_generation>0.123</min_time_generation>
<max_time_generation>0.323</max_time_generation>
- <sum_daily_nb_uniq_visitors>9</sum_daily_nb_uniq_visitors>
- <entry_nb_visits>8</entry_nb_visits>
- <entry_nb_actions>40</entry_nb_actions>
+ <entry_nb_visits>9</entry_nb_visits>
+ <entry_nb_actions>41</entry_nb_actions>
<entry_sum_visit_length>7208</entry_sum_visit_length>
- <entry_bounce_count>0</entry_bounce_count>
- <sum_daily_entry_nb_uniq_visitors>8</sum_daily_entry_nb_uniq_visitors>
+ <entry_bounce_count>1</entry_bounce_count>
+ <exit_nb_visits>1</exit_nb_visits>
+ <sum_daily_nb_uniq_visitors>9</sum_daily_nb_uniq_visitors>
+ <sum_daily_entry_nb_uniq_visitors>9</sum_daily_entry_nb_uniq_visitors>
+ <sum_daily_exit_nb_uniq_visitors>1</sum_daily_exit_nb_uniq_visitors>
<avg_time_on_page>320</avg_time_on_page>
- <bounce_rate>0%</bounce_rate>
- <exit_rate>0%</exit_rate>
+ <bounce_rate>11%</bounce_rate>
+ <exit_rate>11%</exit_rate>
<avg_time_generation>0.301</avg_time_generation>
<url>http://example.org/index.htm</url>
</row>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_week.xml
index 3227ff9c6a..4126d4ba0f 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_week.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_week.xml
@@ -9,10 +9,17 @@
<nb_hits_with_time_generation>1</nb_hits_with_time_generation>
<min_time_generation>0.123</min_time_generation>
<max_time_generation>0.123</max_time_generation>
+ <entry_nb_visits>1</entry_nb_visits>
+ <entry_nb_actions>1</entry_nb_actions>
+ <entry_sum_visit_length>0</entry_sum_visit_length>
+ <entry_bounce_count>1</entry_bounce_count>
+ <exit_nb_visits>1</exit_nb_visits>
<sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors>
+ <sum_daily_entry_nb_uniq_visitors>1</sum_daily_entry_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>
- <bounce_rate>0%</bounce_rate>
- <exit_rate>0%</exit_rate>
+ <bounce_rate>100%</bounce_rate>
+ <exit_rate>100%</exit_rate>
<avg_time_generation>0.123</avg_time_generation>
<url>http://example.org/index.htm</url>
</row>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_year.xml
index 071c0d3fa2..38d33953ca 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_year.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrl_year.xml
@@ -9,15 +9,17 @@
<nb_hits_with_time_generation>9</nb_hits_with_time_generation>
<min_time_generation>0.123</min_time_generation>
<max_time_generation>0.323</max_time_generation>
- <sum_daily_nb_uniq_visitors>9</sum_daily_nb_uniq_visitors>
- <entry_nb_visits>8</entry_nb_visits>
- <entry_nb_actions>40</entry_nb_actions>
+ <entry_nb_visits>9</entry_nb_visits>
+ <entry_nb_actions>41</entry_nb_actions>
<entry_sum_visit_length>7208</entry_sum_visit_length>
- <entry_bounce_count>0</entry_bounce_count>
- <sum_daily_entry_nb_uniq_visitors>8</sum_daily_entry_nb_uniq_visitors>
+ <entry_bounce_count>1</entry_bounce_count>
+ <exit_nb_visits>1</exit_nb_visits>
+ <sum_daily_nb_uniq_visitors>9</sum_daily_nb_uniq_visitors>
+ <sum_daily_entry_nb_uniq_visitors>9</sum_daily_entry_nb_uniq_visitors>
+ <sum_daily_exit_nb_uniq_visitors>1</sum_daily_exit_nb_uniq_visitors>
<avg_time_on_page>320</avg_time_on_page>
- <bounce_rate>0%</bounce_rate>
- <exit_rate>0%</exit_rate>
+ <bounce_rate>11%</bounce_rate>
+ <exit_rate>11%</exit_rate>
<avg_time_generation>0.301</avg_time_generation>
<url>http://example.org/index.htm</url>
</row>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_day.xml
index efb03f5be4..bb90dc73e3 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_day.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_day.xml
@@ -10,9 +10,16 @@
<nb_hits_with_time_generation>1</nb_hits_with_time_generation>
<min_time_generation>0.123</min_time_generation>
<max_time_generation>0.123</max_time_generation>
+ <entry_nb_uniq_visitors>1</entry_nb_uniq_visitors>
+ <entry_nb_visits>1</entry_nb_visits>
+ <entry_nb_actions>1</entry_nb_actions>
+ <entry_sum_visit_length>0</entry_sum_visit_length>
+ <entry_bounce_count>1</entry_bounce_count>
+ <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>
- <bounce_rate>0%</bounce_rate>
- <exit_rate>0%</exit_rate>
+ <bounce_rate>100%</bounce_rate>
+ <exit_rate>100%</exit_rate>
<avg_time_generation>0.123</avg_time_generation>
<url>http://example.org/index.htm</url>
</row>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_month.xml
index 56e3fc8c35..6442655663 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_month.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_month.xml
@@ -9,15 +9,17 @@
<nb_hits_with_time_generation>9</nb_hits_with_time_generation>
<min_time_generation>0.123</min_time_generation>
<max_time_generation>0.323</max_time_generation>
- <sum_daily_nb_uniq_visitors>9</sum_daily_nb_uniq_visitors>
- <entry_nb_visits>8</entry_nb_visits>
- <entry_nb_actions>40</entry_nb_actions>
+ <entry_nb_visits>9</entry_nb_visits>
+ <entry_nb_actions>41</entry_nb_actions>
<entry_sum_visit_length>7208</entry_sum_visit_length>
- <entry_bounce_count>0</entry_bounce_count>
- <sum_daily_entry_nb_uniq_visitors>8</sum_daily_entry_nb_uniq_visitors>
+ <entry_bounce_count>1</entry_bounce_count>
+ <exit_nb_visits>1</exit_nb_visits>
+ <sum_daily_nb_uniq_visitors>9</sum_daily_nb_uniq_visitors>
+ <sum_daily_entry_nb_uniq_visitors>9</sum_daily_entry_nb_uniq_visitors>
+ <sum_daily_exit_nb_uniq_visitors>1</sum_daily_exit_nb_uniq_visitors>
<avg_time_on_page>320</avg_time_on_page>
- <bounce_rate>0%</bounce_rate>
- <exit_rate>0%</exit_rate>
+ <bounce_rate>11%</bounce_rate>
+ <exit_rate>11%</exit_rate>
<avg_time_generation>0.301</avg_time_generation>
<url>http://example.org/index.htm</url>
</row>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_week.xml
index 7d086860eb..0eb61980dc 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_week.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_week.xml
@@ -9,10 +9,17 @@
<nb_hits_with_time_generation>1</nb_hits_with_time_generation>
<min_time_generation>0.123</min_time_generation>
<max_time_generation>0.123</max_time_generation>
+ <entry_nb_visits>1</entry_nb_visits>
+ <entry_nb_actions>1</entry_nb_actions>
+ <entry_sum_visit_length>0</entry_sum_visit_length>
+ <entry_bounce_count>1</entry_bounce_count>
+ <exit_nb_visits>1</exit_nb_visits>
<sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors>
+ <sum_daily_entry_nb_uniq_visitors>1</sum_daily_entry_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>
- <bounce_rate>0%</bounce_rate>
- <exit_rate>0%</exit_rate>
+ <bounce_rate>100%</bounce_rate>
+ <exit_rate>100%</exit_rate>
<avg_time_generation>0.123</avg_time_generation>
<url>http://example.org/index.htm</url>
</row>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_year.xml
index 284466a853..d08ec4f3b7 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_year.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Actions.getPageUrls_year.xml
@@ -9,15 +9,17 @@
<nb_hits_with_time_generation>9</nb_hits_with_time_generation>
<min_time_generation>0.123</min_time_generation>
<max_time_generation>0.323</max_time_generation>
- <sum_daily_nb_uniq_visitors>9</sum_daily_nb_uniq_visitors>
- <entry_nb_visits>8</entry_nb_visits>
- <entry_nb_actions>40</entry_nb_actions>
+ <entry_nb_visits>9</entry_nb_visits>
+ <entry_nb_actions>41</entry_nb_actions>
<entry_sum_visit_length>7208</entry_sum_visit_length>
- <entry_bounce_count>0</entry_bounce_count>
- <sum_daily_entry_nb_uniq_visitors>8</sum_daily_entry_nb_uniq_visitors>
+ <entry_bounce_count>1</entry_bounce_count>
+ <exit_nb_visits>1</exit_nb_visits>
+ <sum_daily_nb_uniq_visitors>9</sum_daily_nb_uniq_visitors>
+ <sum_daily_entry_nb_uniq_visitors>9</sum_daily_entry_nb_uniq_visitors>
+ <sum_daily_exit_nb_uniq_visitors>1</sum_daily_exit_nb_uniq_visitors>
<avg_time_on_page>320</avg_time_on_page>
- <bounce_rate>0%</bounce_rate>
- <exit_rate>0%</exit_rate>
+ <bounce_rate>11%</bounce_rate>
+ <exit_rate>11%</exit_rate>
<avg_time_generation>0.301</avg_time_generation>
<url>http://example.org/index.htm</url>
</row>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Referrers.getWebsites_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Referrers.getWebsites_day.xml
index 26f579966b..4f98f9bdd0 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Referrers.getWebsites_day.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Referrers.getWebsites_day.xml
@@ -1,27 +1,52 @@
<?xml version="1.0" encoding="utf-8" ?>
<results>
- <result date="2010-01-03" />
+ <result date="2010-01-03">
+ <row>
+ <label>referrer.com</label>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ <nb_users>0</nb_users>
+ <max_actions>1</max_actions>
+ <sum_visit_length>0</sum_visit_length>
+ <bounce_count>1</bounce_count>
+ <nb_visits_converted>0</nb_visits_converted>
+ <subtable>
+ <row>
+ <label>http://referrer.com/page.htm?param=valuewith some spaces</label>
+ <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ <nb_users>0</nb_users>
+ <max_actions>1</max_actions>
+ <sum_visit_length>0</sum_visit_length>
+ <bounce_count>1</bounce_count>
+ <nb_visits_converted>0</nb_visits_converted>
+ </row>
+ </subtable>
+ </row>
+ </result>
<result date="2010-01-04">
<row>
<label>referrer.com</label>
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_visits>1</nb_visits>
- <nb_actions>2</nb_actions>
+ <nb_actions>1</nb_actions>
<nb_users>0</nb_users>
- <max_actions>2</max_actions>
- <sum_visit_length>361</sum_visit_length>
- <bounce_count>0</bounce_count>
+ <max_actions>1</max_actions>
+ <sum_visit_length>0</sum_visit_length>
+ <bounce_count>1</bounce_count>
<nb_visits_converted>0</nb_visits_converted>
<subtable>
<row>
<label>http://referrer.com/page.htm?param=valuewith some spaces</label>
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_visits>1</nb_visits>
- <nb_actions>2</nb_actions>
+ <nb_actions>1</nb_actions>
<nb_users>0</nb_users>
- <max_actions>2</max_actions>
- <sum_visit_length>361</sum_visit_length>
- <bounce_count>0</bounce_count>
+ <max_actions>1</max_actions>
+ <sum_visit_length>0</sum_visit_length>
+ <bounce_count>1</bounce_count>
<nb_visits_converted>0</nb_visits_converted>
</row>
</subtable>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Referrers.getWebsites_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Referrers.getWebsites_month.xml
index d84b27e20b..14ec451e90 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Referrers.getWebsites_month.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Referrers.getWebsites_month.xml
@@ -3,13 +3,13 @@
<result date="2010-01">
<row>
<label>referrer.com</label>
- <nb_visits>5</nb_visits>
+ <nb_visits>6</nb_visits>
<nb_actions>22</nb_actions>
<max_actions>5</max_actions>
- <sum_visit_length>3965</sum_visit_length>
- <bounce_count>0</bounce_count>
+ <sum_visit_length>3604</sum_visit_length>
+ <bounce_count>2</bounce_count>
<nb_visits_converted>0</nb_visits_converted>
- <sum_daily_nb_uniq_visitors>5</sum_daily_nb_uniq_visitors>
+ <sum_daily_nb_uniq_visitors>6</sum_daily_nb_uniq_visitors>
<sum_daily_nb_users>0</sum_daily_nb_users>
<subtable>
<row>
@@ -25,13 +25,13 @@
</row>
<row>
<label>http://referrer.com/page.htm?param=valuewith some spaces</label>
- <nb_visits>1</nb_visits>
+ <nb_visits>2</nb_visits>
<nb_actions>2</nb_actions>
- <max_actions>2</max_actions>
- <sum_visit_length>361</sum_visit_length>
- <bounce_count>0</bounce_count>
+ <max_actions>1</max_actions>
+ <sum_visit_length>0</sum_visit_length>
+ <bounce_count>2</bounce_count>
<nb_visits_converted>0</nb_visits_converted>
- <sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors>
+ <sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
<sum_daily_nb_users>0</sum_daily_nb_users>
</row>
</subtable>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Referrers.getWebsites_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Referrers.getWebsites_week.xml
index 808baafb9a..7da13caaa0 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Referrers.getWebsites_week.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Referrers.getWebsites_week.xml
@@ -1,14 +1,39 @@
<?xml version="1.0" encoding="utf-8" ?>
<results>
- <result date="From 2009-12-28 to 2010-01-03" />
+ <result date="From 2009-12-28 to 2010-01-03">
+ <row>
+ <label>referrer.com</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ <max_actions>1</max_actions>
+ <sum_visit_length>0</sum_visit_length>
+ <bounce_count>1</bounce_count>
+ <nb_visits_converted>0</nb_visits_converted>
+ <sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors>
+ <sum_daily_nb_users>0</sum_daily_nb_users>
+ <subtable>
+ <row>
+ <label>http://referrer.com/page.htm?param=valuewith some spaces</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ <max_actions>1</max_actions>
+ <sum_visit_length>0</sum_visit_length>
+ <bounce_count>1</bounce_count>
+ <nb_visits_converted>0</nb_visits_converted>
+ <sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors>
+ <sum_daily_nb_users>0</sum_daily_nb_users>
+ </row>
+ </subtable>
+ </row>
+ </result>
<result date="From 2010-01-04 to 2010-01-10">
<row>
<label>referrer.com</label>
<nb_visits>4</nb_visits>
- <nb_actions>17</nb_actions>
+ <nb_actions>16</nb_actions>
<max_actions>5</max_actions>
- <sum_visit_length>3064</sum_visit_length>
- <bounce_count>0</bounce_count>
+ <sum_visit_length>2703</sum_visit_length>
+ <bounce_count>1</bounce_count>
<nb_visits_converted>0</nb_visits_converted>
<sum_daily_nb_uniq_visitors>4</sum_daily_nb_uniq_visitors>
<sum_daily_nb_users>0</sum_daily_nb_users>
@@ -27,10 +52,10 @@
<row>
<label>http://referrer.com/page.htm?param=valuewith some spaces</label>
<nb_visits>1</nb_visits>
- <nb_actions>2</nb_actions>
- <max_actions>2</max_actions>
- <sum_visit_length>361</sum_visit_length>
- <bounce_count>0</bounce_count>
+ <nb_actions>1</nb_actions>
+ <max_actions>1</max_actions>
+ <sum_visit_length>0</sum_visit_length>
+ <bounce_count>1</bounce_count>
<nb_visits_converted>0</nb_visits_converted>
<sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors>
<sum_daily_nb_users>0</sum_daily_nb_users>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Referrers.getWebsites_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Referrers.getWebsites_year.xml
index 09f596aa7b..9c836d9cd0 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Referrers.getWebsites_year.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___Referrers.getWebsites_year.xml
@@ -3,13 +3,13 @@
<result date="2010">
<row>
<label>referrer.com</label>
- <nb_visits>5</nb_visits>
+ <nb_visits>6</nb_visits>
<nb_actions>22</nb_actions>
<max_actions>5</max_actions>
- <sum_visit_length>3965</sum_visit_length>
- <bounce_count>0</bounce_count>
+ <sum_visit_length>3604</sum_visit_length>
+ <bounce_count>2</bounce_count>
<nb_visits_converted>0</nb_visits_converted>
- <sum_daily_nb_uniq_visitors>5</sum_daily_nb_uniq_visitors>
+ <sum_daily_nb_uniq_visitors>6</sum_daily_nb_uniq_visitors>
<sum_daily_nb_users>0</sum_daily_nb_users>
<subtable>
<row>
@@ -25,13 +25,13 @@
</row>
<row>
<label>http://referrer.com/page.htm?param=valuewith some spaces</label>
- <nb_visits>1</nb_visits>
+ <nb_visits>2</nb_visits>
<nb_actions>2</nb_actions>
- <max_actions>2</max_actions>
- <sum_visit_length>361</sum_visit_length>
- <bounce_count>0</bounce_count>
+ <max_actions>1</max_actions>
+ <sum_visit_length>0</sum_visit_length>
+ <bounce_count>2</bounce_count>
<nb_visits_converted>0</nb_visits_converted>
- <sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors>
+ <sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
<sum_daily_nb_users>0</sum_daily_nb_users>
</row>
</subtable>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_day.xml
index f760097ff0..a3b880a884 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_day.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_day.xml
@@ -1,7 +1,19 @@
<?xml version="1.0" encoding="utf-8" ?>
<results>
<result date="2010-01-03" />
- <result date="2010-01-04" />
+ <result date="2010-01-04">
+ <nb_uniq_visitors_returning>1</nb_uniq_visitors_returning>
+ <nb_users_returning>0</nb_users_returning>
+ <nb_visits_returning>1</nb_visits_returning>
+ <nb_actions_returning>1</nb_actions_returning>
+ <nb_visits_converted_returning>0</nb_visits_converted_returning>
+ <bounce_count_returning>1</bounce_count_returning>
+ <sum_visit_length_returning>0</sum_visit_length_returning>
+ <max_actions_returning>1</max_actions_returning>
+ <bounce_rate_returning>100%</bounce_rate_returning>
+ <nb_actions_per_visit_returning>1</nb_actions_per_visit_returning>
+ <avg_time_on_site_returning>0</avg_time_on_site_returning>
+ </result>
<result date="2010-01-05">
<nb_uniq_visitors_returning>1</nb_uniq_visitors_returning>
<nb_users_returning>0</nb_users_returning>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_month.xml
index ddce4b63c9..2cc7acdb90 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_month.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_month.xml
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="utf-8" ?>
<results>
<result date="2010-01">
- <nb_uniq_visitors_returning>1</nb_uniq_visitors_returning>
+ <nb_uniq_visitors_returning>2</nb_uniq_visitors_returning>
<nb_users_returning>0</nb_users_returning>
- <nb_visits_returning>8</nb_visits_returning>
- <nb_actions_returning>40</nb_actions_returning>
+ <nb_visits_returning>9</nb_visits_returning>
+ <nb_actions_returning>41</nb_actions_returning>
<nb_visits_converted_returning>0</nb_visits_converted_returning>
- <bounce_count_returning>0</bounce_count_returning>
+ <bounce_count_returning>1</bounce_count_returning>
<sum_visit_length_returning>7208</sum_visit_length_returning>
<max_actions_returning>5</max_actions_returning>
- <bounce_rate_returning>0%</bounce_rate_returning>
- <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning>
- <avg_time_on_site_returning>901</avg_time_on_site_returning>
+ <bounce_rate_returning>11%</bounce_rate_returning>
+ <nb_actions_per_visit_returning>4.6</nb_actions_per_visit_returning>
+ <avg_time_on_site_returning>801</avg_time_on_site_returning>
</result>
<result date="2010-02" />
<result date="2010-03" />
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_week.xml
index d44fe0f184..ac109df88c 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_week.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_week.xml
@@ -2,17 +2,17 @@
<results>
<result date="From 2009-12-28 to 2010-01-03" />
<result date="From 2010-01-04 to 2010-01-10">
- <nb_uniq_visitors_returning>1</nb_uniq_visitors_returning>
+ <nb_uniq_visitors_returning>2</nb_uniq_visitors_returning>
<nb_users_returning>0</nb_users_returning>
- <nb_visits_returning>6</nb_visits_returning>
- <nb_actions_returning>30</nb_actions_returning>
+ <nb_visits_returning>7</nb_visits_returning>
+ <nb_actions_returning>31</nb_actions_returning>
<nb_visits_converted_returning>0</nb_visits_converted_returning>
- <bounce_count_returning>0</bounce_count_returning>
+ <bounce_count_returning>1</bounce_count_returning>
<sum_visit_length_returning>5406</sum_visit_length_returning>
<max_actions_returning>5</max_actions_returning>
- <bounce_rate_returning>0%</bounce_rate_returning>
- <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning>
- <avg_time_on_site_returning>901</avg_time_on_site_returning>
+ <bounce_rate_returning>14%</bounce_rate_returning>
+ <nb_actions_per_visit_returning>4.4</nb_actions_per_visit_returning>
+ <avg_time_on_site_returning>772</avg_time_on_site_returning>
</result>
<result date="From 2010-01-11 to 2010-01-17">
<nb_uniq_visitors_returning>1</nb_uniq_visitors_returning>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_year.xml
index a7e7659d80..c8ec57d870 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_year.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitFrequency.get_year.xml
@@ -1,15 +1,15 @@
<?xml version="1.0" encoding="utf-8" ?>
<results>
<result date="2010">
- <nb_visits_returning>8</nb_visits_returning>
- <nb_actions_returning>40</nb_actions_returning>
+ <nb_visits_returning>9</nb_visits_returning>
+ <nb_actions_returning>41</nb_actions_returning>
<nb_visits_converted_returning>0</nb_visits_converted_returning>
- <bounce_count_returning>0</bounce_count_returning>
+ <bounce_count_returning>1</bounce_count_returning>
<sum_visit_length_returning>7208</sum_visit_length_returning>
<max_actions_returning>5</max_actions_returning>
- <bounce_rate_returning>0%</bounce_rate_returning>
- <nb_actions_per_visit_returning>5</nb_actions_per_visit_returning>
- <avg_time_on_site_returning>901</avg_time_on_site_returning>
+ <bounce_rate_returning>11%</bounce_rate_returning>
+ <nb_actions_per_visit_returning>4.6</nb_actions_per_visit_returning>
+ <avg_time_on_site_returning>801</avg_time_on_site_returning>
</result>
<result date="2011" />
<result date="2012" />
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitorInterest.getNumberOfVisitsByDaysSinceLast_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitorInterest.getNumberOfVisitsByDaysSinceLast_day.xml
index c5d48206a0..6cea847885 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitorInterest.getNumberOfVisitsByDaysSinceLast_day.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitorInterest.getNumberOfVisitsByDaysSinceLast_day.xml
@@ -3,7 +3,7 @@
<result date="2010-01-03">
<row>
<label>New visits</label>
- <nb_visits>1</nb_visits>
+ <nb_visits>2</nb_visits>
</row>
<row>
<label>0 days</label>
@@ -65,11 +65,11 @@
<result date="2010-01-04">
<row>
<label>New visits</label>
- <nb_visits>1</nb_visits>
+ <nb_visits>0</nb_visits>
</row>
<row>
<label>0 days</label>
- <nb_visits>0</nb_visits>
+ <nb_visits>1</nb_visits>
</row>
<row>
<label>1 day</label>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitorInterest.getNumberOfVisitsByDaysSinceLast_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitorInterest.getNumberOfVisitsByDaysSinceLast_month.xml
index 617d79b103..1b7c0dccfe 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitorInterest.getNumberOfVisitsByDaysSinceLast_month.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitorInterest.getNumberOfVisitsByDaysSinceLast_month.xml
@@ -7,7 +7,7 @@
</row>
<row>
<label>0 days</label>
- <nb_visits>0</nb_visits>
+ <nb_visits>1</nb_visits>
</row>
<row>
<label>1 day</label>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitorInterest.getNumberOfVisitsByDaysSinceLast_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitorInterest.getNumberOfVisitsByDaysSinceLast_week.xml
index d657c3bad5..ccb87b955c 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitorInterest.getNumberOfVisitsByDaysSinceLast_week.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitorInterest.getNumberOfVisitsByDaysSinceLast_week.xml
@@ -3,7 +3,7 @@
<result date="From 2009-12-28 to 2010-01-03">
<row>
<label>New visits</label>
- <nb_visits>1</nb_visits>
+ <nb_visits>2</nb_visits>
</row>
<row>
<label>0 days</label>
@@ -65,11 +65,11 @@
<result date="From 2010-01-04 to 2010-01-10">
<row>
<label>New visits</label>
- <nb_visits>1</nb_visits>
+ <nb_visits>0</nb_visits>
</row>
<row>
<label>0 days</label>
- <nb_visits>0</nb_visits>
+ <nb_visits>1</nb_visits>
</row>
<row>
<label>1 day</label>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitorInterest.getNumberOfVisitsByDaysSinceLast_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitorInterest.getNumberOfVisitsByDaysSinceLast_year.xml
index 491a6fce6e..0611694756 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitorInterest.getNumberOfVisitsByDaysSinceLast_year.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitorInterest.getNumberOfVisitsByDaysSinceLast_year.xml
@@ -7,7 +7,7 @@
</row>
<row>
<label>0 days</label>
- <nb_visits>0</nb_visits>
+ <nb_visits>1</nb_visits>
</row>
<row>
<label>1 day</label>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_day.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_day.xml
index 057ccb1b63..d9dcb4da51 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_day.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_day.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="utf-8" ?>
<results>
<result date="2010-01-03">
- <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
<nb_users>0</nb_users>
- <nb_visits>1</nb_visits>
- <nb_actions>1</nb_actions>
+ <nb_visits>2</nb_visits>
+ <nb_actions>2</nb_actions>
<nb_visits_converted>0</nb_visits_converted>
- <bounce_count>1</bounce_count>
+ <bounce_count>2</bounce_count>
<sum_visit_length>0</sum_visit_length>
<max_actions>1</max_actions>
<bounce_rate>100%</bounce_rate>
@@ -17,14 +17,14 @@
<nb_uniq_visitors>1</nb_uniq_visitors>
<nb_users>0</nb_users>
<nb_visits>1</nb_visits>
- <nb_actions>2</nb_actions>
+ <nb_actions>1</nb_actions>
<nb_visits_converted>0</nb_visits_converted>
- <bounce_count>0</bounce_count>
- <sum_visit_length>361</sum_visit_length>
- <max_actions>2</max_actions>
- <bounce_rate>0%</bounce_rate>
- <nb_actions_per_visit>2</nb_actions_per_visit>
- <avg_time_on_site>361</avg_time_on_site>
+ <bounce_count>1</bounce_count>
+ <sum_visit_length>0</sum_visit_length>
+ <max_actions>1</max_actions>
+ <bounce_rate>100%</bounce_rate>
+ <nb_actions_per_visit>1</nb_actions_per_visit>
+ <avg_time_on_site>0</avg_time_on_site>
</result>
<result date="2010-01-05">
<nb_uniq_visitors>1</nb_uniq_visitors>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_month.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_month.xml
index 30c69614b1..4d3952de6d 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_month.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_month.xml
@@ -3,15 +3,15 @@
<result date="2010-01">
<nb_uniq_visitors>2</nb_uniq_visitors>
<nb_users>0</nb_users>
- <nb_visits>10</nb_visits>
+ <nb_visits>11</nb_visits>
<nb_actions>43</nb_actions>
<nb_visits_converted>0</nb_visits_converted>
- <bounce_count>1</bounce_count>
- <sum_visit_length>7569</sum_visit_length>
+ <bounce_count>3</bounce_count>
+ <sum_visit_length>7208</sum_visit_length>
<max_actions>5</max_actions>
- <bounce_rate>10%</bounce_rate>
- <nb_actions_per_visit>4.3</nb_actions_per_visit>
- <avg_time_on_site>757</avg_time_on_site>
+ <bounce_rate>27%</bounce_rate>
+ <nb_actions_per_visit>3.9</nb_actions_per_visit>
+ <avg_time_on_site>655</avg_time_on_site>
</result>
<result date="2010-02" />
<result date="2010-03" />
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_week.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_week.xml
index bb7f2a5509..373cf49902 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_week.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_week.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="utf-8" ?>
<results>
<result date="From 2009-12-28 to 2010-01-03">
- <nb_uniq_visitors>1</nb_uniq_visitors>
+ <nb_uniq_visitors>2</nb_uniq_visitors>
<nb_users>0</nb_users>
- <nb_visits>1</nb_visits>
- <nb_actions>1</nb_actions>
+ <nb_visits>2</nb_visits>
+ <nb_actions>2</nb_actions>
<nb_visits_converted>0</nb_visits_converted>
- <bounce_count>1</bounce_count>
+ <bounce_count>2</bounce_count>
<sum_visit_length>0</sum_visit_length>
<max_actions>1</max_actions>
<bounce_rate>100%</bounce_rate>
@@ -17,14 +17,14 @@
<nb_uniq_visitors>2</nb_uniq_visitors>
<nb_users>0</nb_users>
<nb_visits>7</nb_visits>
- <nb_actions>32</nb_actions>
+ <nb_actions>31</nb_actions>
<nb_visits_converted>0</nb_visits_converted>
- <bounce_count>0</bounce_count>
- <sum_visit_length>5767</sum_visit_length>
+ <bounce_count>1</bounce_count>
+ <sum_visit_length>5406</sum_visit_length>
<max_actions>5</max_actions>
- <bounce_rate>0%</bounce_rate>
- <nb_actions_per_visit>4.6</nb_actions_per_visit>
- <avg_time_on_site>824</avg_time_on_site>
+ <bounce_rate>14%</bounce_rate>
+ <nb_actions_per_visit>4.4</nb_actions_per_visit>
+ <avg_time_on_site>772</avg_time_on_site>
</result>
<result date="From 2010-01-11 to 2010-01-17">
<nb_uniq_visitors>1</nb_uniq_visitors>
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_year.xml b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_year.xml
index 10e5329cb6..d0ed0b7b25 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_year.xml
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_idSiteOne___VisitsSummary.get_year.xml
@@ -1,15 +1,15 @@
<?xml version="1.0" encoding="utf-8" ?>
<results>
<result date="2010">
- <nb_visits>10</nb_visits>
+ <nb_visits>11</nb_visits>
<nb_actions>43</nb_actions>
<nb_visits_converted>0</nb_visits_converted>
- <bounce_count>1</bounce_count>
- <sum_visit_length>7569</sum_visit_length>
+ <bounce_count>3</bounce_count>
+ <sum_visit_length>7208</sum_visit_length>
<max_actions>5</max_actions>
- <bounce_rate>10%</bounce_rate>
- <nb_actions_per_visit>4.3</nb_actions_per_visit>
- <avg_time_on_site>757</avg_time_on_site>
+ <bounce_rate>27%</bounce_rate>
+ <nb_actions_per_visit>3.9</nb_actions_per_visit>
+ <avg_time_on_site>655</avg_time_on_site>
</result>
<result date="2011" />
<result date="2012" />
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv
index 18ea02d6f8..88350c305f 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv
@@ -1,15 +1,15 @@
All Websites dashboard
label,nb_visits,nb_actions,nb_pageviews,revenue,nb_conversions,visits_evolution,actions_evolution,pageviews_evolution,revenue_evolution,nb_conversions_evolution,orders,ecommerce_revenue,orders_evolution,ecommerce_revenue_evolution
-Site 1,10,43,43,$ 0,0,100%,100%,100%,0%,0%,0,$ 0,0,0
+Site 1,11,43,43,$ 0,0,100%,100%,100%,0%,0%,0,$ 0,0,0
Site 2,1,3,3,$ 0,0,100%,100%,100%,0%,0%,0,$ 0,0,0
Visits Summary
nb_uniq_visitors,nb_users,nb_visits,nb_actions,max_actions,nb_actions_per_visit,avg_time_on_site,bounce_rate
-2,0,10,43,5,4.3,00:12:37,10%
+2,0,11,43,5,3.9,00:10:55,27%
Visits by Server Time
label,nb_visits,nb_actions,nb_actions_per_visit,avg_time_on_site,bounce_rate,revenue
-0h,1,2,2,00:06:01,0%,$ 0
+0h,1,1,1,00:00:00,100%,$ 0
1h,0,0,0,00:00:00,0%,$ 0
2h,0,0,0,00:00:00,0%,$ 0
3h,0,0,0,00:00:00,0%,$ 0
@@ -32,7 +32,7 @@ label,nb_visits,nb_actions,nb_actions_per_visit,avg_time_on_site,bounce_rate,rev
20h,0,0,0,00:00:00,0%,$ 0
21h,0,0,0,00:00:00,0%,$ 0
22h,0,0,0,00:00:00,0%,$ 0
-23h,0,0,0,00:00:00,0%,$ 0
+23h,1,1,1,00:00:00,100%,$ 0
Visits by Local Time
label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate
@@ -48,7 +48,7 @@ label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site
9h,0,0,0%,0,00:00:00,0%
10h,0,0,0%,0,00:00:00,0%
11h,0,0,0%,0,00:00:00,0%
-12h,10,43,0%,4.3,00:12:37,10%
+12h,11,43,0%,3.9,00:10:55,27%
13h,0,0,0%,0,00:00:00,0%
14h,0,0,0%,0,00:00:00,0%
15h,0,0,0%,0,00:00:00,0%
@@ -63,24 +63,24 @@ label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site
Visits by Day of Week
label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate
-Monday,2,7,0%,3.5,00:10:31,0%
+Monday,2,6,0%,3,00:07:31,50%
Tuesday,2,10,0%,5,00:15:01,0%
Wednesday,1,5,0%,5,00:15:01,0%
Thursday,1,5,0%,5,00:15:01,0%
Friday,1,5,0%,5,00:15:01,0%
Saturday,1,5,0%,5,00:15:01,0%
-Sunday,2,6,0%,3,00:07:31,50%
+Sunday,3,7,0%,2.3,00:05:00,67%
Screen Resolution
label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate
800x300,9,41,0%,4.6,00:13:21,11%
-1024x768,1,2,0%,2,00:06:01,0%
+1024x768,2,2,0%,1,00:00:00,100%
Browser Plugins
label,nb_visits,nb_visits_percentage
-Cookie,10,100%
-Flash,10,100%
-Java,10,100%
+Cookie,11,100%
+Flash,11,100%
+Java,11,100%
Director,0,0%
Gears,0,0%
Pdf,0,0%
@@ -92,18 +92,18 @@ Windowsmedia,0,0%
Visitor Configuration
label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate
Unknown / Unknown / 800x300,8,40,0%,5,00:15:01,0%
-Windows XP / Firefox / 1024x768,1,2,0%,2,00:06:01,0%
+Windows XP / Firefox / 1024x768,2,2,0%,1,00:00:00,100%
Windows XP / Opera / 800x300,1,1,0%,1,00:00:00,100%
Browser language
label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate
Unknown,8,40,0%,5,00:15:01,0%
-French,2,3,0%,1.5,00:03:01,50%
+French,3,3,0%,1,00:00:00,100%
Language code
label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate
Unknown (xx),8,40,0%,5,00:15:01,0%
-French (fr),2,3,0%,1.5,00:03:01,50%
+French (fr),3,3,0%,1,00:00:00,100%
Actions - Main metrics
nb_pageviews,nb_uniq_pageviews,nb_downloads,nb_uniq_downloads,nb_outlinks,nb_uniq_outlinks,nb_searches,nb_keywords,avg_time_generation
@@ -111,18 +111,19 @@ nb_pageviews,nb_uniq_pageviews,nb_downloads,nb_uniq_downloads,nb_outlinks,nb_uni
Page URLs
label,nb_visits,nb_hits,bounce_rate,avg_time_on_page,exit_rate,avg_time_generation
-/index.htm,9,9,0%,00:05:20,0%,0.3s
+/index.htm,9,9,11%,00:05:20,11%,0.3s
Page URL not defined,9,17,0%,00:00:00,0%,0.22s
/thankyou,8,16,0%,00:06:00,100%,0.31s
/products,1,1,100%,00:00:00,100%,0.15s
Entry pages
label,entry_nb_visits,entry_bounce_count,bounce_rate,avg_time_generation
-/index.htm,8,0,0%,0.3s
+/index.htm,9,1,11%,0.3s
/products,1,1,100%,0.15s
Exit pages
label,nb_visits,exit_nb_visits,exit_rate,avg_time_generation
+/index.htm,9,1,11%,0.3s
/thankyou,8,8,100%,0.31s
/products,1,1,100%,0.15s
@@ -130,18 +131,18 @@ Page titles
label,nb_visits,nb_hits,bounce_rate,avg_time_on_page,exit_rate,avg_time_generation
second visitor,16,16,0%,00:07:30,0%,0.25s
Checkout,8,8,0%,00:00:00,100%,0.45s
- first page view,2,2,100%,00:00:00,50%,0.14s
+ first page view,2,2,100%,00:00:00,100%,0.14s
Page Name not defined,1,1,0%,00:00:00,0%,0.22s
Entry page titles
label,entry_nb_visits,entry_bounce_count,bounce_rate,avg_time_generation
second visitor,8,0,0%,0.25s
- first page view,1,1,100%,0.14s
+ first page view,2,2,100%,0.14s
Exit page titles
label,nb_visits,exit_nb_visits,exit_rate,avg_time_generation
Checkout,8,8,100%,0.45s
- first page view,2,1,50%,0.14s
+ first page view,2,2,100%,0.14s
Outlinks
No data available
@@ -181,21 +182,21 @@ No data available
Referrer Type
label,nb_visits,nb_actions,nb_actions_per_visit,avg_time_on_site,bounce_rate,revenue
-Websites,5,22,4.4,00:13:13,0%,$ 0
+Websites,6,22,3.7,00:10:01,33%,$ 0
Campaigns,4,20,5,00:15:01,0%,$ 0
Direct Entry,1,1,1,00:00:00,100%,$ 0
All Referrers
label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate
goal-matching-url-parameter,4,20,0%,5,00:15:01,0%
-referrer.com,5,22,0%,4.4,00:13:13,0%
+referrer.com,6,22,0%,3.7,00:10:01,33%
Keywords
No data available
Websites
label,nb_visits,nb_actions,nb_actions_per_visit,avg_time_on_site,bounce_rate,revenue
-referrer.com,5,22,4.4,00:13:13,0%,$ 0
+referrer.com,6,22,3.7,00:10:01,33%,$ 0
Search Engines
No data available
@@ -220,32 +221,32 @@ No data available
Country
label,nb_visits,nb_actions,nb_actions_per_visit,avg_time_on_site,bounce_rate,revenue
Unknown,9,41,4.6,00:13:21,11%,$ 0
-France,1,2,2,00:06:01,0%,$ 0
+France,2,2,1,00:00:00,100%,$ 0
Continent
label,nb_visits,nb_actions,nb_actions_per_visit,avg_time_on_site,bounce_rate,revenue
Unknown,9,41,4.6,00:13:21,11%,$ 0
-Europe,1,2,2,00:06:01,0%,$ 0
+Europe,2,2,1,00:00:00,100%,$ 0
Region
label,nb_visits,nb_actions,nb_actions_per_visit,avg_time_on_site,bounce_rate,revenue
-Unknown,10,43,4.3,00:12:37,10%,$ 0
+Unknown,11,43,3.9,00:10:55,27%,$ 0
City
label,nb_visits,nb_actions,nb_actions_per_visit,avg_time_on_site,bounce_rate,revenue
-Unknown,10,43,4.3,00:12:37,10%,$ 0
+Unknown,11,43,3.9,00:10:55,27%,$ 0
Custom Variables
No data available
Length of Visits
label,nb_visits
-0-10s,1
+0-10s,3
11-30s,0
31-60s,0
1-2 min,0
2-4 min,0
-4-7 min,1
+4-7 min,0
7-10 min,0
10-15 min,0
15-30 min,8
@@ -253,8 +254,8 @@ label,nb_visits
Pages per Visit
label,nb_visits
-1 page,1
-2 pages,1
+1 page,3
+2 pages,0
3 pages,0
4 pages,0
5 pages,8
@@ -266,8 +267,8 @@ label,nb_visits
Visits by Visit Number
label,nb_visits,nb_visits_percentage
-1 visit,2,20%
-2 visits,8,80%
+1 visit,3,27%
+2 visits,8,73%
3 visits,0,0%
4 visits,0,0%
5 visits,0,0%
@@ -284,7 +285,7 @@ label,nb_visits,nb_visits_percentage
Visits by days since last visit
label,nb_visits
New visits,2
-0 days,0
+0 days,1
1 day,0
2 days,1
3 days,1
@@ -301,50 +302,50 @@ New visits,2
Returning Visits
nb_uniq_visitors_returning,nb_users_returning,nb_visits_returning,nb_actions_returning,max_actions_returning,bounce_rate_returning,nb_actions_per_visit_returning,avg_time_on_site_returning
-1,0,8,40,5,0%,5,00:15:01
+2,0,9,41,5,11%,4.6,00:13:21
Provider
label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate
-Unknown,10,43,0%,4.3,00:12:37,10%
+Unknown,11,43,0%,3.9,00:10:55,27%
Device type
label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate
Unknown,8,40,0%,5,00:15:01,0%
-Desktop,2,3,0%,1.5,00:03:01,50%
+Desktop,3,3,0%,1,00:00:00,100%
Visitor Browser
label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate
Unknown,8,40,0%,5,00:15:01,0%
-Firefox,1,2,0%,2,00:06:01,0%
+Firefox,2,2,0%,1,00:00:00,100%
Opera,1,1,0%,1,00:00:00,100%
Device brand
label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate
-Unknown,10,43,0%,4.3,00:12:37,10%
+Unknown,11,43,0%,3.9,00:10:55,27%
Device model
label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate
-Unknown,10,43,0%,4.3,00:12:37,10%
+Unknown,11,43,0%,3.9,00:10:55,27%
Browser version
label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate
Unknown,8,40,0%,5,00:15:01,0%
-Firefox 3.6,1,2,0%,2,00:06:01,0%
+Firefox 3.6,2,2,0%,1,00:00:00,100%
Opera 9.63,1,1,0%,1,00:00:00,100%
Operating System families
label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate
Unknown,8,40,0%,5,00:15:01,0%
-Windows,2,3,0%,1.5,00:03:01,50%
+Windows,3,3,0%,1,00:00:00,100%
Operating System versions
label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate
Unknown,8,40,0%,5,00:15:01,0%
-Windows XP,2,3,0%,1.5,00:03:01,50%
+Windows XP,3,3,0%,1,00:00:00,100%
Browser engines
label,nb_visits,nb_actions,conversion_rate,nb_actions_per_visit,avg_time_on_site,bounce_rate
Unknown,8,40,0%,5,00:15:01,0%
-Gecko (Firefox),1,2,0%,2,00:06:01,0%
+Gecko (Firefox),2,2,0%,1,00:00:00,100%
Presto (Opera),1,1,0%,1,00:00:00,100%
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html
index 616d6c0573..9f49173a26 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html
@@ -349,7 +349,7 @@
<td style="font-size: 13px; border-right: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
Site 1 </td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 10
+ 11
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
43
@@ -439,7 +439,7 @@
<td style="font-size: 13px; border-right: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
Visits </td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 10
+ 11
</td>
</tr>
@@ -463,7 +463,7 @@
<td style="font-size: 13px; border-right: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
Actions per Visit </td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 4.3
+ 3.9
</td>
</tr>
@@ -471,7 +471,7 @@
<td style="font-size: 13px; border-right: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
Avg. Visit Duration (in seconds) </td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 00:12:37
+ 00:10:55
</td>
</tr>
@@ -479,7 +479,7 @@
<td style="font-size: 13px; border-right: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
Bounce Rate </td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 10%
+ 27%
</td>
</tr>
</tbody>
@@ -527,16 +527,16 @@
1
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 2
+ 1
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 2
+ 1
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 00:06:01
+ 00:00:00
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 0%
+ 100%
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
$ 0
@@ -1053,19 +1053,19 @@
<td style="font-size: 13px; border-right: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
23h </td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 0
+ 1
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 0
+ 1
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 0
+ 1
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
00:00:00
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 0%
+ 100%
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
$ 0
@@ -1389,19 +1389,19 @@
<td style="font-size: 13px; border-right: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
12h </td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 10
+ 11
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
43
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 4.3
+ 3.9
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 00:12:37
+ 00:10:55
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 10%
+ 27%
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
0%
@@ -1705,16 +1705,16 @@
2
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 7
+ 6
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 3.5
+ 3
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 00:10:31
+ 00:07:31
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 0%
+ 50%
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
0%
@@ -1840,19 +1840,19 @@
<td style="font-size: 13px; border-right: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
Sunday </td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 2
+ 3
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 6
+ 7
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 3
+ 2.3
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 00:07:31
+ 00:05:00
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 50%
+ 67%
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
0%
@@ -1923,19 +1923,19 @@
<td style="font-size: 13px; border-right: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
1024x768 </td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 1
+ 2
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
2
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 2
+ 1
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 00:06:01
+ 00:00:00
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 0%
+ 100%
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
0%
@@ -1973,7 +1973,7 @@
&nbsp;
Cookie </td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 10
+ 11
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
100%
@@ -1986,7 +1986,7 @@
&nbsp;
Flash </td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 10
+ 11
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
100%
@@ -1999,7 +1999,7 @@
&nbsp;
Java </td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 10
+ 11
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
100%
@@ -2161,19 +2161,19 @@
<td style="font-size: 13px; border-right: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
Windows XP / Firefox / 1024x768 </td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 1
+ 2
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
2
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 2
+ 1
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 00:06:01
+ 00:00:00
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 0%
+ 100%
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
0%
@@ -2267,19 +2267,19 @@
<td style="font-size: 13px; border-right: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
French </td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 2
+ 3
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
3
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 1.5
+ 1
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 00:03:01
+ 00:00:00
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 50%
+ 100%
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
0%
@@ -2350,19 +2350,19 @@
<td style="font-size: 13px; border-right: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
French (fr) </td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 2
+ 3
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
3
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 1.5
+ 1
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 00:03:01
+ 00:00:00
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 50%
+ 100%
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
0%
@@ -2515,10 +2515,10 @@
00:05:20
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 0%
+ 11%
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 0%
+ 11%
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
0.3s
@@ -2637,13 +2637,13 @@
/index.htm </a>
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 8
+ 9
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 0
+ 1
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 0%
+ 11%
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
0.3s
@@ -2702,6 +2702,25 @@
<tr style="background-color: rgb(242,242,242);line-height: 22px;">
<td style="font-size: 13px; border-right: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
+ <a style="color: rgb(13,13,13);" href='http://example.org/index.htm'>
+ /index.htm </a>
+ </td>
+ <td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
+ 1
+ </td>
+ <td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
+ 9
+ </td>
+ <td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
+ 11%
+ </td>
+ <td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
+ 0.3s
+ </td>
+ </tr>
+
+ <tr style=";line-height: 22px;">
+ <td style="font-size: 13px; border-right: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
<a style="color: rgb(13,13,13);" href='http://example.org/thankyou'>
/thankyou </a>
</td>
@@ -2719,7 +2738,7 @@
</td>
</tr>
- <tr style=";line-height: 22px;">
+ <tr style="background-color: rgb(242,242,242);line-height: 22px;">
<td style="font-size: 13px; border-right: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
<a style="color: rgb(13,13,13);" href='http://example.org/products'>
/products </a>
@@ -2837,7 +2856,7 @@
100%
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 50%
+ 100%
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
0.14s
@@ -2919,10 +2938,10 @@
<td style="font-size: 13px; border-right: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
first page view </td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 1
+ 2
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 1
+ 2
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
100%
@@ -2984,13 +3003,13 @@
<td style="font-size: 13px; border-right: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
first page view </td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 1
+ 2
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
2
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 50%
+ 100%
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
0.14s
@@ -3098,19 +3117,19 @@
<td style="font-size: 13px; border-right: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
Websites </td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 5
+ 6
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
22
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 4.4
+ 3.7
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 00:13:13
+ 00:10:01
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 0%
+ 33%
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
$ 0
@@ -3227,19 +3246,19 @@
<td style="font-size: 13px; border-right: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
referrer.com </td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 5
+ 6
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
22
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 4.4
+ 3.7
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 00:13:13
+ 00:10:01
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 0%
+ 33%
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
0%
@@ -3292,19 +3311,19 @@
<td style="font-size: 13px; border-right: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
referrer.com </td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 5
+ 6
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
22
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 4.4
+ 3.7
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 00:13:13
+ 00:10:01
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 0%
+ 33%
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
$ 0
@@ -3513,19 +3532,19 @@
&nbsp;
France </td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 1
+ 2
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
2
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 2
+ 1
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 00:06:01
+ 00:00:00
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 0%
+ 100%
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
$ 0
@@ -3596,19 +3615,19 @@
<td style="font-size: 13px; border-right: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
Europe </td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 1
+ 2
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
2
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 2
+ 1
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 00:06:01
+ 00:00:00
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 0%
+ 100%
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
$ 0
@@ -3658,19 +3677,19 @@
&nbsp;
Unknown </td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 10
+ 11
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
43
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 4.3
+ 3.9
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 00:12:37
+ 00:10:55
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 10%
+ 27%
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
$ 0
@@ -3720,19 +3739,19 @@
&nbsp;
Unknown </td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 10
+ 11
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
43
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 4.3
+ 3.9
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 00:12:37
+ 00:10:55
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 10%
+ 27%
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
$ 0
@@ -3770,7 +3789,7 @@
<td style="font-size: 13px; border-right: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
0-10s </td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 1
+ 3
</td>
</tr>
@@ -3810,7 +3829,7 @@
<td style="font-size: 13px; border-right: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
4-7 min </td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 1
+ 0
</td>
</tr>
@@ -3872,7 +3891,7 @@
<td style="font-size: 13px; border-right: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
1 page </td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 1
+ 3
</td>
</tr>
@@ -3880,7 +3899,7 @@
<td style="font-size: 13px; border-right: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
2 pages </td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 1
+ 0
</td>
</tr>
@@ -3977,10 +3996,10 @@
<td style="font-size: 13px; border-right: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
1 visit </td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 2
+ 3
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 20%
+ 27%
</td>
</tr>
@@ -3991,7 +4010,7 @@
8
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 80%
+ 73%
</td>
</tr>
@@ -4161,7 +4180,7 @@
<td style="font-size: 13px; border-right: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
0 days </td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 0
+ 1
</td>
</tr>
@@ -4295,7 +4314,7 @@
<td style="font-size: 13px; border-right: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
Unique returning visitors </td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 1
+ 2
</td>
</tr>
@@ -4311,7 +4330,7 @@
<td style="font-size: 13px; border-right: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
Returning Visits </td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 8
+ 9
</td>
</tr>
@@ -4319,7 +4338,7 @@
<td style="font-size: 13px; border-right: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
Actions by Returning Visits </td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 40
+ 41
</td>
</tr>
@@ -4335,7 +4354,7 @@
<td style="font-size: 13px; border-right: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
Bounce Rate for Returning Visits </td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 0%
+ 11%
</td>
</tr>
@@ -4343,7 +4362,7 @@
<td style="font-size: 13px; border-right: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
Avg. Actions per Returning Visit </td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 5
+ 4.6
</td>
</tr>
@@ -4351,7 +4370,7 @@
<td style="font-size: 13px; border-right: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
Avg. Duration of a Returning Visit (in sec) </td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 00:15:01
+ 00:13:21
</td>
</tr>
</tbody>
@@ -4398,19 +4417,19 @@
Unknown </a>
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 10
+ 11
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
43
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 4.3
+ 3.9
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 00:12:37
+ 00:10:55
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 10%
+ 27%
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
0%
@@ -4485,19 +4504,19 @@
&nbsp;
Desktop </td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 2
+ 3
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
3
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 1.5
+ 1
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 00:03:01
+ 00:00:00
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 50%
+ 100%
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
0%
@@ -4572,19 +4591,19 @@
&nbsp;
Firefox </td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 1
+ 2
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
2
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 2
+ 1
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 00:06:01
+ 00:00:00
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 0%
+ 100%
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
0%
@@ -4659,19 +4678,19 @@
&nbsp;
Unknown </td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 10
+ 11
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
43
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 4.3
+ 3.9
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 00:12:37
+ 00:10:55
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 10%
+ 27%
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
0%
@@ -4719,19 +4738,19 @@
<td style="font-size: 13px; border-right: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
Unknown </td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 10
+ 11
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
43
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 4.3
+ 3.9
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 00:12:37
+ 00:10:55
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 10%
+ 27%
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
0%
@@ -4806,19 +4825,19 @@
&nbsp;
Firefox 3.6 </td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 1
+ 2
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
2
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 2
+ 1
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 00:06:01
+ 00:00:00
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 0%
+ 100%
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
0%
@@ -4918,19 +4937,19 @@
&nbsp;
Windows </td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 2
+ 3
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
3
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 1.5
+ 1
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 00:03:01
+ 00:00:00
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 50%
+ 100%
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
0%
@@ -5005,19 +5024,19 @@
&nbsp;
Windows XP </td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 2
+ 3
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
3
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 1.5
+ 1
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 00:03:01
+ 00:00:00
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 50%
+ 100%
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
0%
@@ -5088,19 +5107,19 @@
<td style="font-size: 13px; border-right: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
Gecko (Firefox) </td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 1
+ 2
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
2
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 2
+ 1
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 00:06:01
+ 00:00:00
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
- 0%
+ 100%
</td>
<td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;">
0%
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_via_sms_all_sites__ScheduledReports.generateReport_month.original.sms.txt b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_via_sms_all_sites__ScheduledReports.generateReport_month.original.sms.txt
index dd8d8a31dd..9012a16b8e 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_via_sms_all_sites__ScheduledReports.generateReport_month.original.sms.txt
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_via_sms_all_sites__ScheduledReports.generateReport_month.original.sms.txt
@@ -1 +1 @@
-2010, January. Site 1: 10 Visits (+100%), 43 Actions (+100%). Site 2: 1 Visits (+100%), 3 Actions (+100%) \ No newline at end of file
+2010, January. Site 1: 11 Visits (+100%), 43 Actions (+100%). Site 2: 1 Visits (+100%), 3 Actions (+100%) \ No newline at end of file
diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_via_sms_one_site__ScheduledReports.generateReport_month.original.sms.txt b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_via_sms_one_site__ScheduledReports.generateReport_month.original.sms.txt
index 176db1187b..5e1a234843 100644
--- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_via_sms_one_site__ScheduledReports.generateReport_month.original.sms.txt
+++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_via_sms_one_site__ScheduledReports.generateReport_month.original.sms.txt
@@ -1 +1 @@
-2010, January. 10 Visits (+100%), 43 Actions (+100%) \ No newline at end of file
+2010, January. 11 Visits (+100%), 43 Actions (+100%) \ No newline at end of file
diff --git a/tests/PHPUnit/UI b/tests/PHPUnit/UI
-Subproject 340acfd993cb6d2021fbb7762343e262d3695e0
+Subproject 619c0563bcae8a921b4d3c389a23d70b7d253a4
diff --git a/tests/PHPUnit/Unit/Metrics/Formatter/HtmlTest.php b/tests/PHPUnit/Unit/Metrics/Formatter/HtmlTest.php
index dd0c0a106b..004e749e25 100644
--- a/tests/PHPUnit/Unit/Metrics/Formatter/HtmlTest.php
+++ b/tests/PHPUnit/Unit/Metrics/Formatter/HtmlTest.php
@@ -61,6 +61,22 @@ class HtmlTest extends \PHPUnit_Framework_TestCase
$this->assertEquals($expected, $value);
}
+ public function test_getPrettySizeFromBytes_InFixedUnitThatIsHigherThanBestUnit()
+ {
+ $expected = '0.001465&nbsp;M';
+ $value = $this->formatter->getPrettySizeFromBytes(1536, 'M', 6);
+
+ $this->assertEquals($expected, $value);
+ }
+
+ public function test_getPrettySizeFromBytes_InUnitThatIsLowerThanBestUnit()
+ {
+ $expected = '1536&nbsp;B';
+ $value = $this->formatter->getPrettySizeFromBytes(1536, 'B');
+
+ $this->assertEquals($expected, $value);
+ }
+
public function test_getPrettyMoney_UsesNonBreakingSpaces()
{
$expected = '1&nbsp;€';
diff --git a/tests/PHPUnit/Unit/Period/RangeTest.php b/tests/PHPUnit/Unit/Period/RangeTest.php
index c7896b638f..9cda61fcad 100644
--- a/tests/PHPUnit/Unit/Period/RangeTest.php
+++ b/tests/PHPUnit/Unit/Period/RangeTest.php
@@ -15,12 +15,12 @@ use Piwik\Period\Range;
use Piwik\Period\Week;
use Piwik\Period\Year;
+/**
+ * @group Core
+ */
class RangeTest extends BasePeriodTest
{
// test range 1
- /**
- * @group Core
- */
public function testRangeToday()
{
$range = new Range('day', 'last1');
@@ -35,9 +35,6 @@ class RangeTest extends BasePeriodTest
$this->assertEquals($correct, $range->toString());
}
- /**
- * @group Core
- */
public function testRangeTodayUtcPlus12()
{
// rather ugly test, UTC+23 doesn't exist, but it's a way to test that last1 in UTC+23 will be "our" UTC tomorrow
@@ -54,9 +51,6 @@ class RangeTest extends BasePeriodTest
}
// test range 2
- /**
- * @group Core
- */
public function testRange2days()
{
$range = new Range('day', 'last2');
@@ -73,9 +67,6 @@ class RangeTest extends BasePeriodTest
}
// test range 3
- /**
- * @group Core
- */
public function testRange5days()
{
$range = new Range('day', 'last50');
@@ -92,9 +83,6 @@ class RangeTest extends BasePeriodTest
}
// test range 4
- /**
- * @group Core
- */
public function testRangePrevious3days()
{
$range = new Range('day', 'previous3');
@@ -111,9 +99,6 @@ class RangeTest extends BasePeriodTest
}
// test range date1,date2
- /**
- * @group Core
- */
public function testRangeComma1()
{
@@ -130,9 +115,6 @@ class RangeTest extends BasePeriodTest
}
// test range date1,date2
- /**
- * @group Core
- */
public function testRangeComma2()
{
@@ -161,9 +143,6 @@ class RangeTest extends BasePeriodTest
}
// test range date1,date2
- /**
- * @group Core
- */
public function testRangeWeekcomma1()
{
$range = new Range('week', '2007-12-22,2008-01-03');
@@ -208,9 +187,6 @@ class RangeTest extends BasePeriodTest
}
// test range date1,date2
- /**
- * @group Core
- */
public function testRangeYearcomma1()
{
$range = new Range('year', '2006-12-22,2007-01-03');
@@ -252,9 +228,6 @@ class RangeTest extends BasePeriodTest
}
// test range date1,date2
- /**
- * @group Core
- */
public function testRangeMonthcomma1()
{
$range = new Range('month', '2006-12-22,2007-01-03');
@@ -334,9 +307,6 @@ class RangeTest extends BasePeriodTest
}
// test range WEEK
- /**
- * @group Core
- */
public function testRangeWeek()
{
$range = new Range('week', 'last50');
@@ -356,9 +326,6 @@ class RangeTest extends BasePeriodTest
}
// test range WEEK last1
- /**
- * @group Core
- */
public function testRangeWeekLast1()
{
$range = new Range('week', 'last1');
@@ -368,9 +335,6 @@ class RangeTest extends BasePeriodTest
}
// test range MONTH
- /**
- * @group Core
- */
public function testRangeMonth()
{
$range = new Range('month', 'last20');
@@ -390,9 +354,6 @@ class RangeTest extends BasePeriodTest
}
// test range MONTH last1
- /**
- * @group Core
- */
public function testRangeMonthLast1()
{
$range = new Range('month', 'last1');
@@ -402,9 +363,6 @@ class RangeTest extends BasePeriodTest
}
// test range PREVIOUS MONTH
- /**
- * @group Core
- */
public function testRangePreviousmonth()
{
$range = new Range('month', 'previous10');
@@ -424,9 +382,6 @@ class RangeTest extends BasePeriodTest
$this->assertEquals($correct, $range->toString());
}
- /**
- * @group Core
- */
public function testRangePreviousmonth_onLastDayOfMonth()
{
$end = Date::factory('2013-10-31');
@@ -446,9 +401,6 @@ class RangeTest extends BasePeriodTest
$this->assertEquals($correct, $range->toString());
}
- /**
- * @group Core
- */
public function testRangePreviousweek_onLastDayOfWeek()
{
$end = Date::factory('2013-11-03');
@@ -465,9 +417,6 @@ class RangeTest extends BasePeriodTest
$this->assertEquals($correct, $range->toString());
}
- /**
- * @group Core
- */
public function testRangePreviousweek_onFirstDayOfWeek()
{
$end = Date::factory('2013-11-04');
@@ -484,9 +433,7 @@ class RangeTest extends BasePeriodTest
$correct = array_reverse($correct);
$this->assertEquals($correct, $range->toString());
}
- /**
- * @group Core
- */
+
public function testRangeLastweek_onFirstDayOfWeek()
{
$end = Date::factory('2013-11-04');
@@ -503,9 +450,6 @@ class RangeTest extends BasePeriodTest
$this->assertEquals($correct, $range->toString());
}
- /**
- * @group Core
- */
public function testRangeLastmonth_onLastDayOfMonth()
{
$end = Date::factory('2013-10-31');
@@ -524,9 +468,6 @@ class RangeTest extends BasePeriodTest
$this->assertEquals($correct, $range->toString());
}
- /**
- * @group Core
- */
public function _testRangePreviousmonth_onFirstOfMonth()
{
$end = Date::factory('2013-11-01');
@@ -546,9 +487,6 @@ class RangeTest extends BasePeriodTest
$this->assertEquals($correct, $range->toString());
}
- /**
- * @group Core
- */
public function _testRangeLastmonth_onFirstOfMonth()
{
$end = Date::factory('2013-11-01');
@@ -568,9 +506,6 @@ class RangeTest extends BasePeriodTest
}
// test range YEAR
- /**
- * @group Core
- */
public function testRangeYear()
{
$range = new Range('year', 'last10');
@@ -590,9 +525,6 @@ class RangeTest extends BasePeriodTest
}
// test range YEAR last1
- /**
- * @group Core
- */
public function testRangeYearLast1()
{
$range = new Range('year', 'last1');
@@ -601,9 +533,6 @@ class RangeTest extends BasePeriodTest
$this->assertEquals(array($currentYear->toString()), $range->toString());
}
- /**
- * @group Core
- */
public function testCustomRangeYearUsesYearIfPossible()
{
$range = new Range('range', '2005-12-17,2008-01-03', 'UTC', Date::factory('2008-01-03'));
@@ -638,9 +567,6 @@ class RangeTest extends BasePeriodTest
$this->assertEquals($correct, $range->toString());
}
- /**
- * @group Core
- */
public function testCustomRangeIsYear_UsesFullYear()
{
$range = new Range('range', '2011-01-01,2011-12-31', 'UTC', Date::factory('2012-01-03'));
@@ -654,9 +580,6 @@ class RangeTest extends BasePeriodTest
$this->assertEquals($correct, $range->toString());
}
- /**
- * @group Core
- */
public function testCustomRangeYear_UsesCurrentYear()
{
$rangeString = '2013-01-01,2013-11-01';
@@ -673,9 +596,6 @@ class RangeTest extends BasePeriodTest
$this->assertEquals($rangeString, $range->getRangeString());
}
- /**
- * @group Core
- */
public function testCustomRangeYearUsesCurrentYear_onLastDayOfYear()
{
$range = new Range('range', '2013-01-01,2013-12-31', 'UTC', Date::factory('2013-12-31'));
@@ -689,9 +609,6 @@ class RangeTest extends BasePeriodTest
$this->assertEquals($correct, $range->toString());
}
- /**
- * @group Core
- */
public function testCustomRangeWeekInsideEndingToday()
{
$range = new Range('range', '2007-12-22,2008-01-03', 'UTC', Date::factory('2008-01-03'));
@@ -722,9 +639,6 @@ class RangeTest extends BasePeriodTest
$this->assertEquals($correct, $range->toString());
}
- /**
- * @group Core
- */
public function testRangeEndDateIsTodayAndStartDateNotStartOfTheWeek()
{
$range = new Range('range', '2013-10-29,2013-10-30', 'UTC', Date::factory('2013-10-30'));
@@ -738,9 +652,6 @@ class RangeTest extends BasePeriodTest
$this->assertEquals($correct, $range->toString());
}
- /**
- * @group Core
- */
public function testRangeEndDateIsInFuture()
{
$range = new Range('range', '2013-10-29,2013-10-31', 'UTC', Date::factory('2013-10-30'));
@@ -755,9 +666,6 @@ class RangeTest extends BasePeriodTest
$this->assertEquals($correct, $range->toString());
}
- /**
- * @group Core
- */
public function testRangePreviousmonthEndDateIsInFutureAndEndOfTheWeek()
{
$range = new Range('range', '2013-10-29,2013-11-03', 'UTC', Date::factory('2013-10-30'));
@@ -775,9 +683,6 @@ class RangeTest extends BasePeriodTest
$this->assertEquals($correct, $range->toString());
}
- /**
- * @group Core
- */
public function testCustomRangeWeekInsideEndingYesterday()
{
$todays = array(
@@ -813,9 +718,6 @@ class RangeTest extends BasePeriodTest
}
}
- /**
- * @group Core
- */
public function testCustomRangeOnlyDaysLessThanOneWeek()
{
$range = new Range('range', '2007-12-30,2008-01-01');
@@ -829,9 +731,6 @@ class RangeTest extends BasePeriodTest
$this->assertEquals($correct, $range->toString());
}
- /**
- * @group Core
- */
public function testCustomRangeOneWeekOnly()
{
$range = new Range('range', '2007-12-31,2008-01-06');
@@ -851,9 +750,6 @@ class RangeTest extends BasePeriodTest
$this->assertEquals($correct, $range->toString());
}
- /**
- * @group Core
- */
public function testCustomRangeStartsWithWeek()
{
$range = new Range('range', '2007-12-31,2008-01-08');
@@ -875,9 +771,6 @@ class RangeTest extends BasePeriodTest
$this->assertEquals($correct, $range->toString());
}
- /**
- * @group Core
- */
public function testCustomRangeEndsWithWeek()
{
$range = new Range('range', '2007-12-21,2008-01-06');
@@ -909,9 +802,6 @@ class RangeTest extends BasePeriodTest
$this->assertEquals($correct, $range->toString());
}
- /**
- * @group Core
- */
public function testCustomRangeContainsMonthAndWeek()
{
$range = new Range('range', '2011-09-18,2011-11-02', 'UTC', Date::factory('2012-01-01'));
@@ -974,9 +864,6 @@ class RangeTest extends BasePeriodTest
$this->assertEquals($correct, $range->toString());
}
- /**
- * @group Core
- */
public function testCustomRangeContainsSeveralMonthsAndWeeksStartingWithMonth()
{
// Testing when "today" is in the same month, or later in the future
@@ -1088,9 +975,6 @@ class RangeTest extends BasePeriodTest
}
}
- /**
- * @group Core
- */
public function testCustomRangeOneMonthOnly()
{
$range = new Range('range', '2011-09-01,2011-09-30');
@@ -1132,9 +1016,6 @@ class RangeTest extends BasePeriodTest
$this->assertEquals($correct, $range->toString());
}
- /**
- * @group Core
- */
public function test_CustomRange_startsWithWeek_EndsWithMonth()
{
$range = new Range('range', '2011-07-25,2011-08-31');
@@ -1187,9 +1068,6 @@ class RangeTest extends BasePeriodTest
$this->assertEquals($correct, $range->toString());
}
- /**
- * @group Core
- */
public function testCustomRangeBeforeIsAfterYearRight()
{
try {
@@ -1204,9 +1082,6 @@ class RangeTest extends BasePeriodTest
$this->fail('Expected exception not raised');
}
- /**
- * @group Core
- */
public function testCustomRangeLastN()
{
$range = new Range('range', 'last4');
@@ -1221,9 +1096,6 @@ class RangeTest extends BasePeriodTest
$this->assertEquals($correct, $range->toString());
}
- /**
- * @group Core
- */
public function testCustomRangePreviousN()
{
$range = new Range('range', 'previous3');
@@ -1237,9 +1109,6 @@ class RangeTest extends BasePeriodTest
$this->assertEquals($correct, $range->toString());
}
- /**
- * @group Core
- */
public function testCustomRangePreviousNEndToday()
{
$range = new Range('range', 'previous3');
@@ -1252,9 +1121,6 @@ class RangeTest extends BasePeriodTest
$this->assertEquals($correct, $range->toString());
}
- /**
- * @group Core
- */
public function testInvalidRangeThrows()
{
try {
@@ -1266,9 +1132,6 @@ class RangeTest extends BasePeriodTest
$this->fail('Expected exception not raised');
}
- /**
- * @group Core
- */
public function testGetLocalizedShortString()
{
$month = new Range('range', '2000-12-09,2001-02-01');
@@ -1276,9 +1139,6 @@ class RangeTest extends BasePeriodTest
$this->assertEquals($shouldBe, $month->getLocalizedShortString());
}
- /**
- * @group Core
- */
public function testGetLocalizedLongString()
{
$month = new Range('range', '2023-05-09,2023-05-21');
@@ -1286,9 +1146,6 @@ class RangeTest extends BasePeriodTest
$this->assertEquals($shouldBe, $month->getLocalizedLongString());
}
- /**
- * @group Core
- */
public function testGetPrettyString()
{
$month = new Range('range', '2007-02-09,2007-03-15');
@@ -1308,9 +1165,6 @@ class RangeTest extends BasePeriodTest
}
/**
- * @group Core
- *
- *
* @dataProvider getDataForLastNLimitsTest
*/
public function testLastNLimits($period, $lastN, $expectedLastN)
@@ -1318,4 +1172,52 @@ class RangeTest extends BasePeriodTest
$range = new Range($period, 'last' . $lastN);
$this->assertEquals($expectedLastN, $range->getNumberOfSubperiods());
}
+
+ /**
+ * @link https://github.com/piwik/piwik/pull/7057
+ */
+ public function testLastWithoutNumber_shouldBehaveLikeLast1()
+ {
+ $range = new Range('day', 'last');
+ $expected = new Range('day', 'last1');
+
+ $this->assertEquals(1, $range->getNumberOfSubperiods());
+ $this->assertEquals($expected->getRangeString(), $range->getRangeString());
+ }
+
+ /**
+ * @link https://github.com/piwik/piwik/pull/7057
+ */
+ public function testPreviousWithoutNumber_shouldBehaveLikePrevious1()
+ {
+ $range = new Range('day', 'previous');
+ $expected = new Range('day', 'previous1');
+
+ $this->assertEquals(1, $range->getNumberOfSubperiods());
+ $this->assertEquals($expected->getRangeString(), $range->getRangeString());
+ }
+
+ /**
+ * @link https://github.com/piwik/piwik/pull/7057
+ */
+ public function testLast0_shouldBehaveLikeLast1()
+ {
+ $range = new Range('day', 'last0');
+ $expected = new Range('day', 'last1');
+
+ $this->assertEquals(1, $range->getNumberOfSubperiods());
+ $this->assertEquals($expected->getRangeString(), $range->getRangeString());
+ }
+
+ /**
+ * @link https://github.com/piwik/piwik/pull/7057
+ */
+ public function testPrevious0_shouldBehaveLikePrevious1()
+ {
+ $range = new Range('day', 'previous0');
+ $expected = new Range('day', 'previous1');
+
+ $this->assertEquals(1, $range->getNumberOfSubperiods());
+ $this->assertEquals($expected->getRangeString(), $range->getRangeString());
+ }
}
diff --git a/tests/travis/checkout_test_against_branch.sh b/tests/travis/checkout_test_against_branch.sh
index 81a1438170..e458639cef 100755
--- a/tests/travis/checkout_test_against_branch.sh
+++ b/tests/travis/checkout_test_against_branch.sh
@@ -12,6 +12,13 @@ if [ "$TEST_AGAINST_PIWIK_BRANCH" == "" ]; then
#exit 1
elif [[ "$TEST_AGAINST_CORE" == "minimum_required_piwik" && "$PLUGIN_NAME" != "" ]]; then # test against the minimum required Piwik in the plugin.json file
export TEST_AGAINST_PIWIK_BRANCH=$(php "$SCRIPT_DIR/get_required_piwik_version.php" $PLUGIN_NAME)
+
+ if ! git rev-parse "$TEST_AGAINST_PIWIK_BRANCH" >/dev/null 2>&1
+ then
+ echo "Could not find tag '$TEST_AGAINST_PIWIK_BRANCH' specified in plugin.json, testing against master."
+
+ export TEST_AGAINST_PIWIK_BRANCH=master
+ fi
else
export TEST_AGAINST_PIWIK_BRANCH=master
fi
diff --git a/tests/travis/get_required_piwik_version.php b/tests/travis/get_required_piwik_version.php
index 4a7197673b..f815bc30d9 100644
--- a/tests/travis/get_required_piwik_version.php
+++ b/tests/travis/get_required_piwik_version.php
@@ -7,6 +7,8 @@
*/
// tiny script to get plugin version from plugin.json from a bash script
+require_once __DIR__ . '/../../core/Version.php';
+
$pluginName = $argv[1];
$pluginJsonPath = __DIR__ . "/../../plugins/$pluginName/plugin.json";
@@ -20,6 +22,7 @@ if (empty($minimumRequiredPiwik)) {
} else {
if (!preg_match("/^[^0-9]*(.*)/", $minimumRequiredPiwik, $matches)
|| empty($matches[1])
+ || version_compare($matches[1], \Piwik\Version::VERSION) > 0
) {
$minimumRequiredPiwik = "master";
} else {