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:
authormattab <matthieu.aubry@gmail.com>2014-04-07 05:36:51 +0400
committermattab <matthieu.aubry@gmail.com>2014-04-07 05:36:51 +0400
commitefb2fc667c65d22a07ed82e880c48ee58e2c0c62 (patch)
tree63d36779f8b604e3f1878ffc0b621ff0f80922c9
parent1790f8a15efa15307b2b24843eb1276ec8767c14 (diff)
parent44aade37e9f6fcdc72549334b2eb2515a800cb73 (diff)
Merge remote-tracking branch 'origin/master'
Conflicts: tests/PHPUnit/UI
-rw-r--r--core/Piwik.php5
m---------plugins/CustomAlerts0
-rw-r--r--plugins/CustomVariables/tests/CustomVariablesIntegrationTest.php61
-rw-r--r--plugins/CustomVariables/tests/Fixtures/VisitWithManyCustomVariables.php84
-rw-r--r--plugins/CustomVariables/tests/expected/test_CustomVariablesIntegrationTest__CustomVariables.getCustomVariables_day.xml379
-rw-r--r--plugins/CustomVariables/tests/expected/test_CustomVariablesIntegrationTest__Live.getLastVisitsDetails_day.xml175
-rw-r--r--plugins/CustomVariables/tests/processed/test_CustomVariablesIntegrationTest__CustomVariables.getCustomVariables_day.xml379
-rw-r--r--plugins/CustomVariables/tests/processed/test_CustomVariablesIntegrationTest__Live.getLastVisitsDetails_day.xml175
m---------plugins/TasksTimetable0
m---------plugins/TreemapVisualization0
m---------tests/PHPUnit/UI0
11 files changed, 1256 insertions, 2 deletions
diff --git a/core/Piwik.php b/core/Piwik.php
index 1e93ff22dc..3117ecd508 100644
--- a/core/Piwik.php
+++ b/core/Piwik.php
@@ -151,15 +151,16 @@ class Piwik
if ($mergeSubdomains || $mergeAliasUrls) {
$options .= self::getJavascriptTagOptions($idSite, $mergeSubdomains, $mergeAliasUrls);
}
+ $maxCustomVars = Plugins\CustomVariables\CustomVariables::getMaxCustomVariables();
if ($visitorCustomVariables) {
- $options .= ' // you can set up to 5 custom variables for each visitor' . PHP_EOL;
+ $options .= ' // you can set up to ' . $maxCustomVars . ' custom variables for each visitor' . PHP_EOL;
$index = 0;
foreach ($visitorCustomVariables as $visitorCustomVariable) {
$options .= ' _paq.push(["setCustomVariable", '.$index++.', "'.$visitorCustomVariable[0].'", "'.$visitorCustomVariable[1].'", "visit"]);' . PHP_EOL;
}
}
if ($pageCustomVariables) {
- $options .= ' // you can set up to 5 custom variables for each action (page view, download, click, site search)' . PHP_EOL;
+ $options .= ' // you can set up to ' . $maxCustomVars . ' custom variables for each action (page view, download, click, site search)' . PHP_EOL;
$index = 0;
foreach ($pageCustomVariables as $pageCustomVariable) {
$options .= ' _paq.push(["setCustomVariable", '.$index++.', "'.$pageCustomVariable[0].'", "'.$pageCustomVariable[1].'", "page"]);' . PHP_EOL;
diff --git a/plugins/CustomAlerts b/plugins/CustomAlerts
-Subproject 84ea3186b64eba07fe594a145681777d5fccf97
+Subproject c9edd879003ca7a9f75d81fe07ec6ff0c2340f9
diff --git a/plugins/CustomVariables/tests/CustomVariablesIntegrationTest.php b/plugins/CustomVariables/tests/CustomVariablesIntegrationTest.php
new file mode 100644
index 0000000000..fd4cc3cc1c
--- /dev/null
+++ b/plugins/CustomVariables/tests/CustomVariablesIntegrationTest.php
@@ -0,0 +1,61 @@
+<?php
+/**
+ * Piwik - Open source web analytics
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ */
+
+namespace Piwik\Plugins\CustomVariables\tests;
+use Piwik\Plugins\CustomVariables\CustomVariables;
+use Piwik\Tracker\Cache;
+
+/**
+ * @group CustomVariables
+ * @group CustomVariablesTest
+ * @group Database
+ */
+class CustomVariablesIntegrationTest extends \IntegrationTestCase
+{
+ /**
+ * @var Fixtures\VisitWithManyCustomVariables
+ */
+ public static $fixture = null; // initialized below class definition
+
+ public static function getOutputPrefix()
+ {
+ return 'CustomVariablesIntegrationTest';
+ }
+
+ /**
+ * @dataProvider getApiForTesting
+ * @group Integration
+ */
+ public function testApi($api, $params)
+ {
+ $this->runApiTests($api, $params);
+ }
+
+ public function getApiForTesting()
+ {
+ $apiToCall = array('CustomVariables.getCustomVariables', 'Live.getLastVisitsDetails');
+
+ return array(
+ array($apiToCall, array(
+ 'idSite' => self::$fixture->idSite,
+ 'date' => self::$fixture->dateTime,
+ 'periods' => array('day'))
+ )
+ );
+ }
+
+ /**
+ * Path where expected/processed output files are stored.
+ */
+ public static function getPathToTestDirectory()
+ {
+ return __DIR__;
+ }
+}
+
+CustomVariablesIntegrationTest::$fixture = new Fixtures\VisitWithManyCustomVariables(); \ No newline at end of file
diff --git a/plugins/CustomVariables/tests/Fixtures/VisitWithManyCustomVariables.php b/plugins/CustomVariables/tests/Fixtures/VisitWithManyCustomVariables.php
new file mode 100644
index 0000000000..932658a816
--- /dev/null
+++ b/plugins/CustomVariables/tests/Fixtures/VisitWithManyCustomVariables.php
@@ -0,0 +1,84 @@
+<?php
+/**
+ * Piwik - Open source web analytics
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ */
+namespace Piwik\Plugins\CustomVariables\tests\Fixtures;
+
+use Piwik\Plugins\CustomVariables\Model;
+use Piwik\Plugins\Goals\API;
+
+/**
+ * Adds one site with two goals and tracks two visits with custom variables.
+ */
+class VisitWithManyCustomVariables extends \Fixture
+{
+ public $dateTime = '2010-01-03 11:22:33';
+ public $idSite = 1;
+ public $idGoal1 = 1;
+ public $visitorId = '61e8cc2d51fea26d';
+ private $numCustomVars = 8;
+
+ public function setUp()
+ {
+ $this->setUpCustomVars();
+ $this->setUpWebsitesAndGoals();
+ $this->trackVisits();
+ }
+
+ public function tearDown()
+ {
+ // empty
+ }
+
+ private function setUpCustomVars()
+ {
+ foreach (Model::getScopes() as $scope) {
+ $model = new Model($scope);
+ $model->addCustomVariable();
+ $model->addCustomVariable();
+ $model->addCustomVariable();
+ }
+ }
+
+ private function setUpWebsitesAndGoals()
+ {
+ // tests run in UTC, the Tracker in UTC
+ if (!self::siteCreated($idSite = 1)) {
+ self::createWebsite($this->dateTime);
+ }
+
+ if (!self::goalExists($idSite = 1, $idGoal = 1)) {
+ API::getInstance()->addGoal($this->idSite, 'triggered js', 'manually', '', '');
+ }
+ }
+
+ private function trackVisits()
+ {
+ $idGoal = $this->idGoal1;
+
+ $visitorA = self::getTracker($this->idSite, $this->dateTime, $defaultInit = true);
+ $visitorA->setUrl('http://localhost');
+ // Used to test actual referrer + keyword position in Live!
+ $visitorA->setUrlReferrer(urldecode('http://www.google.com/url?sa=t&source=web&cd=1&ved=0CB4QFjAA&url=http%3A%2F%2Fpiwik.org%2F&rct=j&q=this%20keyword%20should%20be%20ranked&ei=V8WfTePkKKLfiALrpZWGAw&usg=AFQjCNF_MGJRqKPvaKuUokHtZ3VvNG9ALw&sig2=BvKAdCtNixsmfNWXjsNyMw'));
+
+ // no campaign, but a search engine to attribute the goal conversion to
+ $attribution = array(
+ '',
+ '',
+ 1302306504,
+ 'http://www.google.com/search?q=piwik&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-GB:official&client=firefox-a'
+ );
+ $visitorA->setAttributionInfo(json_encode($attribution));
+
+ for ($index = 1; $index <= $this->numCustomVars; $index++) {
+ $visitorA->setCustomVariable($index, 'Name_VISIT_' . $index, 'Val_VISIT' . $index, 'visit');
+ $visitorA->setCustomVariable($index, 'Name_PAGE_' . $index, 'Val_PAGE' . $index, 'page');
+ }
+
+ self::checkResponse($visitorA->doTrackPageView('Profile page'));
+ self::checkResponse($visitorA->doTrackGoal($idGoal));
+ }
+}
diff --git a/plugins/CustomVariables/tests/expected/test_CustomVariablesIntegrationTest__CustomVariables.getCustomVariables_day.xml b/plugins/CustomVariables/tests/expected/test_CustomVariablesIntegrationTest__CustomVariables.getCustomVariables_day.xml
new file mode 100644
index 0000000000..8747fe2b5c
--- /dev/null
+++ b/plugins/CustomVariables/tests/expected/test_CustomVariablesIntegrationTest__CustomVariables.getCustomVariables_day.xml
@@ -0,0 +1,379 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<result>
+ <row>
+ <label>Name_PAGE_1</label>
+ <nb_actions>1</nb_actions>
+ <subtable>
+ <row>
+ <label>Val_PAGE1</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>Name_PAGE_2</label>
+ <nb_actions>1</nb_actions>
+ <subtable>
+ <row>
+ <label>Val_PAGE2</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>Name_PAGE_3</label>
+ <nb_actions>1</nb_actions>
+ <subtable>
+ <row>
+ <label>Val_PAGE3</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>Name_PAGE_4</label>
+ <nb_actions>1</nb_actions>
+ <subtable>
+ <row>
+ <label>Val_PAGE4</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>Name_PAGE_5</label>
+ <nb_actions>1</nb_actions>
+ <subtable>
+ <row>
+ <label>Val_PAGE5</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>Name_PAGE_6</label>
+ <nb_actions>1</nb_actions>
+ <subtable>
+ <row>
+ <label>Val_PAGE6</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>Name_PAGE_7</label>
+ <nb_actions>1</nb_actions>
+ <subtable>
+ <row>
+ <label>Val_PAGE7</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>Name_PAGE_8</label>
+ <nb_actions>1</nb_actions>
+ <subtable>
+ <row>
+ <label>Val_PAGE8</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>Name_VISIT_1</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ <max_actions>1</max_actions>
+ <sum_visit_length>4</sum_visit_length>
+ <bounce_count>1</bounce_count>
+ <goals>
+ <row idgoal='1'>
+ <nb_conversions>1</nb_conversions>
+ <nb_visits_converted>1</nb_visits_converted>
+ <revenue>0</revenue>
+ </row>
+ </goals>
+ <nb_conversions>1</nb_conversions>
+ <revenue>0</revenue>
+ <subtable>
+ <row>
+ <label>Val_VISIT1</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ <max_actions>1</max_actions>
+ <sum_visit_length>4</sum_visit_length>
+ <bounce_count>1</bounce_count>
+ <goals>
+ <row idgoal='1'>
+ <nb_conversions>1</nb_conversions>
+ <nb_visits_converted>1</nb_visits_converted>
+ <revenue>0</revenue>
+ </row>
+ </goals>
+ <nb_conversions>1</nb_conversions>
+ <revenue>0</revenue>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>Name_VISIT_2</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ <max_actions>1</max_actions>
+ <sum_visit_length>4</sum_visit_length>
+ <bounce_count>1</bounce_count>
+ <goals>
+ <row idgoal='1'>
+ <nb_conversions>1</nb_conversions>
+ <nb_visits_converted>1</nb_visits_converted>
+ <revenue>0</revenue>
+ </row>
+ </goals>
+ <nb_conversions>1</nb_conversions>
+ <revenue>0</revenue>
+ <subtable>
+ <row>
+ <label>Val_VISIT2</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ <max_actions>1</max_actions>
+ <sum_visit_length>4</sum_visit_length>
+ <bounce_count>1</bounce_count>
+ <goals>
+ <row idgoal='1'>
+ <nb_conversions>1</nb_conversions>
+ <nb_visits_converted>1</nb_visits_converted>
+ <revenue>0</revenue>
+ </row>
+ </goals>
+ <nb_conversions>1</nb_conversions>
+ <revenue>0</revenue>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>Name_VISIT_3</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ <max_actions>1</max_actions>
+ <sum_visit_length>4</sum_visit_length>
+ <bounce_count>1</bounce_count>
+ <goals>
+ <row idgoal='1'>
+ <nb_conversions>1</nb_conversions>
+ <nb_visits_converted>1</nb_visits_converted>
+ <revenue>0</revenue>
+ </row>
+ </goals>
+ <nb_conversions>1</nb_conversions>
+ <revenue>0</revenue>
+ <subtable>
+ <row>
+ <label>Val_VISIT3</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ <max_actions>1</max_actions>
+ <sum_visit_length>4</sum_visit_length>
+ <bounce_count>1</bounce_count>
+ <goals>
+ <row idgoal='1'>
+ <nb_conversions>1</nb_conversions>
+ <nb_visits_converted>1</nb_visits_converted>
+ <revenue>0</revenue>
+ </row>
+ </goals>
+ <nb_conversions>1</nb_conversions>
+ <revenue>0</revenue>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>Name_VISIT_4</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ <max_actions>1</max_actions>
+ <sum_visit_length>4</sum_visit_length>
+ <bounce_count>1</bounce_count>
+ <goals>
+ <row idgoal='1'>
+ <nb_conversions>1</nb_conversions>
+ <nb_visits_converted>1</nb_visits_converted>
+ <revenue>0</revenue>
+ </row>
+ </goals>
+ <nb_conversions>1</nb_conversions>
+ <revenue>0</revenue>
+ <subtable>
+ <row>
+ <label>Val_VISIT4</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ <max_actions>1</max_actions>
+ <sum_visit_length>4</sum_visit_length>
+ <bounce_count>1</bounce_count>
+ <goals>
+ <row idgoal='1'>
+ <nb_conversions>1</nb_conversions>
+ <nb_visits_converted>1</nb_visits_converted>
+ <revenue>0</revenue>
+ </row>
+ </goals>
+ <nb_conversions>1</nb_conversions>
+ <revenue>0</revenue>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>Name_VISIT_5</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ <max_actions>1</max_actions>
+ <sum_visit_length>4</sum_visit_length>
+ <bounce_count>1</bounce_count>
+ <goals>
+ <row idgoal='1'>
+ <nb_conversions>1</nb_conversions>
+ <nb_visits_converted>1</nb_visits_converted>
+ <revenue>0</revenue>
+ </row>
+ </goals>
+ <nb_conversions>1</nb_conversions>
+ <revenue>0</revenue>
+ <subtable>
+ <row>
+ <label>Val_VISIT5</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ <max_actions>1</max_actions>
+ <sum_visit_length>4</sum_visit_length>
+ <bounce_count>1</bounce_count>
+ <goals>
+ <row idgoal='1'>
+ <nb_conversions>1</nb_conversions>
+ <nb_visits_converted>1</nb_visits_converted>
+ <revenue>0</revenue>
+ </row>
+ </goals>
+ <nb_conversions>1</nb_conversions>
+ <revenue>0</revenue>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>Name_VISIT_6</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ <max_actions>1</max_actions>
+ <sum_visit_length>4</sum_visit_length>
+ <bounce_count>1</bounce_count>
+ <goals>
+ <row idgoal='1'>
+ <nb_conversions>1</nb_conversions>
+ <nb_visits_converted>1</nb_visits_converted>
+ <revenue>0</revenue>
+ </row>
+ </goals>
+ <nb_conversions>1</nb_conversions>
+ <revenue>0</revenue>
+ <subtable>
+ <row>
+ <label>Val_VISIT6</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ <max_actions>1</max_actions>
+ <sum_visit_length>4</sum_visit_length>
+ <bounce_count>1</bounce_count>
+ <goals>
+ <row idgoal='1'>
+ <nb_conversions>1</nb_conversions>
+ <nb_visits_converted>1</nb_visits_converted>
+ <revenue>0</revenue>
+ </row>
+ </goals>
+ <nb_conversions>1</nb_conversions>
+ <revenue>0</revenue>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>Name_VISIT_7</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ <max_actions>1</max_actions>
+ <sum_visit_length>4</sum_visit_length>
+ <bounce_count>1</bounce_count>
+ <goals>
+ <row idgoal='1'>
+ <nb_conversions>1</nb_conversions>
+ <nb_visits_converted>1</nb_visits_converted>
+ <revenue>0</revenue>
+ </row>
+ </goals>
+ <nb_conversions>1</nb_conversions>
+ <revenue>0</revenue>
+ <subtable>
+ <row>
+ <label>Val_VISIT7</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ <max_actions>1</max_actions>
+ <sum_visit_length>4</sum_visit_length>
+ <bounce_count>1</bounce_count>
+ <goals>
+ <row idgoal='1'>
+ <nb_conversions>1</nb_conversions>
+ <nb_visits_converted>1</nb_visits_converted>
+ <revenue>0</revenue>
+ </row>
+ </goals>
+ <nb_conversions>1</nb_conversions>
+ <revenue>0</revenue>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>Name_VISIT_8</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ <max_actions>1</max_actions>
+ <sum_visit_length>4</sum_visit_length>
+ <bounce_count>1</bounce_count>
+ <goals>
+ <row idgoal='1'>
+ <nb_conversions>1</nb_conversions>
+ <nb_visits_converted>1</nb_visits_converted>
+ <revenue>0</revenue>
+ </row>
+ </goals>
+ <nb_conversions>1</nb_conversions>
+ <revenue>0</revenue>
+ <subtable>
+ <row>
+ <label>Val_VISIT8</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ <max_actions>1</max_actions>
+ <sum_visit_length>4</sum_visit_length>
+ <bounce_count>1</bounce_count>
+ <goals>
+ <row idgoal='1'>
+ <nb_conversions>1</nb_conversions>
+ <nb_visits_converted>1</nb_visits_converted>
+ <revenue>0</revenue>
+ </row>
+ </goals>
+ <nb_conversions>1</nb_conversions>
+ <revenue>0</revenue>
+ </row>
+ </subtable>
+ </row>
+</result> \ 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
new file mode 100644
index 0000000000..0c88a7b4f8
--- /dev/null
+++ b/plugins/CustomVariables/tests/expected/test_CustomVariablesIntegrationTest__Live.getLastVisitsDetails_day.xml
@@ -0,0 +1,175 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<result>
+ <row>
+ <idSite>1</idSite>
+ <idVisit>1</idVisit>
+ <visitIp>156.5.3.2</visitIp>
+
+ <visitorType>new</visitorType>
+ <visitorTypeIcon />
+ <visitConverted>1</visitConverted>
+ <visitConvertedIcon>plugins/Zeitgeist/images/goal.png</visitConvertedIcon>
+ <visitEcommerceStatus>none</visitEcommerceStatus>
+ <visitEcommerceStatusIcon />
+ <searches>0</searches>
+ <events>0</events>
+ <actions>1</actions>
+ <actionDetails>
+ <row>
+ <type>goal</type>
+ <goalName>triggered js</goalName>
+ <goalId>1</goalId>
+ <revenue>0</revenue>
+ <goalPageId />
+
+ <url>http://localhost</url>
+ <icon>plugins/Zeitgeist/images/goal.png</icon>
+ </row>
+ <row>
+ <type>action</type>
+ <url>http://localhost</url>
+ <pageTitle>Profile page</pageTitle>
+ <pageIdAction>2</pageIdAction>
+
+ <pageId>1</pageId>
+ <customVariables>
+ <row>
+ <customVariablePageName1>Name_PAGE_1</customVariablePageName1>
+ <customVariablePageValue1>Val_PAGE1</customVariablePageValue1>
+ </row>
+ <row>
+ <customVariablePageName2>Name_PAGE_2</customVariablePageName2>
+ <customVariablePageValue2>Val_PAGE2</customVariablePageValue2>
+ </row>
+ <row>
+ <customVariablePageName3>Name_PAGE_3</customVariablePageName3>
+ <customVariablePageValue3>Val_PAGE3</customVariablePageValue3>
+ </row>
+ <row>
+ <customVariablePageName4>Name_PAGE_4</customVariablePageName4>
+ <customVariablePageValue4>Val_PAGE4</customVariablePageValue4>
+ </row>
+ <row>
+ <customVariablePageName5>Name_PAGE_5</customVariablePageName5>
+ <customVariablePageValue5>Val_PAGE5</customVariablePageValue5>
+ </row>
+ <row>
+ <customVariablePageName6>Name_PAGE_6</customVariablePageName6>
+ <customVariablePageValue6>Val_PAGE6</customVariablePageValue6>
+ </row>
+ <row>
+ <customVariablePageName7>Name_PAGE_7</customVariablePageName7>
+ <customVariablePageValue7>Val_PAGE7</customVariablePageValue7>
+ </row>
+ <row>
+ <customVariablePageName8>Name_PAGE_8</customVariablePageName8>
+ <customVariablePageValue8>Val_PAGE8</customVariablePageValue8>
+ </row>
+ </customVariables>
+ <icon />
+ </row>
+ </actionDetails>
+ <customVariables>
+ <row>
+ <customVariableName1>Name_VISIT_1</customVariableName1>
+ <customVariableValue1>Val_VISIT1</customVariableValue1>
+ </row>
+ <row>
+ <customVariableName2>Name_VISIT_2</customVariableName2>
+ <customVariableValue2>Val_VISIT2</customVariableValue2>
+ </row>
+ <row>
+ <customVariableName3>Name_VISIT_3</customVariableName3>
+ <customVariableValue3>Val_VISIT3</customVariableValue3>
+ </row>
+ <row>
+ <customVariableName4>Name_VISIT_4</customVariableName4>
+ <customVariableValue4>Val_VISIT4</customVariableValue4>
+ </row>
+ <row>
+ <customVariableName5>Name_VISIT_5</customVariableName5>
+ <customVariableValue5>Val_VISIT5</customVariableValue5>
+ </row>
+ <row>
+ <customVariableName6>Name_VISIT_6</customVariableName6>
+ <customVariableValue6>Val_VISIT6</customVariableValue6>
+ </row>
+ <row>
+ <customVariableName7>Name_VISIT_7</customVariableName7>
+ <customVariableValue7>Val_VISIT7</customVariableValue7>
+ </row>
+ <row>
+ <customVariableName8>Name_VISIT_8</customVariableName8>
+ <customVariableValue8>Val_VISIT8</customVariableValue8>
+ </row>
+ </customVariables>
+ <goalConversions>1</goalConversions>
+ <siteCurrency>USD</siteCurrency>
+ <siteCurrencySymbol>$</siteCurrencySymbol>
+
+ <visitLocalTime>12:34:06</visitLocalTime>
+ <visitLocalHour>12</visitLocalHour>
+
+
+
+
+ <visitDuration>4</visitDuration>
+ <visitDurationPretty>4s</visitDurationPretty>
+ <visitCount>1</visitCount>
+ <daysSinceLastVisit>0</daysSinceLastVisit>
+ <daysSinceFirstVisit>0</daysSinceFirstVisit>
+ <daysSinceLastEcommerceOrder>0</daysSinceLastEcommerceOrder>
+ <continent>Europe</continent>
+ <continentCode>eur</continentCode>
+ <country>France</country>
+ <countryCode>fr</countryCode>
+ <countryFlag>plugins/UserCountry/images/flags/fr.png</countryFlag>
+ <region />
+ <regionCode />
+ <city />
+ <location>France</location>
+ <latitude />
+ <longitude />
+ <provider>Unknown</provider>
+ <providerName>Unknown</providerName>
+ <providerUrl>http://piwik.org/faq/general/#faq_52</providerUrl>
+ <referrerType>search</referrerType>
+ <referrerTypeName>Search Engines</referrerTypeName>
+ <referrerName>Google</referrerName>
+ <referrerKeyword>this keyword should be ranked</referrerKeyword>
+ <referrerKeywordPosition>1</referrerKeywordPosition>
+ <referrerUrl>http://www.google.com/search?q=this+keyword+should+be+ranked</referrerUrl>
+ <referrerSearchEngineUrl>http://google.com</referrerSearchEngineUrl>
+ <referrerSearchEngineIcon>plugins/Referrers/images/searchEngines/google.com.png</referrerSearchEngineIcon>
+ <operatingSystem>Windows XP</operatingSystem>
+ <operatingSystemCode>WXP</operatingSystemCode>
+ <operatingSystemShortName>Win XP</operatingSystemShortName>
+ <operatingSystemIcon>plugins/UserSettings/images/os/WXP.gif</operatingSystemIcon>
+ <browserFamily>gecko</browserFamily>
+ <browserFamilyDescription>Gecko (Firefox)</browserFamilyDescription>
+ <browserName>Firefox 3.6</browserName>
+ <browserIcon>plugins/UserSettings/images/browsers/FF.gif</browserIcon>
+ <browserCode>FF</browserCode>
+ <browserVersion>3.6</browserVersion>
+ <screenType>normal</screenType>
+ <deviceType>Desktop</deviceType>
+ <resolution>1024x768</resolution>
+ <screenTypeIcon>plugins/UserSettings/images/screens/normal.gif</screenTypeIcon>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
+
+
+
+
+
+ </row>
+</result> \ No newline at end of file
diff --git a/plugins/CustomVariables/tests/processed/test_CustomVariablesIntegrationTest__CustomVariables.getCustomVariables_day.xml b/plugins/CustomVariables/tests/processed/test_CustomVariablesIntegrationTest__CustomVariables.getCustomVariables_day.xml
new file mode 100644
index 0000000000..f18e49c7cf
--- /dev/null
+++ b/plugins/CustomVariables/tests/processed/test_CustomVariablesIntegrationTest__CustomVariables.getCustomVariables_day.xml
@@ -0,0 +1,379 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<result>
+ <row>
+ <label>Name_PAGE_1</label>
+ <nb_actions>1</nb_actions>
+ <subtable>
+ <row>
+ <label>Val_PAGE1</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>Name_PAGE_2</label>
+ <nb_actions>1</nb_actions>
+ <subtable>
+ <row>
+ <label>Val_PAGE2</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>Name_PAGE_3</label>
+ <nb_actions>1</nb_actions>
+ <subtable>
+ <row>
+ <label>Val_PAGE3</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>Name_PAGE_4</label>
+ <nb_actions>1</nb_actions>
+ <subtable>
+ <row>
+ <label>Val_PAGE4</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>Name_PAGE_5</label>
+ <nb_actions>1</nb_actions>
+ <subtable>
+ <row>
+ <label>Val_PAGE5</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>Name_PAGE_6</label>
+ <nb_actions>1</nb_actions>
+ <subtable>
+ <row>
+ <label>Val_PAGE6</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>Name_PAGE_7</label>
+ <nb_actions>1</nb_actions>
+ <subtable>
+ <row>
+ <label>Val_PAGE7</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>Name_PAGE_8</label>
+ <nb_actions>1</nb_actions>
+ <subtable>
+ <row>
+ <label>Val_PAGE8</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>Name_VISIT_1</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ <max_actions>1</max_actions>
+ <sum_visit_length>4</sum_visit_length>
+ <bounce_count>1</bounce_count>
+ <goals>
+ <row idgoal='1'>
+ <nb_conversions>1</nb_conversions>
+ <nb_visits_converted>1</nb_visits_converted>
+ <revenue>0</revenue>
+ </row>
+ </goals>
+ <nb_conversions>1</nb_conversions>
+ <revenue>0</revenue>
+ <subtable>
+ <row>
+ <label>Val_VISIT1</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ <max_actions>1</max_actions>
+ <sum_visit_length>4</sum_visit_length>
+ <bounce_count>1</bounce_count>
+ <goals>
+ <row idgoal='1'>
+ <nb_conversions>1</nb_conversions>
+ <nb_visits_converted>1</nb_visits_converted>
+ <revenue>0</revenue>
+ </row>
+ </goals>
+ <nb_conversions>1</nb_conversions>
+ <revenue>0</revenue>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>Name_VISIT_2</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ <max_actions>1</max_actions>
+ <sum_visit_length>4</sum_visit_length>
+ <bounce_count>1</bounce_count>
+ <goals>
+ <row idgoal='1'>
+ <nb_conversions>1</nb_conversions>
+ <nb_visits_converted>1</nb_visits_converted>
+ <revenue>0</revenue>
+ </row>
+ </goals>
+ <nb_conversions>1</nb_conversions>
+ <revenue>0</revenue>
+ <subtable>
+ <row>
+ <label>Val_VISIT2</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ <max_actions>1</max_actions>
+ <sum_visit_length>4</sum_visit_length>
+ <bounce_count>1</bounce_count>
+ <goals>
+ <row idgoal='1'>
+ <nb_conversions>1</nb_conversions>
+ <nb_visits_converted>1</nb_visits_converted>
+ <revenue>0</revenue>
+ </row>
+ </goals>
+ <nb_conversions>1</nb_conversions>
+ <revenue>0</revenue>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>Name_VISIT_3</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ <max_actions>1</max_actions>
+ <sum_visit_length>4</sum_visit_length>
+ <bounce_count>1</bounce_count>
+ <goals>
+ <row idgoal='1'>
+ <nb_conversions>1</nb_conversions>
+ <nb_visits_converted>1</nb_visits_converted>
+ <revenue>0</revenue>
+ </row>
+ </goals>
+ <nb_conversions>1</nb_conversions>
+ <revenue>0</revenue>
+ <subtable>
+ <row>
+ <label>Val_VISIT3</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ <max_actions>1</max_actions>
+ <sum_visit_length>4</sum_visit_length>
+ <bounce_count>1</bounce_count>
+ <goals>
+ <row idgoal='1'>
+ <nb_conversions>1</nb_conversions>
+ <nb_visits_converted>1</nb_visits_converted>
+ <revenue>0</revenue>
+ </row>
+ </goals>
+ <nb_conversions>1</nb_conversions>
+ <revenue>0</revenue>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>Name_VISIT_4</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ <max_actions>1</max_actions>
+ <sum_visit_length>4</sum_visit_length>
+ <bounce_count>1</bounce_count>
+ <goals>
+ <row idgoal='1'>
+ <nb_conversions>1</nb_conversions>
+ <nb_visits_converted>1</nb_visits_converted>
+ <revenue>0</revenue>
+ </row>
+ </goals>
+ <nb_conversions>1</nb_conversions>
+ <revenue>0</revenue>
+ <subtable>
+ <row>
+ <label>Val_VISIT4</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ <max_actions>1</max_actions>
+ <sum_visit_length>4</sum_visit_length>
+ <bounce_count>1</bounce_count>
+ <goals>
+ <row idgoal='1'>
+ <nb_conversions>1</nb_conversions>
+ <nb_visits_converted>1</nb_visits_converted>
+ <revenue>0</revenue>
+ </row>
+ </goals>
+ <nb_conversions>1</nb_conversions>
+ <revenue>0</revenue>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>Name_VISIT_5</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ <max_actions>1</max_actions>
+ <sum_visit_length>4</sum_visit_length>
+ <bounce_count>1</bounce_count>
+ <goals>
+ <row idgoal='1'>
+ <nb_conversions>1</nb_conversions>
+ <nb_visits_converted>1</nb_visits_converted>
+ <revenue>0</revenue>
+ </row>
+ </goals>
+ <nb_conversions>1</nb_conversions>
+ <revenue>0</revenue>
+ <subtable>
+ <row>
+ <label>Val_VISIT5</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ <max_actions>1</max_actions>
+ <sum_visit_length>4</sum_visit_length>
+ <bounce_count>1</bounce_count>
+ <goals>
+ <row idgoal='1'>
+ <nb_conversions>1</nb_conversions>
+ <nb_visits_converted>1</nb_visits_converted>
+ <revenue>0</revenue>
+ </row>
+ </goals>
+ <nb_conversions>1</nb_conversions>
+ <revenue>0</revenue>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>Name_VISIT_6</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ <max_actions>1</max_actions>
+ <sum_visit_length>4</sum_visit_length>
+ <bounce_count>1</bounce_count>
+ <goals>
+ <row idgoal='1'>
+ <nb_conversions>1</nb_conversions>
+ <nb_visits_converted>1</nb_visits_converted>
+ <revenue>0</revenue>
+ </row>
+ </goals>
+ <nb_conversions>1</nb_conversions>
+ <revenue>0</revenue>
+ <subtable>
+ <row>
+ <label>Val_VISIT6</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ <max_actions>1</max_actions>
+ <sum_visit_length>4</sum_visit_length>
+ <bounce_count>1</bounce_count>
+ <goals>
+ <row idgoal='1'>
+ <nb_conversions>1</nb_conversions>
+ <nb_visits_converted>1</nb_visits_converted>
+ <revenue>0</revenue>
+ </row>
+ </goals>
+ <nb_conversions>1</nb_conversions>
+ <revenue>0</revenue>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>Name_VISIT_7</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ <max_actions>1</max_actions>
+ <sum_visit_length>4</sum_visit_length>
+ <bounce_count>1</bounce_count>
+ <goals>
+ <row idgoal='1'>
+ <nb_conversions>1</nb_conversions>
+ <nb_visits_converted>1</nb_visits_converted>
+ <revenue>0</revenue>
+ </row>
+ </goals>
+ <nb_conversions>1</nb_conversions>
+ <revenue>0</revenue>
+ <subtable>
+ <row>
+ <label>Val_VISIT7</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ <max_actions>1</max_actions>
+ <sum_visit_length>4</sum_visit_length>
+ <bounce_count>1</bounce_count>
+ <goals>
+ <row idgoal='1'>
+ <nb_conversions>1</nb_conversions>
+ <nb_visits_converted>1</nb_visits_converted>
+ <revenue>0</revenue>
+ </row>
+ </goals>
+ <nb_conversions>1</nb_conversions>
+ <revenue>0</revenue>
+ </row>
+ </subtable>
+ </row>
+ <row>
+ <label>Name_VISIT_8</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ <max_actions>1</max_actions>
+ <sum_visit_length>4</sum_visit_length>
+ <bounce_count>1</bounce_count>
+ <goals>
+ <row idgoal='1'>
+ <nb_conversions>1</nb_conversions>
+ <nb_visits_converted>1</nb_visits_converted>
+ <revenue>0</revenue>
+ </row>
+ </goals>
+ <nb_conversions>1</nb_conversions>
+ <revenue>0</revenue>
+ <subtable>
+ <row>
+ <label>Val_VISIT8</label>
+ <nb_visits>1</nb_visits>
+ <nb_actions>1</nb_actions>
+ <max_actions>1</max_actions>
+ <sum_visit_length>4</sum_visit_length>
+ <bounce_count>1</bounce_count>
+ <goals>
+ <row idgoal='1'>
+ <nb_conversions>1</nb_conversions>
+ <nb_visits_converted>1</nb_visits_converted>
+ <revenue>0</revenue>
+ </row>
+ </goals>
+ <nb_conversions>1</nb_conversions>
+ <revenue>0</revenue>
+ </row>
+ </subtable>
+ </row>
+</result> \ No newline at end of file
diff --git a/plugins/CustomVariables/tests/processed/test_CustomVariablesIntegrationTest__Live.getLastVisitsDetails_day.xml b/plugins/CustomVariables/tests/processed/test_CustomVariablesIntegrationTest__Live.getLastVisitsDetails_day.xml
new file mode 100644
index 0000000000..baefedde11
--- /dev/null
+++ b/plugins/CustomVariables/tests/processed/test_CustomVariablesIntegrationTest__Live.getLastVisitsDetails_day.xml
@@ -0,0 +1,175 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<result>
+ <row>
+ <idSite>1</idSite>
+ <idVisit>1</idVisit>
+ <visitIp>156.5.3.2</visitIp>
+
+ <visitorType>new</visitorType>
+ <visitorTypeIcon />
+ <visitConverted>1</visitConverted>
+ <visitConvertedIcon>plugins/Zeitgeist/images/goal.png</visitConvertedIcon>
+ <visitEcommerceStatus>none</visitEcommerceStatus>
+ <visitEcommerceStatusIcon />
+ <searches>0</searches>
+ <events>0</events>
+ <actions>1</actions>
+ <actionDetails>
+ <row>
+ <type>goal</type>
+ <goalName>triggered js</goalName>
+ <goalId>1</goalId>
+ <revenue>0</revenue>
+ <goalPageId />
+
+ <url>http://localhost</url>
+ <icon>plugins/Zeitgeist/images/goal.png</icon>
+ </row>
+ <row>
+ <type>action</type>
+ <url>http://localhost</url>
+ <pageTitle>Profile page</pageTitle>
+ <pageIdAction>2</pageIdAction>
+
+ <pageId>1</pageId>
+ <customVariables>
+ <row>
+ <customVariablePageName1>Name_PAGE_1</customVariablePageName1>
+ <customVariablePageValue1>Val_PAGE1</customVariablePageValue1>
+ </row>
+ <row>
+ <customVariablePageName2>Name_PAGE_2</customVariablePageName2>
+ <customVariablePageValue2>Val_PAGE2</customVariablePageValue2>
+ </row>
+ <row>
+ <customVariablePageName3>Name_PAGE_3</customVariablePageName3>
+ <customVariablePageValue3>Val_PAGE3</customVariablePageValue3>
+ </row>
+ <row>
+ <customVariablePageName4>Name_PAGE_4</customVariablePageName4>
+ <customVariablePageValue4>Val_PAGE4</customVariablePageValue4>
+ </row>
+ <row>
+ <customVariablePageName5>Name_PAGE_5</customVariablePageName5>
+ <customVariablePageValue5>Val_PAGE5</customVariablePageValue5>
+ </row>
+ <row>
+ <customVariablePageName6>Name_PAGE_6</customVariablePageName6>
+ <customVariablePageValue6>Val_PAGE6</customVariablePageValue6>
+ </row>
+ <row>
+ <customVariablePageName7>Name_PAGE_7</customVariablePageName7>
+ <customVariablePageValue7>Val_PAGE7</customVariablePageValue7>
+ </row>
+ <row>
+ <customVariablePageName8>Name_PAGE_8</customVariablePageName8>
+ <customVariablePageValue8>Val_PAGE8</customVariablePageValue8>
+ </row>
+ </customVariables>
+ <icon />
+ </row>
+ </actionDetails>
+ <customVariables>
+ <row>
+ <customVariableName1>Name_VISIT_1</customVariableName1>
+ <customVariableValue1>Val_VISIT1</customVariableValue1>
+ </row>
+ <row>
+ <customVariableName2>Name_VISIT_2</customVariableName2>
+ <customVariableValue2>Val_VISIT2</customVariableValue2>
+ </row>
+ <row>
+ <customVariableName3>Name_VISIT_3</customVariableName3>
+ <customVariableValue3>Val_VISIT3</customVariableValue3>
+ </row>
+ <row>
+ <customVariableName4>Name_VISIT_4</customVariableName4>
+ <customVariableValue4>Val_VISIT4</customVariableValue4>
+ </row>
+ <row>
+ <customVariableName5>Name_VISIT_5</customVariableName5>
+ <customVariableValue5>Val_VISIT5</customVariableValue5>
+ </row>
+ <row>
+ <customVariableName6>Name_VISIT_6</customVariableName6>
+ <customVariableValue6>Val_VISIT6</customVariableValue6>
+ </row>
+ <row>
+ <customVariableName7>Name_VISIT_7</customVariableName7>
+ <customVariableValue7>Val_VISIT7</customVariableValue7>
+ </row>
+ <row>
+ <customVariableName8>Name_VISIT_8</customVariableName8>
+ <customVariableValue8>Val_VISIT8</customVariableValue8>
+ </row>
+ </customVariables>
+ <goalConversions>1</goalConversions>
+ <siteCurrency>USD</siteCurrency>
+ <siteCurrencySymbol>$</siteCurrencySymbol>
+
+ <visitLocalTime>12:34:06</visitLocalTime>
+ <visitLocalHour>12</visitLocalHour>
+
+
+
+
+ <visitDuration>4</visitDuration>
+ <visitDurationPretty>4s</visitDurationPretty>
+ <visitCount>1</visitCount>
+ <daysSinceLastVisit>0</daysSinceLastVisit>
+ <daysSinceFirstVisit>0</daysSinceFirstVisit>
+ <daysSinceLastEcommerceOrder>0</daysSinceLastEcommerceOrder>
+ <continent>Europe</continent>
+ <continentCode>eur</continentCode>
+ <country>France</country>
+ <countryCode>fr</countryCode>
+ <countryFlag>plugins/UserCountry/images/flags/fr.png</countryFlag>
+ <region />
+ <regionCode />
+ <city />
+ <location>France</location>
+ <latitude />
+ <longitude />
+ <provider>Unknown</provider>
+ <providerName>Unknown</providerName>
+ <providerUrl>http://piwik.org/faq/general/#faq_52</providerUrl>
+ <referrerType>search</referrerType>
+ <referrerTypeName>Search Engines</referrerTypeName>
+ <referrerName>Google</referrerName>
+ <referrerKeyword>this keyword should be ranked</referrerKeyword>
+ <referrerKeywordPosition>1</referrerKeywordPosition>
+ <referrerUrl>http://www.google.com/search?q=this+keyword+should+be+ranked</referrerUrl>
+ <referrerSearchEngineUrl>http://google.com</referrerSearchEngineUrl>
+ <referrerSearchEngineIcon>plugins/Referrers/images/searchEngines/google.com.png</referrerSearchEngineIcon>
+ <operatingSystem>Windows XP</operatingSystem>
+ <operatingSystemCode>WXP</operatingSystemCode>
+ <operatingSystemShortName>Win XP</operatingSystemShortName>
+ <operatingSystemIcon>plugins/UserSettings/images/os/WXP.gif</operatingSystemIcon>
+ <browserFamily>gecko</browserFamily>
+ <browserFamilyDescription>Gecko (Firefox)</browserFamilyDescription>
+ <browserName>Firefox 3.6</browserName>
+ <browserIcon>plugins/UserSettings/images/browsers/FF.gif</browserIcon>
+ <browserCode>FF</browserCode>
+ <browserVersion>3.6</browserVersion>
+ <screenType>normal</screenType>
+ <deviceType>Desktop</deviceType>
+ <resolution>1024x768</resolution>
+ <screenTypeIcon>plugins/UserSettings/images/screens/normal.gif</screenTypeIcon>
+ <plugins>flash, java</plugins>
+ <pluginsIcons>
+ <row>
+ <pluginIcon>plugins/UserSettings/images/plugins/flash.gif</pluginIcon>
+ <pluginName>flash</pluginName>
+ </row>
+ <row>
+ <pluginIcon>plugins/UserSettings/images/plugins/java.gif</pluginIcon>
+ <pluginName>java</pluginName>
+ </row>
+ </pluginsIcons>
+
+
+
+
+
+ </row>
+</result> \ No newline at end of file
diff --git a/plugins/TasksTimetable b/plugins/TasksTimetable
-Subproject 72dd8092a95621026ad85d29b79c0283ed18fc0
+Subproject f6e252d5dc5e3cf004263f7450c2ca55bd2c5a7
diff --git a/plugins/TreemapVisualization b/plugins/TreemapVisualization
-Subproject 19978cb7cd926ec0fba111ce257b8f0450f34ce
+Subproject 2cb15300a88f7ff2a1fc27ef633a1a1f4d5fef0
diff --git a/tests/PHPUnit/UI b/tests/PHPUnit/UI
-Subproject bc19ec6e0c60cf89da263a9b3d719e473c9f18f
+Subproject 7f7bc674259a9942d288071922d312ea2241dd4