| 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 | ?> |