diff options
author | mattab <matthieu.aubry@gmail.com> | 2014-04-07 05:36:51 +0400 |
---|---|---|
committer | mattab <matthieu.aubry@gmail.com> | 2014-04-07 05:36:51 +0400 |
commit | efb2fc667c65d22a07ed82e880c48ee58e2c0c62 (patch) | |
tree | 63d36779f8b604e3f1878ffc0b621ff0f80922c9 | |
parent | 1790f8a15efa15307b2b24843eb1276ec8767c14 (diff) | |
parent | 44aade37e9f6fcdc72549334b2eb2515a800cb73 (diff) |
Merge remote-tracking branch 'origin/master'
Conflicts:
tests/PHPUnit/UI
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 |