Moving to GitHub.
[platal.git] / upgrade / 1.0.2 / geocoding.php
1 #!/usr/bin/php5
2 <?php
3
4 require_once 'connect.db.inc.php';
5 require_once '../../classes/address.php';
6 require_once '../../classes/gmapsgeocoder.php';
7 require_once '../../classes/geocoder.php';
8
9 $globals->debug = 0; // Do not store backtraces.
10
11 $it = XDB::iterator('SELECT gl.language, gc.country, gc.iso_3166_1_a2
12 FROM geoloc_languages AS gl
13 INNER JOIN geoloc_countries AS gc ON (gl.iso_3166_1_a2 = gc.iso_3166_1_a2)');
14
15 echo $it->total() . " pays à remplir.\n";
16 while ($item = $it->next()) {
17 if ($item['language'] != 'fr') {
18 $address = new Address(array('text' => $item['country']));
19 $gmapsGeocoder = new GMapsGeocoder();
20 $gmapsGeocoder->getGeocodedAddress($address, $item['language'], true);
21 $country = $address->country;
22 } else {
23 $country = $item['country'];
24 }
25 $countryPlain = mb_strtoupper(replace_accent($country));
26 XDB::execute('UPDATE geoloc_languages
27 SET country = {?}, countryPlain = {?}
28 WHERE iso_3166_1_a2 = {?} AND language = {?}',
29 $country, $countryPlain, $item['iso_3166_1_a2'], $item['language']);
30 sleep(1);
31 }
32
33 $it = XDB::rawIterator('SELECT country, iso_3166_1_a2
34 FROM geoloc_countries');
35 echo $it->total() . " pays à simplifier.\n";
36 while ($item = $it->next()) {
37 XDB::execute('UPDATE geoloc_countries
38 SET countryPlain = {?}
39 WHERE iso_3166_1_a2 = {?}',
40 mb_strtoupper(replace_accent($item['country'])), $item['iso_3166_1_a2']);
41 }
42
43 // Fixes geocoding errors.
44 XDB::rawExecute("REPLACE INTO geoloc_languages (iso_3166_1_a2, language, country, countryPlain)
45 VALUES ('FM', 'en', 'Federated States of Micronesia', 'FEDERATED STATES OF MICRONESIA'),
46 ('MH', 'en', 'Republic of the Marshall Islands', 'REPUBLIC OF THE MARSHALL ISLANDS'),
47 ('PS', 'ar', 'دولة فلسطين', 'دولة فلسطين'),
48 ('SB', 'en', 'Solomon Islands', 'SOLOMON ISLANDS'),
49 ('TW', 'zh-CN', '台湾', '台湾'),
50 ('TW', 'zh-TW', '台灣', '台灣'),
51 ('CZ', 'cs', 'Česká Republika', 'CESKA REPUBLIKA'),
52 ('CZ', 'sk', 'Česká Republika', 'CESKA REPUBLIKA'),
53 ('DO', 'es', 'República Dominicana', 'REPUBLICA DOMINICANA'),
54 ('GD', 'en', 'Grenada', 'GRENADA'),
55 ('MD', 'ro', 'Republica Moldova', 'REPUBLICA MOLDOVA'),
56 ('RU', 'ru', 'Россия', 'Россия'),
57 ('SK', 'sk', 'Slovenská Republika', 'SLOVENSKA REPUBLIKA'),
58 ('TZ', 'en', 'United Republic of Tanzania', 'UNITED REPUBLIC OF TANZANIA')");
59
60 /* vim:set et sw=4 sts=4 ts=4: */
61 ?>