From cd1b52dd2e5807d2871e6037815cae2390c5243d Mon Sep 17 00:00:00 2001 From: mattab <matthieu.aubry@gmail.com> Date: Wed, 1 Oct 2014 16:26:52 +1300 Subject: [PATCH] Fixes #6313 - When a user starts to get a User ID set, then we set this User ID to the existing visit rather than create a new visit for this user id specifically --- core/Tracker/Action.php | 4 +- core/Tracker/Request.php | 7 +- core/Tracker/Visit.php | 31 +++++-- core/Tracker/Visitor.php | 26 ++++-- libs/PiwikTracker/PiwikTracker.php | 3 +- ...ontents__Live.getLastVisitsDetails_day.xml | 4 +- ...tents__Live.getLastVisitsDetails_month.xml | 4 +- ...onMatch__Live.getLastVisitsDetails_day.xml | 4 +- ...etMatch__Live.getLastVisitsDetails_day.xml | 4 +- ...ceMatch__Live.getLastVisitsDetails_day.xml | 4 +- plugins/CoreHome/Columns/UserId.php | 7 +- plugins/CoreHome/Visitor.php | 4 +- ...ionTest__Live.getLastVisitsDetails_day.xml | 2 +- ...ionTest__Live.getLastVisitsDetails_day.xml | 2 +- ...ITest__Live.getLastVisitsDetails_range.xml | 72 ++++++++-------- ...mEvents__Live.getLastVisitsDetails_day.xml | 20 ++--- ...vents__Live.getLastVisitsDetails_month.xml | 20 ++--- ...tLogs__Live.getLastVisitsDetails_range.xml | 80 +++++++++--------- ...itAsc__Live.getLastVisitsDetails_month.xml | 14 +-- ...Visit__Live.getLastVisitsDetails_month.xml | 12 +-- ...Count__Live.getLastVisitsDetails_month.xml | 12 +-- ...tDesc__Live.getLastVisitsDetails_month.xml | 12 +-- ...eTest__Live.getLastVisitsDetails_month.xml | 18 ++-- ...Support__Live.getLastVisitsDetails_day.xml | 4 +- ...ecified__Live.getLastVisitsDetails_day.xml | 4 +- ...eDays__Live.getLastVisitsDetails_month.xml | 6 +- ...sNotLoaded__Referrers.getKeywords_week.xml | 2 +- ...nesTest__Live.getLastVisitsDetails_day.xml | 2 +- ...Reports.generateReport_month.original.html | 22 ++++- ...dReports.generateReport_month.original.pdf | Bin 509145 -> 510530 bytes ...torId__Live.getLastVisitsDetails_month.xml | 31 +++---- ...serId_VisitorId__VisitsSummary.get_day.xml | 16 ++-- ...rId_VisitorId__VisitsSummary.get_month.xml | 16 ++-- ...erId_VisitorId__VisitsSummary.get_week.xml | 16 ++-- ...erId_VisitorId__VisitsSummary.get_year.xml | 14 +-- ...vExport__Live.getLastVisitsDetails_day.csv | Bin 7930 -> 7924 bytes ...Ordered__Live.getLastVisitsDetails_day.xml | 4 +- ...thItems__Live.getLastVisitsDetails_day.xml | 6 +- ...dReports.generateReport_week.original.html | 22 ++++- ...edReports.generateReport_week.original.pdf | Bin 527900 -> 528539 bytes ...alAPI__Live.getLastVisitsDetails_range.xml | 6 +- ...taAndNormalAPI__Live.getVisitorProfile.xml | 4 +- 42 files changed, 301 insertions(+), 240 deletions(-) diff --git a/core/Tracker/Action.php b/core/Tracker/Action.php index aa721a03c5..5fba5a2862 100644 --- a/core/Tracker/Action.php +++ b/core/Tracker/Action.php @@ -357,7 +357,9 @@ abstract class Action $visitAction['idlink_va'] = $this->idLinkVisitAction; Common::printDebug("Inserted new action:"); - Common::printDebug($visitAction); + $visitActionDebug = $visitAction; + $visitActionDebug['idvisitor'] = bin2hex($visitActionDebug['idvisitor']); + Common::printDebug($visitActionDebug); /** * Triggered after successfully persisting a [visit action entity](/guides/persistence-and-the-mysql-backend#visit-actions). diff --git a/core/Tracker/Request.php b/core/Tracker/Request.php index 8ded0dc7a2..212abbd0d2 100644 --- a/core/Tracker/Request.php +++ b/core/Tracker/Request.php @@ -551,12 +551,11 @@ class Request public function getForcedUserId() { $userId = $this->getParam('uid'); - if (strlen($userId) > 0) { return $userId; } - return null; + return false; } public function getForcedVisitorId() @@ -608,8 +607,8 @@ class Request * @param $userId * @return string */ - private function getUserIdHashed($userId) + public function getUserIdHashed($userId) { - return sha1($userId); + return substr( sha1( $userId ), 0, 16); } } diff --git a/core/Tracker/Visit.php b/core/Tracker/Visit.php index 75633d95b6..f01f34bc19 100644 --- a/core/Tracker/Visit.php +++ b/core/Tracker/Visit.php @@ -513,11 +513,7 @@ class Visit implements VisitInterface { $valuesToUpdate = array(); - // Might update the idvisitor when it was forced or overwritten for this visit - if (strlen($this->visitorInfo['idvisitor']) == Tracker::LENGTH_BINARY_ID) { - $valuesToUpdate['idvisitor'] = $this->visitorInfo['idvisitor']; - $visitor->setVisitorColumn('idvisitor', $this->visitorInfo['idvisitor']); - } + $valuesToUpdate = $this->setIdVisitorForExistingVisit($visitor, $valuesToUpdate); $dimensions = $this->getAllVisitDimensions(); $valuesToUpdate = $this->triggerHookOnDimensions($dimensions, 'onExistingVisit', $visitor, $action, $valuesToUpdate); @@ -613,4 +609,29 @@ class Visit implements VisitInterface { return Config::getInstance()->Tracker['visit_standard_length']; } + + /** + * @param $visitor + * @param $valuesToUpdate + * @return mixed + */ + private function setIdVisitorForExistingVisit($visitor, $valuesToUpdate) + { + // Might update the idvisitor when it was forced or overwritten for this visit + if (strlen($this->visitorInfo['idvisitor']) == Tracker::LENGTH_BINARY_ID) { + $binIdVisitor = $this->visitorInfo['idvisitor']; + $visitor->setVisitorColumn('idvisitor', $binIdVisitor); + $valuesToUpdate['idvisitor'] = $binIdVisitor; + } + + // User ID takes precedence and overwrites idvisitor value + $userId = $this->request->getForcedUserId(); + if ($userId) { + $userIdHash = $this->request->getUserIdHashed($userId); + $binIdVisitor = Common::hex2bin($userIdHash); + $visitor->setVisitorColumn('idvisitor', $binIdVisitor); + $valuesToUpdate['idvisitor'] = $binIdVisitor; + } + return $valuesToUpdate; + } } diff --git a/core/Tracker/Visitor.php b/core/Tracker/Visitor.php index a73361e014..ec5dd6d279 100644 --- a/core/Tracker/Visitor.php +++ b/core/Tracker/Visitor.php @@ -118,7 +118,8 @@ class Visitor // We use a UNION here so that each sql query uses its own INDEX else { // will use INDEX index_idsite_config_datetime (idsite, config_id, visit_last_action_time) - $where = ' AND config_id = ?'; + $where = ' AND config_id = ? + AND user_id IS NULL '; $bindSql[] = $configId; $sqlConfigId = "$select , 0 as priority @@ -226,22 +227,31 @@ class Visitor protected function shouldLookupOneVisitorFieldOnly($isVisitorIdToLookup) { + $isForcedUserIdMustMatch = (false !== $this->request->getForcedUserId()); + if($isForcedUserIdMustMatch) { + // if &iud was set, we must try and match both idvisitor and config_id + return false; + } + // This setting would be enabled for Intranet websites, to ensure that visitors using all the same computer config, same IP // are not counted as 1 visitor. In this case, we want to enforce and trust the visitor ID from the cookie. $trustCookiesOnly = Config::getInstance()->Tracker['trust_visitors_cookies']; + if($isVisitorIdToLookup && $trustCookiesOnly) { + return true; + } // If a &cid= was set, we force to select this visitor (or create a new one) $isForcedVisitorIdMustMatch = ($this->request->getForcedVisitorId() != null); - // if &iud was set, we force to select this visitor (or create new one) - $isForcedUserIdMustMatch = ($this->request->getForcedUserId() !== null); + if($isForcedVisitorIdMustMatch) { + return true; + } - $shouldMatchOneFieldOnly = (($isVisitorIdToLookup && $trustCookiesOnly) - || $isForcedVisitorIdMustMatch - || $isForcedUserIdMustMatch - || !$isVisitorIdToLookup); + if( !$isVisitorIdToLookup ) { + return true; + } - return $shouldMatchOneFieldOnly; + return false; } /** diff --git a/libs/PiwikTracker/PiwikTracker.php b/libs/PiwikTracker/PiwikTracker.php index 8605e38e1f..15e3b8420c 100644 --- a/libs/PiwikTracker/PiwikTracker.php +++ b/libs/PiwikTracker/PiwikTracker.php @@ -1063,6 +1063,8 @@ class PiwikTracker /** * Hash function used internally by Piwik to hash a User ID into the Visitor ID. * + * Note: matches implementation of Tracker\Request->getUserIdHashed() + * * @param $id * @return string */ @@ -1071,7 +1073,6 @@ class PiwikTracker return substr( sha1( $id ), 0, 16); } - /** * Forces the requests to be recorded for the specified Visitor ID. * Note: it is recommended to use ->setUserId($userId); instead. diff --git a/plugins/Contents/tests/expected/test_Contents__Live.getLastVisitsDetails_day.xml b/plugins/Contents/tests/expected/test_Contents__Live.getLastVisitsDetails_day.xml index 5ed9724479..989f816722 100644 --- a/plugins/Contents/tests/expected/test_Contents__Live.getLastVisitsDetails_day.xml +++ b/plugins/Contents/tests/expected/test_Contents__Live.getLastVisitsDetails_day.xml @@ -28,7 +28,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>0</visitConverted> @@ -128,7 +128,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>0</visitConverted> diff --git a/plugins/Contents/tests/expected/test_Contents__Live.getLastVisitsDetails_month.xml b/plugins/Contents/tests/expected/test_Contents__Live.getLastVisitsDetails_month.xml index 5ed9724479..989f816722 100644 --- a/plugins/Contents/tests/expected/test_Contents__Live.getLastVisitsDetails_month.xml +++ b/plugins/Contents/tests/expected/test_Contents__Live.getLastVisitsDetails_month.xml @@ -28,7 +28,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>0</visitConverted> @@ -128,7 +128,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>0</visitConverted> diff --git a/plugins/Contents/tests/expected/test_Contents_contentInteractionMatch__Live.getLastVisitsDetails_day.xml b/plugins/Contents/tests/expected/test_Contents_contentInteractionMatch__Live.getLastVisitsDetails_day.xml index 5ed9724479..989f816722 100644 --- a/plugins/Contents/tests/expected/test_Contents_contentInteractionMatch__Live.getLastVisitsDetails_day.xml +++ b/plugins/Contents/tests/expected/test_Contents_contentInteractionMatch__Live.getLastVisitsDetails_day.xml @@ -28,7 +28,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>0</visitConverted> @@ -128,7 +128,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>0</visitConverted> diff --git a/plugins/Contents/tests/expected/test_Contents_contentTargetMatch__Live.getLastVisitsDetails_day.xml b/plugins/Contents/tests/expected/test_Contents_contentTargetMatch__Live.getLastVisitsDetails_day.xml index 5ed9724479..989f816722 100644 --- a/plugins/Contents/tests/expected/test_Contents_contentTargetMatch__Live.getLastVisitsDetails_day.xml +++ b/plugins/Contents/tests/expected/test_Contents_contentTargetMatch__Live.getLastVisitsDetails_day.xml @@ -28,7 +28,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>0</visitConverted> @@ -128,7 +128,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>0</visitConverted> diff --git a/plugins/Contents/tests/expected/test_ContentscontentNameOrPieceMatch__Live.getLastVisitsDetails_day.xml b/plugins/Contents/tests/expected/test_ContentscontentNameOrPieceMatch__Live.getLastVisitsDetails_day.xml index 5ed9724479..989f816722 100644 --- a/plugins/Contents/tests/expected/test_ContentscontentNameOrPieceMatch__Live.getLastVisitsDetails_day.xml +++ b/plugins/Contents/tests/expected/test_ContentscontentNameOrPieceMatch__Live.getLastVisitsDetails_day.xml @@ -28,7 +28,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>0</visitConverted> @@ -128,7 +128,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>0</visitConverted> diff --git a/plugins/CoreHome/Columns/UserId.php b/plugins/CoreHome/Columns/UserId.php index 146a7ea4c6..55fea6b517 100644 --- a/plugins/CoreHome/Columns/UserId.php +++ b/plugins/CoreHome/Columns/UserId.php @@ -48,12 +48,7 @@ class UserId extends VisitDimension */ public function onExistingVisit(Request $request, Visitor $visitor, $action) { - $forcedUserId = $request->getForcedUserId(); - if ($forcedUserId) { - return $forcedUserId; - } - - return false; + return $request->getForcedUserId(); } } \ No newline at end of file diff --git a/plugins/CoreHome/Visitor.php b/plugins/CoreHome/Visitor.php index 688d1c8bb6..35b64b3d30 100644 --- a/plugins/CoreHome/Visitor.php +++ b/plugins/CoreHome/Visitor.php @@ -102,10 +102,10 @@ class Visitor function getUserId() { if (isset($this->details['user_id']) - && !is_null($this->details['user_id'])) { + && strlen($this->details['user_id']) > 0) { return $this->details['user_id']; } - return false; + return null; } } \ No newline at end of file diff --git a/plugins/CustomVariables/tests/expected/test_CustomVariablesIntegrationTest__Live.getLastVisitsDetails_day.xml b/plugins/CustomVariables/tests/expected/test_CustomVariablesIntegrationTest__Live.getLastVisitsDetails_day.xml index 76e4a27324..a61cb11554 100644 --- a/plugins/CustomVariables/tests/expected/test_CustomVariablesIntegrationTest__Live.getLastVisitsDetails_day.xml +++ b/plugins/CustomVariables/tests/expected/test_CustomVariablesIntegrationTest__Live.getLastVisitsDetails_day.xml @@ -69,7 +69,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>1</visitConverted> diff --git a/plugins/CustomVariables/tests/processed/test_CustomVariablesIntegrationTest__Live.getLastVisitsDetails_day.xml b/plugins/CustomVariables/tests/processed/test_CustomVariablesIntegrationTest__Live.getLastVisitsDetails_day.xml index 76e4a27324..a61cb11554 100644 --- a/plugins/CustomVariables/tests/processed/test_CustomVariablesIntegrationTest__Live.getLastVisitsDetails_day.xml +++ b/plugins/CustomVariables/tests/processed/test_CustomVariablesIntegrationTest__Live.getLastVisitsDetails_day.xml @@ -69,7 +69,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>1</visitConverted> diff --git a/tests/PHPUnit/Integration/expected/test_AutoSuggestAPITest__Live.getLastVisitsDetails_range.xml b/tests/PHPUnit/Integration/expected/test_AutoSuggestAPITest__Live.getLastVisitsDetails_range.xml index 3b8eb5d11a..88e4c569eb 100644 --- a/tests/PHPUnit/Integration/expected/test_AutoSuggestAPITest__Live.getLastVisitsDetails_range.xml +++ b/tests/PHPUnit/Integration/expected/test_AutoSuggestAPITest__Live.getLastVisitsDetails_range.xml @@ -4,7 +4,6 @@ <idSite>1</idSite> <idVisit>35</idVisit> <visitIp>194.57.91.215</visitIp> - <userId>userid.email@example.org</userId> <actionDetails> <row> @@ -34,6 +33,7 @@ + <userId>userid.email@example.org</userId> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>1</visitConverted> @@ -111,7 +111,6 @@ <idSite>1</idSite> <idVisit>18</idVisit> <visitIp>1.2.4.8</visitIp> - <userId /> <actionDetails> <row> @@ -182,6 +181,7 @@ + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -267,7 +267,6 @@ <idSite>1</idSite> <idVisit>17</idVisit> <visitIp>1.2.4.8</visitIp> - <userId /> <actionDetails> <row> @@ -307,6 +306,7 @@ + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -392,7 +392,6 @@ <idSite>1</idSite> <idVisit>16</idVisit> <visitIp>1.2.4.7</visitIp> - <userId /> <actionDetails> <row> @@ -446,7 +445,8 @@ - <visitorType>returningCustomer</visitorType> + <userId /> + <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> <visitConvertedIcon>plugins/Morpheus/images/goal.png</visitConvertedIcon> @@ -531,7 +531,6 @@ <idSite>1</idSite> <idVisit>15</idVisit> <visitIp>1.2.4.7</visitIp> - <userId /> <actionDetails> <row> @@ -571,6 +570,7 @@ + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -656,7 +656,6 @@ <idSite>1</idSite> <idVisit>14</idVisit> <visitIp>1.2.4.6</visitIp> - <userId /> <actionDetails> <row> @@ -727,6 +726,7 @@ + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -812,7 +812,6 @@ <idSite>1</idSite> <idVisit>13</idVisit> <visitIp>1.2.4.6</visitIp> - <userId /> <actionDetails> <row> @@ -852,6 +851,7 @@ + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -937,7 +937,6 @@ <idSite>1</idSite> <idVisit>12</idVisit> <visitIp>1.2.4.5</visitIp> - <userId /> <actionDetails> <row> @@ -991,6 +990,7 @@ + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -1076,7 +1076,6 @@ <idSite>1</idSite> <idVisit>11</idVisit> <visitIp>1.2.4.5</visitIp> - <userId /> <actionDetails> <row> @@ -1116,6 +1115,7 @@ + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -1201,7 +1201,6 @@ <idSite>1</idSite> <idVisit>10</idVisit> <visitIp>1.2.4.4</visitIp> - <userId /> <actionDetails> <row> @@ -1272,6 +1271,7 @@ + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -1357,7 +1357,6 @@ <idSite>1</idSite> <idVisit>9</idVisit> <visitIp>1.2.4.4</visitIp> - <userId /> <actionDetails> <row> @@ -1397,6 +1396,7 @@ + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -1482,7 +1482,6 @@ <idSite>1</idSite> <idVisit>8</idVisit> <visitIp>1.2.4.3</visitIp> - <userId /> <actionDetails> <row> @@ -1536,6 +1535,7 @@ + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -1621,7 +1621,6 @@ <idSite>1</idSite> <idVisit>30</idVisit> <visitIp>113.62.1.1</visitIp> - <userId /> <actionDetails> <row> @@ -1675,6 +1674,7 @@ + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -1752,7 +1752,6 @@ <idSite>1</idSite> <idVisit>7</idVisit> <visitIp>1.2.4.3</visitIp> - <userId /> <actionDetails> <row> @@ -1792,6 +1791,7 @@ + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -1877,7 +1877,6 @@ <idSite>1</idSite> <idVisit>29</idVisit> <visitIp>113.62.1.1</visitIp> - <userId /> <actionDetails> <row> @@ -1917,6 +1916,7 @@ + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -2002,7 +2002,6 @@ <idSite>1</idSite> <idVisit>6</idVisit> <visitIp>1.2.4.2</visitIp> - <userId /> <actionDetails> <row> @@ -2073,6 +2072,7 @@ + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -2158,7 +2158,6 @@ <idSite>1</idSite> <idVisit>28</idVisit> <visitIp>2001:db8:85a3::8a2e:370:7334</visitIp> - <userId /> <actionDetails> <row> @@ -2229,6 +2228,7 @@ + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -2306,7 +2306,6 @@ <idSite>1</idSite> <idVisit>5</idVisit> <visitIp>1.2.4.2</visitIp> - <userId /> <actionDetails> <row> @@ -2346,6 +2345,7 @@ + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -2431,7 +2431,6 @@ <idSite>1</idSite> <idVisit>27</idVisit> <visitIp>2001:db8:85a3::8a2e:370:7334</visitIp> - <userId /> <actionDetails> <row> @@ -2471,6 +2470,7 @@ + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -2556,7 +2556,6 @@ <idSite>1</idSite> <idVisit>4</idVisit> <visitIp>1.2.4.1</visitIp> - <userId /> <actionDetails> <row> @@ -2610,6 +2609,7 @@ + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -2695,7 +2695,6 @@ <idSite>1</idSite> <idVisit>22</idVisit> <visitIp>::ffff:137.82.130.49</visitIp> - <userId /> <actionDetails> <row> @@ -2749,6 +2748,7 @@ + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -2834,7 +2834,6 @@ <idSite>1</idSite> <idVisit>26</idVisit> <visitIp>137.82.0.0</visitIp> - <userId /> <actionDetails> <row> @@ -2888,6 +2887,7 @@ + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -2965,7 +2965,6 @@ <idSite>1</idSite> <idVisit>34</idVisit> <visitIp>103.29.196.229</visitIp> - <userId /> <actionDetails> <row> @@ -3019,6 +3018,7 @@ + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -3104,7 +3104,6 @@ <idSite>1</idSite> <idVisit>3</idVisit> <visitIp>1.2.4.1</visitIp> - <userId /> <actionDetails> <row> @@ -3144,6 +3143,7 @@ + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -3229,7 +3229,6 @@ <idSite>1</idSite> <idVisit>21</idVisit> <visitIp>::ffff:137.82.130.49</visitIp> - <userId /> <actionDetails> <row> @@ -3269,6 +3268,7 @@ + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -3354,7 +3354,6 @@ <idSite>1</idSite> <idVisit>25</idVisit> <visitIp>137.82.0.0</visitIp> - <userId /> <actionDetails> <row> @@ -3394,6 +3393,7 @@ + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -3479,7 +3479,6 @@ <idSite>1</idSite> <idVisit>33</idVisit> <visitIp>103.29.196.229</visitIp> - <userId /> <actionDetails> <row> @@ -3519,6 +3518,7 @@ + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -3604,7 +3604,6 @@ <idSite>1</idSite> <idVisit>2</idVisit> <visitIp>1.2.4.0</visitIp> - <userId /> <actionDetails> <row> @@ -3675,6 +3674,7 @@ + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -3760,7 +3760,6 @@ <idSite>1</idSite> <idVisit>20</idVisit> <visitIp>194.57.91.215</visitIp> - <userId /> <actionDetails> <row> @@ -3831,6 +3830,7 @@ + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -3916,7 +3916,6 @@ <idSite>1</idSite> <idVisit>24</idVisit> <visitIp>137.82.130.0</visitIp> - <userId /> <actionDetails> <row> @@ -3987,6 +3986,7 @@ + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -4064,7 +4064,6 @@ <idSite>1</idSite> <idVisit>32</idVisit> <visitIp>151.100.101.92</visitIp> - <userId /> <actionDetails> <row> @@ -4135,6 +4134,7 @@ + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -4220,7 +4220,6 @@ <idSite>1</idSite> <idVisit>1</idVisit> <visitIp>1.2.4.0</visitIp> - <userId /> <actionDetails> <row> @@ -4260,6 +4259,7 @@ + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>1</visitConverted> @@ -4345,7 +4345,6 @@ <idSite>1</idSite> <idVisit>19</idVisit> <visitIp>194.57.91.215</visitIp> - <userId /> <actionDetails> <row> @@ -4385,6 +4384,7 @@ + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>1</visitConverted> @@ -4470,7 +4470,6 @@ <idSite>1</idSite> <idVisit>23</idVisit> <visitIp>137.82.130.0</visitIp> - <userId /> <actionDetails> <row> @@ -4510,6 +4509,7 @@ + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>1</visitConverted> @@ -4595,7 +4595,6 @@ <idSite>1</idSite> <idVisit>31</idVisit> <visitIp>151.100.101.92</visitIp> - <userId /> <actionDetails> <row> @@ -4635,6 +4634,7 @@ + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>1</visitConverted> diff --git a/tests/PHPUnit/Integration/expected/test_CustomEvents__Live.getLastVisitsDetails_day.xml b/tests/PHPUnit/Integration/expected/test_CustomEvents__Live.getLastVisitsDetails_day.xml index 11b3df7d80..61b4626535 100644 --- a/tests/PHPUnit/Integration/expected/test_CustomEvents__Live.getLastVisitsDetails_day.xml +++ b/tests/PHPUnit/Integration/expected/test_CustomEvents__Live.getLastVisitsDetails_day.xml @@ -26,7 +26,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>0</visitConverted> @@ -128,7 +128,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>0</visitConverted> @@ -298,7 +298,7 @@ <searches>0</searches> <actions>6</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>0</visitConverted> @@ -400,7 +400,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>0</visitConverted> @@ -737,7 +737,7 @@ <searches>0</searches> <actions>15</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>1</visitConverted> @@ -839,7 +839,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>0</visitConverted> @@ -937,7 +937,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>0</visitConverted> @@ -1103,7 +1103,7 @@ <searches>0</searches> <actions>6</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>0</visitConverted> @@ -1201,7 +1201,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>0</visitConverted> @@ -1534,7 +1534,7 @@ <searches>0</searches> <actions>15</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>1</visitConverted> diff --git a/tests/PHPUnit/Integration/expected/test_CustomEvents__Live.getLastVisitsDetails_month.xml b/tests/PHPUnit/Integration/expected/test_CustomEvents__Live.getLastVisitsDetails_month.xml index 11b3df7d80..61b4626535 100644 --- a/tests/PHPUnit/Integration/expected/test_CustomEvents__Live.getLastVisitsDetails_month.xml +++ b/tests/PHPUnit/Integration/expected/test_CustomEvents__Live.getLastVisitsDetails_month.xml @@ -26,7 +26,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>0</visitConverted> @@ -128,7 +128,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>0</visitConverted> @@ -298,7 +298,7 @@ <searches>0</searches> <actions>6</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>0</visitConverted> @@ -400,7 +400,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>0</visitConverted> @@ -737,7 +737,7 @@ <searches>0</searches> <actions>15</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>1</visitConverted> @@ -839,7 +839,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>0</visitConverted> @@ -937,7 +937,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>0</visitConverted> @@ -1103,7 +1103,7 @@ <searches>0</searches> <actions>6</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>0</visitConverted> @@ -1201,7 +1201,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>0</visitConverted> @@ -1534,7 +1534,7 @@ <searches>0</searches> <actions>15</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>1</visitConverted> diff --git a/tests/PHPUnit/Integration/expected/test_ImportLogs__Live.getLastVisitsDetails_range.xml b/tests/PHPUnit/Integration/expected/test_ImportLogs__Live.getLastVisitsDetails_range.xml index db55cce7c1..06291c5c5f 100644 --- a/tests/PHPUnit/Integration/expected/test_ImportLogs__Live.getLastVisitsDetails_range.xml +++ b/tests/PHPUnit/Integration/expected/test_ImportLogs__Live.getLastVisitsDetails_range.xml @@ -42,7 +42,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>returning</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -180,7 +180,7 @@ <searches>0</searches> <actions>2</actions> - <userId>0</userId> + <userId /> <visitorType>returning</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -289,7 +289,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>returning</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -439,7 +439,7 @@ <searches>0</searches> <actions>2</actions> - <userId>0</userId> + <userId /> <visitorType>returning</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -554,7 +554,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>returning</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>0</visitConverted> @@ -680,7 +680,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>1</visitConverted> @@ -813,7 +813,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>returning</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -935,7 +935,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>returning</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -1049,7 +1049,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>returning</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -1218,7 +1218,7 @@ <searches>0</searches> <actions>3</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>1</visitConverted> @@ -1336,7 +1336,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>returning</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -1462,7 +1462,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>1</visitConverted> @@ -1750,7 +1750,7 @@ <searches>0</searches> <actions>10</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>1</visitConverted> @@ -1862,7 +1862,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>1</visitConverted> @@ -1979,7 +1979,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>returning</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -2112,7 +2112,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>1</visitConverted> @@ -2237,7 +2237,7 @@ <searches>0</searches> <actions>2</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>1</visitConverted> @@ -2369,7 +2369,7 @@ <searches>0</searches> <actions>3</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>0</visitConverted> @@ -2477,7 +2477,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>1</visitConverted> @@ -2585,7 +2585,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>1</visitConverted> @@ -2683,7 +2683,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>0</visitConverted> @@ -2791,7 +2791,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>1</visitConverted> @@ -2899,7 +2899,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>1</visitConverted> @@ -3007,7 +3007,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>1</visitConverted> @@ -3111,7 +3111,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>1</visitConverted> @@ -3215,7 +3215,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>1</visitConverted> @@ -3319,7 +3319,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>1</visitConverted> @@ -3423,7 +3423,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>1</visitConverted> @@ -3527,7 +3527,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>1</visitConverted> @@ -3631,7 +3631,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>1</visitConverted> @@ -3735,7 +3735,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>1</visitConverted> @@ -3839,7 +3839,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>1</visitConverted> @@ -3943,7 +3943,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>1</visitConverted> @@ -4047,7 +4047,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>1</visitConverted> @@ -4151,7 +4151,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>1</visitConverted> @@ -4255,7 +4255,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>1</visitConverted> @@ -4359,7 +4359,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>1</visitConverted> @@ -4463,7 +4463,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>1</visitConverted> @@ -4567,7 +4567,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>1</visitConverted> @@ -4671,7 +4671,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>1</visitConverted> diff --git a/tests/PHPUnit/Integration/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortByIdVisitAsc__Live.getLastVisitsDetails_month.xml b/tests/PHPUnit/Integration/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortByIdVisitAsc__Live.getLastVisitsDetails_month.xml index cfc7a48e6e..02678e9aee 100644 --- a/tests/PHPUnit/Integration/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortByIdVisitAsc__Live.getLastVisitsDetails_month.xml +++ b/tests/PHPUnit/Integration/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortByIdVisitAsc__Live.getLastVisitsDetails_month.xml @@ -43,7 +43,7 @@ - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>1</visitConverted> @@ -197,7 +197,7 @@ - <userId>0</userId> + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -320,7 +320,7 @@ - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>1</visitConverted> @@ -474,7 +474,7 @@ - <userId>0</userId> + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -597,7 +597,7 @@ - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>1</visitConverted> @@ -751,7 +751,7 @@ - <userId>0</userId> + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -866,7 +866,7 @@ - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>1</visitConverted> diff --git a/tests/PHPUnit/Integration/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortByIdVisit__Live.getLastVisitsDetails_month.xml b/tests/PHPUnit/Integration/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortByIdVisit__Live.getLastVisitsDetails_month.xml index 08efeed493..47c2f38c4e 100644 --- a/tests/PHPUnit/Integration/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortByIdVisit__Live.getLastVisitsDetails_month.xml +++ b/tests/PHPUnit/Integration/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortByIdVisit__Live.getLastVisitsDetails_month.xml @@ -181,7 +181,7 @@ - <userId>0</userId> + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -306,7 +306,7 @@ - <userId>0</userId> + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -445,7 +445,7 @@ - <userId>0</userId> + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -570,7 +570,7 @@ - <userId>0</userId> + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -726,7 +726,7 @@ - <userId>0</userId> + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -851,7 +851,7 @@ - <userId>0</userId> + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> diff --git a/tests/PHPUnit/Integration/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortByVisitCount__Live.getLastVisitsDetails_month.xml b/tests/PHPUnit/Integration/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortByVisitCount__Live.getLastVisitsDetails_month.xml index af635609ab..8c0eba69bb 100644 --- a/tests/PHPUnit/Integration/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortByVisitCount__Live.getLastVisitsDetails_month.xml +++ b/tests/PHPUnit/Integration/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortByVisitCount__Live.getLastVisitsDetails_month.xml @@ -74,7 +74,7 @@ - <userId>0</userId> + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -199,7 +199,7 @@ - <userId>0</userId> + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -355,7 +355,7 @@ - <userId>0</userId> + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -494,7 +494,7 @@ - <userId>0</userId> + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -619,7 +619,7 @@ - <userId>0</userId> + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -744,7 +744,7 @@ - <userId>0</userId> + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> diff --git a/tests/PHPUnit/Integration/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortDesc__Live.getLastVisitsDetails_month.xml b/tests/PHPUnit/Integration/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortDesc__Live.getLastVisitsDetails_month.xml index 08efeed493..47c2f38c4e 100644 --- a/tests/PHPUnit/Integration/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortDesc__Live.getLastVisitsDetails_month.xml +++ b/tests/PHPUnit/Integration/expected/test_ManyVisitorsOneWebsiteTest_Live.getLastVisitsDetails_sortDesc__Live.getLastVisitsDetails_month.xml @@ -181,7 +181,7 @@ - <userId>0</userId> + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -306,7 +306,7 @@ - <userId>0</userId> + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -445,7 +445,7 @@ - <userId>0</userId> + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -570,7 +570,7 @@ - <userId>0</userId> + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -726,7 +726,7 @@ - <userId>0</userId> + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -851,7 +851,7 @@ - <userId>0</userId> + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> diff --git a/tests/PHPUnit/Integration/expected/test_ManyVisitorsOneWebsiteTest__Live.getLastVisitsDetails_month.xml b/tests/PHPUnit/Integration/expected/test_ManyVisitorsOneWebsiteTest__Live.getLastVisitsDetails_month.xml index 59c6334162..ce1748a73a 100644 --- a/tests/PHPUnit/Integration/expected/test_ManyVisitorsOneWebsiteTest__Live.getLastVisitsDetails_month.xml +++ b/tests/PHPUnit/Integration/expected/test_ManyVisitorsOneWebsiteTest__Live.getLastVisitsDetails_month.xml @@ -181,7 +181,7 @@ - <userId>0</userId> + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -306,7 +306,7 @@ - <userId>0</userId> + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -445,7 +445,7 @@ - <userId>0</userId> + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -570,7 +570,7 @@ - <userId>0</userId> + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -726,7 +726,7 @@ - <userId>0</userId> + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -851,7 +851,7 @@ - <userId>0</userId> + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -990,7 +990,7 @@ - <userId>0</userId> + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -1115,7 +1115,7 @@ - <userId>0</userId> + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -1271,7 +1271,7 @@ - <userId>0</userId> + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> diff --git a/tests/PHPUnit/Integration/expected/test_OneVisitorTwoVisits_withCookieSupport__Live.getLastVisitsDetails_day.xml b/tests/PHPUnit/Integration/expected/test_OneVisitorTwoVisits_withCookieSupport__Live.getLastVisitsDetails_day.xml index b49b3c5e84..2ceb5d70bf 100644 --- a/tests/PHPUnit/Integration/expected/test_OneVisitorTwoVisits_withCookieSupport__Live.getLastVisitsDetails_day.xml +++ b/tests/PHPUnit/Integration/expected/test_OneVisitorTwoVisits_withCookieSupport__Live.getLastVisitsDetails_day.xml @@ -36,7 +36,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>returning</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -224,7 +224,7 @@ <searches>1</searches> <actions>8</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>1</visitConverted> diff --git a/tests/PHPUnit/Integration/expected/test_OneVisitor_NoKeywordSpecified__Live.getLastVisitsDetails_day.xml b/tests/PHPUnit/Integration/expected/test_OneVisitor_NoKeywordSpecified__Live.getLastVisitsDetails_day.xml index a7fdbfae5e..9175168a74 100644 --- a/tests/PHPUnit/Integration/expected/test_OneVisitor_NoKeywordSpecified__Live.getLastVisitsDetails_day.xml +++ b/tests/PHPUnit/Integration/expected/test_OneVisitor_NoKeywordSpecified__Live.getLastVisitsDetails_day.xml @@ -4,7 +4,6 @@ <idSite>1</idSite> <idVisit>2</idVisit> <visitIp>156.5.0.0</visitIp> - <userId /> <actionDetails> <row> @@ -24,6 +23,7 @@ + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>0</visitConverted> @@ -101,7 +101,6 @@ <idSite>1</idSite> <idVisit>1</idVisit> <visitIp>156.5.0.0</visitIp> - <userId /> <actionDetails> <row> @@ -131,6 +130,7 @@ + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>1</visitConverted> diff --git a/tests/PHPUnit/Integration/expected/test_OneVisitor_SeveralDays_ImportedInRandomOrderTest_shouldShowOneVisit_InEachOfThreeDays__Live.getLastVisitsDetails_month.xml b/tests/PHPUnit/Integration/expected/test_OneVisitor_SeveralDays_ImportedInRandomOrderTest_shouldShowOneVisit_InEachOfThreeDays__Live.getLastVisitsDetails_month.xml index 6b02eec11b..f77489d7a3 100644 --- a/tests/PHPUnit/Integration/expected/test_OneVisitor_SeveralDays_ImportedInRandomOrderTest_shouldShowOneVisit_InEachOfThreeDays__Live.getLastVisitsDetails_month.xml +++ b/tests/PHPUnit/Integration/expected/test_OneVisitor_SeveralDays_ImportedInRandomOrderTest_shouldShowOneVisit_InEachOfThreeDays__Live.getLastVisitsDetails_month.xml @@ -30,7 +30,7 @@ <lastActionDateTime>2013-04-07 10:00:00</lastActionDateTime> <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>0</visitConverted> @@ -123,7 +123,7 @@ <lastActionDateTime>2013-04-06 11:00:00</lastActionDateTime> <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>0</visitConverted> @@ -216,7 +216,7 @@ <lastActionDateTime>2013-04-05 12:00:00</lastActionDateTime> <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>0</visitConverted> diff --git a/tests/PHPUnit/Integration/expected/test_PivotByQueryParamTest_test_PivotBySubtableDimension_WhenEntireHirearchyIsNotLoaded__Referrers.getKeywords_week.xml b/tests/PHPUnit/Integration/expected/test_PivotByQueryParamTest_test_PivotBySubtableDimension_WhenEntireHirearchyIsNotLoaded__Referrers.getKeywords_week.xml index 071ef336c0..6ab5630422 100644 --- a/tests/PHPUnit/Integration/expected/test_PivotByQueryParamTest_test_PivotBySubtableDimension_WhenEntireHirearchyIsNotLoaded__Referrers.getKeywords_week.xml +++ b/tests/PHPUnit/Integration/expected/test_PivotByQueryParamTest_test_PivotBySubtableDimension_WhenEntireHirearchyIsNotLoaded__Referrers.getKeywords_week.xml @@ -54,4 +54,4 @@ <col name="5. Alexa">0</col> <col name="6. Babylon">0</col> </row> -</result> +</result> \ No newline at end of file diff --git a/tests/PHPUnit/Integration/expected/test_TimezonesTest__Live.getLastVisitsDetails_day.xml b/tests/PHPUnit/Integration/expected/test_TimezonesTest__Live.getLastVisitsDetails_day.xml index b4156876a6..4d5a3bb878 100644 --- a/tests/PHPUnit/Integration/expected/test_TimezonesTest__Live.getLastVisitsDetails_day.xml +++ b/tests/PHPUnit/Integration/expected/test_TimezonesTest__Live.getLastVisitsDetails_day.xml @@ -25,7 +25,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>0</visitConverted> diff --git a/tests/PHPUnit/Integration/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_and_graph__ScheduledReports.generateReport_month.original.html b/tests/PHPUnit/Integration/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_and_graph__ScheduledReports.generateReport_month.original.html index 46ba01f039..c5183f184f 100644 --- a/tests/PHPUnit/Integration/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_and_graph__ScheduledReports.generateReport_month.original.html +++ b/tests/PHPUnit/Integration/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_and_graph__ScheduledReports.generateReport_month.original.html @@ -148,6 +148,16 @@ <a href="#Actions_getDownloads" style="text-decoration:none; color: rgb(68,68,68);"> Downloads </a> + </li> + <li> + <a href="#Contents_getContentNames" style="text-decoration:none; color: rgb(68,68,68);"> + Content Name + </a> + </li> + <li> + <a href="#Contents_getContentPieces" style="text-decoration:none; color: rgb(68,68,68);"> + Content Piece + </a> </li> <li> <a href="#Events_getCategory" style="text-decoration:none; color: rgb(68,68,68);"> @@ -438,7 +448,7 @@ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> Users </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 1 + 0 </td> </tr> @@ -3817,6 +3827,16 @@ Downloads </h2> + There is no data for this report. +<h2 id="Contents_getContentNames" style="color: rgb(126,115,99); font-size: 11pt;"> + Content Name +</h2> + + There is no data for this report. +<h2 id="Contents_getContentPieces" style="color: rgb(126,115,99); font-size: 11pt;"> + Content Piece +</h2> + There is no data for this report. <h2 id="Events_getCategory" style="color: rgb(126,115,99); font-size: 11pt;"> Event Categories diff --git a/tests/PHPUnit/Integration/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_pdf_tables_only__ScheduledReports.generateReport_month.original.pdf b/tests/PHPUnit/Integration/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_pdf_tables_only__ScheduledReports.generateReport_month.original.pdf index 5fecafa3697b33829a433ff4a7d32c4f65e76309..7891c7d5ca81b8bb7d192678110ae18739417f34 100644 GIT binary patch delta 23226 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 UY8scRfw_UXIhU%ctG^o;0Pz!i+5i9m delta 22460 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	>`4Cp!NI4&U1MiD$aH9K6lTB&1v7k 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 diff --git a/tests/PHPUnit/Integration/expected/test_UserId_VisitorId__Live.getLastVisitsDetails_month.xml b/tests/PHPUnit/Integration/expected/test_UserId_VisitorId__Live.getLastVisitsDetails_month.xml index 4bab18470e..cc28b360a0 100644 --- a/tests/PHPUnit/Integration/expected/test_UserId_VisitorId__Live.getLastVisitsDetails_month.xml +++ b/tests/PHPUnit/Integration/expected/test_UserId_VisitorId__Live.getLastVisitsDetails_month.xml @@ -16,7 +16,7 @@ </actionDetails> <lastActionDateTime>2010-03-06 11:22:33</lastActionDateTime> <actions>1</actions> - <userId>0</userId> + <userId /> </row> <row> <idVisit>2</idVisit> @@ -45,11 +45,11 @@ </actionDetails> <lastActionDateTime>2010-03-06 11:28:33</lastActionDateTime> <actions>2</actions> - <userId>0</userId> + <userId /> </row> <row> <idVisit>3</idVisit> - <visitorId>6be121d126d93581</visitorId> + <visitorId>9395988394d4568d</visitorId> <actionDetails> <row> <type>action</type> @@ -58,17 +58,10 @@ <pageIdAction>6</pageIdAction> <serverTimePretty>Sat 6 Mar 13:16:33</serverTimePretty> <pageId>4</pageId> + <timeSpent>360</timeSpent> + <timeSpentPretty>6 min 0s</timeSpentPretty> <icon /> </row> - </actionDetails> - <lastActionDateTime>2010-03-06 13:16:33</lastActionDateTime> - <actions>1</actions> - <userId>0</userId> - </row> - <row> - <idVisit>4</idVisit> - <visitorId>9395988394d4568d</visitorId> - <actionDetails> <row> <type>action</type> <url>http://example.org/index.htm</url> @@ -91,11 +84,11 @@ </row> </actionDetails> <lastActionDateTime>2010-03-06 13:28:33</lastActionDateTime> - <actions>2</actions> + <actions>3</actions> <userId>email@example.com</userId> </row> <row> - <idVisit>5</idVisit> + <idVisit>4</idVisit> <visitorId>c9ade7a5a103b2ed</visitorId> <actionDetails> <row> @@ -113,7 +106,7 @@ <userId>new-email@example.com</userId> </row> <row> - <idVisit>6</idVisit> + <idVisit>5</idVisit> <visitorId>c9ade7a5a103b2ed</visitorId> <actionDetails> <row> @@ -168,7 +161,7 @@ <userId>new-email@example.com</userId> </row> <row> - <idVisit>7</idVisit> + <idVisit>6</idVisit> <visitorId>5e15b4d842cc294d</visitorId> <actionDetails> <row> @@ -183,10 +176,10 @@ </actionDetails> <lastActionDateTime>2010-03-06 16:28:33</lastActionDateTime> <actions>1</actions> - <userId>0</userId> + <userId /> </row> <row> - <idVisit>8</idVisit> + <idVisit>7</idVisit> <visitorId>9395988394d4568d</visitorId> <actionDetails> <row> @@ -204,7 +197,7 @@ <userId>email@example.com</userId> </row> <row> - <idVisit>9</idVisit> + <idVisit>8</idVisit> <visitorId>72d4b5565daf5546</visitorId> <actionDetails> <row> diff --git a/tests/PHPUnit/Integration/expected/test_UserId_VisitorId__VisitsSummary.get_day.xml b/tests/PHPUnit/Integration/expected/test_UserId_VisitorId__VisitsSummary.get_day.xml index fae6d03541..ca85e8dede 100644 --- a/tests/PHPUnit/Integration/expected/test_UserId_VisitorId__VisitsSummary.get_day.xml +++ b/tests/PHPUnit/Integration/expected/test_UserId_VisitorId__VisitsSummary.get_day.xml @@ -1,14 +1,14 @@ <?xml version="1.0" encoding="utf-8" ?> <result> - <nb_uniq_visitors>6</nb_uniq_visitors> + <nb_uniq_visitors>5</nb_uniq_visitors> <nb_users>2</nb_users> - <nb_visits>7</nb_visits> + <nb_visits>6</nb_visits> <nb_actions>10</nb_actions> <nb_visits_converted>1</nb_visits_converted> - <bounce_count>4</bounce_count> - <sum_visit_length>1623</sum_visit_length> - <max_actions>2</max_actions> - <bounce_rate>57%</bounce_rate> - <nb_actions_per_visit>1.4</nb_actions_per_visit> - <avg_time_on_site>232</avg_time_on_site> + <bounce_count>3</bounce_count> + <sum_visit_length>1983</sum_visit_length> + <max_actions>3</max_actions> + <bounce_rate>50%</bounce_rate> + <nb_actions_per_visit>1.7</nb_actions_per_visit> + <avg_time_on_site>331</avg_time_on_site> </result> \ No newline at end of file diff --git a/tests/PHPUnit/Integration/expected/test_UserId_VisitorId__VisitsSummary.get_month.xml b/tests/PHPUnit/Integration/expected/test_UserId_VisitorId__VisitsSummary.get_month.xml index fb725dd44a..7731535795 100644 --- a/tests/PHPUnit/Integration/expected/test_UserId_VisitorId__VisitsSummary.get_month.xml +++ b/tests/PHPUnit/Integration/expected/test_UserId_VisitorId__VisitsSummary.get_month.xml @@ -1,14 +1,14 @@ <?xml version="1.0" encoding="utf-8" ?> <result> - <nb_uniq_visitors>7</nb_uniq_visitors> + <nb_uniq_visitors>6</nb_uniq_visitors> <nb_users>3</nb_users> - <nb_visits>9</nb_visits> + <nb_visits>8</nb_visits> <nb_actions>12</nb_actions> <nb_visits_converted>1</nb_visits_converted> - <bounce_count>6</bounce_count> - <sum_visit_length>1623</sum_visit_length> - <max_actions>2</max_actions> - <bounce_rate>67%</bounce_rate> - <nb_actions_per_visit>1.3</nb_actions_per_visit> - <avg_time_on_site>180</avg_time_on_site> + <bounce_count>5</bounce_count> + <sum_visit_length>1983</sum_visit_length> + <max_actions>3</max_actions> + <bounce_rate>63%</bounce_rate> + <nb_actions_per_visit>1.5</nb_actions_per_visit> + <avg_time_on_site>248</avg_time_on_site> </result> \ No newline at end of file diff --git a/tests/PHPUnit/Integration/expected/test_UserId_VisitorId__VisitsSummary.get_week.xml b/tests/PHPUnit/Integration/expected/test_UserId_VisitorId__VisitsSummary.get_week.xml index fae6d03541..ca85e8dede 100644 --- a/tests/PHPUnit/Integration/expected/test_UserId_VisitorId__VisitsSummary.get_week.xml +++ b/tests/PHPUnit/Integration/expected/test_UserId_VisitorId__VisitsSummary.get_week.xml @@ -1,14 +1,14 @@ <?xml version="1.0" encoding="utf-8" ?> <result> - <nb_uniq_visitors>6</nb_uniq_visitors> + <nb_uniq_visitors>5</nb_uniq_visitors> <nb_users>2</nb_users> - <nb_visits>7</nb_visits> + <nb_visits>6</nb_visits> <nb_actions>10</nb_actions> <nb_visits_converted>1</nb_visits_converted> - <bounce_count>4</bounce_count> - <sum_visit_length>1623</sum_visit_length> - <max_actions>2</max_actions> - <bounce_rate>57%</bounce_rate> - <nb_actions_per_visit>1.4</nb_actions_per_visit> - <avg_time_on_site>232</avg_time_on_site> + <bounce_count>3</bounce_count> + <sum_visit_length>1983</sum_visit_length> + <max_actions>3</max_actions> + <bounce_rate>50%</bounce_rate> + <nb_actions_per_visit>1.7</nb_actions_per_visit> + <avg_time_on_site>331</avg_time_on_site> </result> \ No newline at end of file diff --git a/tests/PHPUnit/Integration/expected/test_UserId_VisitorId__VisitsSummary.get_year.xml b/tests/PHPUnit/Integration/expected/test_UserId_VisitorId__VisitsSummary.get_year.xml index 27c9a85e60..84850ee827 100644 --- a/tests/PHPUnit/Integration/expected/test_UserId_VisitorId__VisitsSummary.get_year.xml +++ b/tests/PHPUnit/Integration/expected/test_UserId_VisitorId__VisitsSummary.get_year.xml @@ -1,12 +1,12 @@ <?xml version="1.0" encoding="utf-8" ?> <result> - <nb_visits>9</nb_visits> + <nb_visits>8</nb_visits> <nb_actions>12</nb_actions> <nb_visits_converted>1</nb_visits_converted> - <bounce_count>6</bounce_count> - <sum_visit_length>1623</sum_visit_length> - <max_actions>2</max_actions> - <bounce_rate>67%</bounce_rate> - <nb_actions_per_visit>1.3</nb_actions_per_visit> - <avg_time_on_site>180</avg_time_on_site> + <bounce_count>5</bounce_count> + <sum_visit_length>1983</sum_visit_length> + <max_actions>3</max_actions> + <bounce_rate>63%</bounce_rate> + <nb_actions_per_visit>1.5</nb_actions_per_visit> + <avg_time_on_site>248</avg_time_on_site> </result> \ No newline at end of file diff --git a/tests/PHPUnit/Integration/expected/test_csvExport__Live.getLastVisitsDetails_day.csv b/tests/PHPUnit/Integration/expected/test_csvExport__Live.getLastVisitsDetails_day.csv index 76e143458527a947b8544f273b5116651ad64247..c287c4bf018d6dd8074cfb02fc330e94a57a772d 100644 GIT binary patch delta 22 ecmexm`^9#H7uRMVE<Lu*H3D^PoBxRYV+R0k$q6?A delta 32 ocmexj`^$EN7Z;<!W=}4CHb#TZ<pT9=j0Tg-1rj%hiO*vP0Jj$kIsgCw diff --git a/tests/PHPUnit/Integration/expected/test_ecommerceOrderWithItems_LiveEcommerceStatusOrdered__Live.getLastVisitsDetails_day.xml b/tests/PHPUnit/Integration/expected/test_ecommerceOrderWithItems_LiveEcommerceStatusOrdered__Live.getLastVisitsDetails_day.xml index 52c78b5310..25ac19a415 100644 --- a/tests/PHPUnit/Integration/expected/test_ecommerceOrderWithItems_LiveEcommerceStatusOrdered__Live.getLastVisitsDetails_day.xml +++ b/tests/PHPUnit/Integration/expected/test_ecommerceOrderWithItems_LiveEcommerceStatusOrdered__Live.getLastVisitsDetails_day.xml @@ -51,7 +51,7 @@ <searches>0</searches> <actions>0</actions> - <userId>0</userId> + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -262,7 +262,7 @@ <searches>0</searches> <actions>3</actions> - <userId>0</userId> + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> diff --git a/tests/PHPUnit/Integration/expected/test_ecommerceOrderWithItems__Live.getLastVisitsDetails_day.xml b/tests/PHPUnit/Integration/expected/test_ecommerceOrderWithItems__Live.getLastVisitsDetails_day.xml index 0bd82be2b7..30ae50eb8f 100644 --- a/tests/PHPUnit/Integration/expected/test_ecommerceOrderWithItems__Live.getLastVisitsDetails_day.xml +++ b/tests/PHPUnit/Integration/expected/test_ecommerceOrderWithItems__Live.getLastVisitsDetails_day.xml @@ -127,7 +127,7 @@ <searches>0</searches> <actions>3</actions> - <userId>0</userId> + <userId /> <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>0</visitConverted> @@ -457,7 +457,7 @@ <searches>0</searches> <actions>6</actions> - <userId>0</userId> + <userId /> <visitorType>returning</visitorType> <visitorTypeIcon>plugins/Live/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>1</visitConverted> @@ -677,7 +677,7 @@ <searches>0</searches> <actions>4</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>1</visitConverted> diff --git a/tests/PHPUnit/Integration/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_and_graph__ScheduledReports.generateReport_week.original.html b/tests/PHPUnit/Integration/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_and_graph__ScheduledReports.generateReport_week.original.html index 1afd49dd9c..b5f59686c4 100644 --- a/tests/PHPUnit/Integration/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_and_graph__ScheduledReports.generateReport_week.original.html +++ b/tests/PHPUnit/Integration/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_and_graph__ScheduledReports.generateReport_week.original.html @@ -193,6 +193,16 @@ <a href="#Actions_getDownloads" style="text-decoration:none; color: rgb(68,68,68);"> Downloads </a> + </li> + <li> + <a href="#Contents_getContentNames" style="text-decoration:none; color: rgb(68,68,68);"> + Content Name + </a> + </li> + <li> + <a href="#Contents_getContentPieces" style="text-decoration:none; color: rgb(68,68,68);"> + Content Piece + </a> </li> <li> <a href="#Events_getCategory" style="text-decoration:none; color: rgb(68,68,68);"> @@ -498,7 +508,7 @@ <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> Users </td> <td style="font-size: 11pt; border-bottom: 1px solid rgb(231,231,231); padding: 5px 0 5px 5px;"> - 1 + 0 </td> </tr> @@ -4872,6 +4882,16 @@ Downloads </h2> + There is no data for this report. +<h2 id="Contents_getContentNames" style="color: rgb(126,115,99); font-size: 11pt;"> + Content Name +</h2> + + There is no data for this report. +<h2 id="Contents_getContentPieces" style="color: rgb(126,115,99); font-size: 11pt;"> + Content Piece +</h2> + There is no data for this report. <h2 id="Events_getCategory" style="color: rgb(126,115,99); font-size: 11pt;"> Event Categories diff --git a/tests/PHPUnit/Integration/expected/test_ecommerceOrderWithItems_scheduled_report_in_pdf_tables_only__ScheduledReports.generateReport_week.original.pdf b/tests/PHPUnit/Integration/expected/test_ecommerceOrderWithItems_scheduled_report_in_pdf_tables_only__ScheduledReports.generateReport_week.original.pdf index 0bb4a30c1767307a2a0b817f1882bc9395092609..e8e37848fd2f107a6b9e3ad041a811634a3f2642 100644 GIT binary patch delta 7825 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 delta 7439 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 diff --git a/tests/PHPUnit/Integration/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__Live.getLastVisitsDetails_range.xml b/tests/PHPUnit/Integration/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__Live.getLastVisitsDetails_range.xml index 0a241b4081..8112427124 100644 --- a/tests/PHPUnit/Integration/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__Live.getLastVisitsDetails_range.xml +++ b/tests/PHPUnit/Integration/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__Live.getLastVisitsDetails_range.xml @@ -25,7 +25,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>0</visitConverted> @@ -140,7 +140,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>1</visitConverted> @@ -311,7 +311,7 @@ <searches>0</searches> <actions>3</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>1</visitConverted> diff --git a/tests/PHPUnit/Integration/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__Live.getVisitorProfile.xml b/tests/PHPUnit/Integration/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__Live.getVisitorProfile.xml index e75075382d..20546709ec 100644 --- a/tests/PHPUnit/Integration/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__Live.getVisitorProfile.xml +++ b/tests/PHPUnit/Integration/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__Live.getVisitorProfile.xml @@ -68,7 +68,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>0</visitConverted> @@ -184,7 +184,7 @@ <searches>0</searches> <actions>1</actions> - <userId>0</userId> + <userId /> <visitorType>new</visitorType> <visitorTypeIcon /> <visitConverted>1</visitConverted> -- GitLab