diff --git a/plugins/UserCountry/Columns/Base.php b/plugins/UserCountry/Columns/Base.php index d0a3b58118e9d1aa7687ffdcda76efeabaadee14..d599043aba6156ca9f5b0ca4b693fc061f189f7d 100644 --- a/plugins/UserCountry/Columns/Base.php +++ b/plugins/UserCountry/Columns/Base.php @@ -68,7 +68,7 @@ abstract class Base extends VisitDimension protected function getUserInfo(Request $request, Visitor $visitor) { $ipAddress = $this->getIpAddress($visitor->getVisitorColumn('location_ip'), $request); - $language = $visitor->getVisitorColumn('location_browser_lang'); + $language = $request->getBrowserLanguage(); $userInfo = array('lang' => $language, 'ip' => $ipAddress); diff --git a/tests/PHPUnit/System/TrackerTest.php b/tests/PHPUnit/System/TrackerTest.php index 48d3a4e54d7a018366a4a330f03bed13a78fcfcc..5d38c74d5150b48ed1d968c4271401cdc5ca8282 100644 --- a/tests/PHPUnit/System/TrackerTest.php +++ b/tests/PHPUnit/System/TrackerTest.php @@ -12,6 +12,7 @@ use Piwik\Common; use Piwik\Config; use Piwik\Db; use Piwik\Option; +use Piwik\Plugins\UserCountry\LocationProvider; use Piwik\Scheduler\Schedule\Schedule; use Piwik\Scheduler\Task; use Piwik\Scheduler\Timetable; @@ -147,6 +148,23 @@ class TrackerTest extends IntegrationTestCase $this->assertEquals(0, count($this->getConversionItems())); } + public function test_trackingWithLangParameter_ForwardsLangParameter_ToDefaultLocationProvider() + { + LocationProvider::setCurrentProvider(LocationProvider\DefaultProvider::ID); + + $urlToTest = "?idsite=1&rec=1&action_name=test&lang=fr-be"; + $response = $this->sendTrackingRequestByCurl($urlToTest); + Fixture::checkResponse($response); + + $logVisitTable = Common::prefixTable('log_visit'); + + $visitCount = Db::fetchOne("SELECT COUNT(*) FROM $logVisitTable"); + $this->assertEquals(1, $visitCount); + + $visitCountry = Db::fetchOne("SELECT location_country FROM $logVisitTable"); + $this->assertEquals('be', $visitCountry); + } + public function test_scheduledTasks_CanBeRunThroughTracker_WithoutIncludingOutputInTrackerOutput() { $this->setScheduledTasksToRunInTracker(); diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv index db63e6a966906166ebd3d17a22334c508ba07e39..85d83e021f4546bf315cea0f07d0f0e39871aa94 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv @@ -220,13 +220,13 @@ No data available Country label,nb_visits,nb_actions,nb_actions_per_visit,avg_time_on_site,bounce_rate,revenue -Unknown,9,41,4.6,00:13:21,11%,$ 0 -France,2,2,1,00:00:00,100%,$ 0 +Unknown,8,40,5,00:15:01,0%,$ 0 +France,3,3,1,00:00:00,100%,$ 0 Continent label,nb_visits,nb_actions,nb_actions_per_visit,avg_time_on_site,bounce_rate,revenue -Unknown,9,41,4.6,00:13:21,11%,$ 0 -Europe,2,2,1,00:00:00,100%,$ 0 +Unknown,8,40,5,00:15:01,0%,$ 0 +Europe,3,3,1,00:00:00,100%,$ 0 Region label,nb_visits,nb_actions,nb_actions_per_visit,avg_time_on_site,bounce_rate,revenue diff --git a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html index 5e42f00bd2cc7f0ace94bea84a2d3cc8483c4dc7..e727da4cbf763eec3c371c124cf64ff855c8161e 100644 --- a/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html +++ b/tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html @@ -3499,19 +3499,19 @@ Unknown </td> <td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;"> - 9 + 8 </td> <td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;"> - 41 + 40 </td> <td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;"> - 4.6 + 5 </td> <td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;"> - 00:13:21 + 00:15:01 </td> <td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;"> - 11% + 0% </td> <td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;"> $ 0 @@ -3524,10 +3524,10 @@ France </td> <td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;"> - 2 + 3 </td> <td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;"> - 2 + 3 </td> <td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;"> 1 @@ -3584,19 +3584,19 @@ <td style="font-size: 13px; border-right: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;"> Unknown </td> <td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;"> - 9 + 8 </td> <td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;"> - 41 + 40 </td> <td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;"> - 4.6 + 5 </td> <td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;"> - 00:13:21 + 00:15:01 </td> <td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;"> - 11% + 0% </td> <td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;"> $ 0 @@ -3607,10 +3607,10 @@ <td style="font-size: 13px; border-right: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;"> Europe </td> <td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;"> - 2 + 3 </td> <td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;"> - 2 + 3 </td> <td style="font-size: 13px; border-left: 1px solid rgb(217,217,217); padding: 5px 0 5px 5px;"> 1