- foreach ($keys as $i=>$key) if($vals[$i]) $infos[$key] = ($key == 'sql')?$vals[$i]:utf8_decode(strtr($vals[$i], array(chr(197).chr(147) => "œ")));
- if ($infos['sql'])
- $globals->xdb->execute("REPLACE INTO geoloc_city VALUES ".$infos['sql']);
- if ($infos['display'])
- $globals->xdb->execute("UPDATE geoloc_pays SET display = {?} WHERE a2 = {?}", $infos['display'], $infos['country']);
+ foreach ($keys as $i=>$key) {
+ if($vals[$i]) {
+ if ($key == 'sql') {
+ $infos[$key] = $vals[$i];
+ } else {
+ $val = strtr($vals[$i], array(chr(197).chr(147) => "œ"));
+ $infos[$key] = geoloc_utf8_decode($val);
+ }
+ }
+ }
+ if (isset($infos['sql']) && $infos['sql'])
+ XDB::execute("REPLACE INTO geoloc_city VALUES ".$infos['sql']);
+ if (isset($infos['display']) && $infos['display'])
+ XDB::execute("UPDATE geoloc_pays SET display = {?} WHERE a2 = {?}", $infos['display'], $infos['country']);
+ if (isset($infos['cityid']))
+ fix_cities_not_on_map(1, $infos['cityid']);