Skip to content
Extraits de code Groupes Projets
Valider c775c64e rédigé par benakamoorthi's avatar benakamoorthi
Parcourir les fichiers

Fixes #3511, store lat/long in archived table metadata instead of label.

git-svn-id: http://dev.piwik.org/svn/trunk@7478 59fd770c-687e-43c8-a1e3-f5a4ff64c105
parent 979028ea
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -130,10 +130,12 @@ class Piwik_UserCountry_API
array('label', 'region', 'Piwik_UserCountry_getElementFromStringArray', array($separator, 1, $unk)));
$dataTable->filter('ColumnCallbackAddMetadata',
array('label', 'country', 'Piwik_UserCountry_getElementFromStringArray', array($separator, 2, $unk)));
// backwards compatibility: for reports that have lat|long in label
$dataTable->filter('ColumnCallbackAddMetadata',
array('label', 'lat', 'Piwik_UserCountry_getElementFromStringArray', array($separator, 3)));
array('label', 'lat', 'Piwik_UserCountry_getElementFromStringArray', array($separator, 3, false)));
$dataTable->filter('ColumnCallbackAddMetadata',
array('label', 'long', 'Piwik_UserCountry_getElementFromStringArray', array($separator, 4)));
array('label', 'long', 'Piwik_UserCountry_getElementFromStringArray', array($separator, 4, false)));
// add country name & region name metadata
$dataTable->filter('MetadataCallbackAddMetadata',
......
......@@ -512,9 +512,9 @@ class Piwik_UserCountry extends Piwik_Plugin
$lat = round($lat, Piwik_UserCountry_LocationProvider::GEOGRAPHIC_COORD_PRECISION);
$long = round($long, Piwik_UserCountry_LocationProvider::GEOGRAPHIC_COORD_PRECISION);
// append latitude + longitude to label
$newLabel = $label.self::LOCATION_SEPARATOR.$lat.self::LOCATION_SEPARATOR.$long;
$row->setColumn('label', $newLabel);
// set latitude + longitude metadata
$row->setMetadata('lat', $lat);
$row->setMetadata('long', $long);
}
}
}
......
......@@ -178,13 +178,13 @@ class Test_Piwik_Integration_ManyVisitorsOneWebsiteTest extends IntegrationTestC
Piwik_UserCountry_LocationProvider::$providers = null;
Piwik_UserCountry_LocationProvider::setCurrentProvider('mock_provider');
Piwik_UserCountry_LocationProvider::getCurrentProvider()->setLocations(array(
self::makeLocation('Stratford-upon-Avon', 'P3', 'gb'), // template location
self::makeLocation('Stratford-upon-Avon', 'P3', 'gb', 123.456, 21.321), // template location
// same region, different city, same country
self::makeLocation('Nuneaton and Bedworth', 'P3', 'gb'),
// same region, city & country
self::makeLocation('Stratford-upon-Avon', 'P3', 'gb'),
// same region, city & country (different lat/long)
self::makeLocation('Stratford-upon-Avon', 'P3', 'gb', 124.456, 22.231),
// same country, different region & city
self::makeLocation('London', 'H9', 'gb'),
......@@ -211,10 +211,12 @@ class Test_Piwik_Integration_ManyVisitorsOneWebsiteTest extends IntegrationTestC
Piwik_UserCountry_LocationProvider::setCurrentProvider('default');
}
public static function makeLocation( $city, $region, $country )
public static function makeLocation( $city, $region, $country, $lat = null, $long = null )
{
return array(Piwik_UserCountry_LocationProvider::CITY_NAME_KEY => $city,
Piwik_UserCountry_LocationProvider::REGION_CODE_KEY => $region,
Piwik_UserCountry_LocationProvider::COUNTRY_CODE_KEY => $country);
Piwik_UserCountry_LocationProvider::COUNTRY_CODE_KEY => $country,
Piwik_UserCountry_LocationProvider::LATITUDE_KEY => $lat,
Piwik_UserCountry_LocationProvider::LONGITUDE_KEY => $long);
}
}
......@@ -41,11 +41,11 @@
<nb_conversions>6</nb_conversions>
<revenue>30</revenue>
<sum_daily_nb_uniq_visitors>3</sum_daily_nb_uniq_visitors>
<lat>49.25</lat>
<long>-123.133</long>
<city_name>Vancouver</city_name>
<region>BC</region>
<country>ca</country>
<lat>49.25</lat>
<long>-123.133</long>
<country_name>Canada</country_name>
<region_name>British Columbia</region_name>
<logo>plugins/UserCountry/flags/ca.png</logo>
......@@ -67,6 +67,8 @@
<nb_conversions>4</nb_conversions>
<revenue>20</revenue>
<sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
<lat>124.456</lat>
<long>22.231</long>
<city_name>Stratford-upon-Avon</city_name>
<region>P3</region>
<country>gb</country>
......@@ -91,11 +93,11 @@
<nb_conversions>2</nb_conversions>
<revenue>10</revenue>
<sum_daily_nb_uniq_visitors>1</sum_daily_nb_uniq_visitors>
<lat>47.249</lat>
<long>6.018</long>
<city_name>Besançon</city_name>
<region>A6</region>
<country>fr</country>
<lat>47.249</lat>
<long>6.018</long>
<country_name>France</country_name>
<region_name>Franche-Comte</region_name>
<logo>plugins/UserCountry/flags/fr.png</logo>
......
......@@ -17,6 +17,8 @@
<nb_conversions>4</nb_conversions>
<revenue>20</revenue>
<sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
<lat>124.456</lat>
<long>22.231</long>
<city_name>Stratford-upon-Avon</city_name>
<region>P3</region>
<country>gb</country>
......
......@@ -17,11 +17,11 @@
<nb_conversions>6</nb_conversions>
<revenue>30</revenue>
<sum_daily_nb_uniq_visitors>3</sum_daily_nb_uniq_visitors>
<lat>49.25</lat>
<long>-123.133</long>
<city_name>Vancouver</city_name>
<region>BC</region>
<country>ca</country>
<lat>49.25</lat>
<long>-123.133</long>
<country_name>Canada</country_name>
<region_name>British Columbia</region_name>
<logo>plugins/UserCountry/flags/ca.png</logo>
......
......@@ -17,6 +17,8 @@
<nb_conversions>4</nb_conversions>
<revenue>20</revenue>
<sum_daily_nb_uniq_visitors>2</sum_daily_nb_uniq_visitors>
<lat>124.456</lat>
<long>22.231</long>
<city_name>Stratford-upon-Avon</city_name>
<region>P3</region>
<country>gb</country>
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter