У многих не определяется страна. Выкладываю фикс с определением страны. Без подключения к MySQL.
Открываем файл register.php и editprofile.php
Ищем строку:
$country=strtolower(getCountryByIp($_SERVER[REMOTE_ADDR]));
Меняем её на этот код:
//Geolocation
include("geoip/geoip.inc");
include("geoip/geoipcity.inc");
//определяем IP посетителя
$ip = $_SERVER['REMOTE_ADDR'];
//Соединяемся с базой
$gi = geoip_open("geoip/GeoLiteCity.dat", GEOIP_STANDARD);
//Читаем данные из базы по полученому IP
$geodata = GeoIP_record_by_addr($gi, $ip);
//Закрываем соединение с базой
geoip_close($gi);
//Преобразовываем обьект данных об IP в массив
$geodata = (array)$geodata;
//Получаем код страны в формате ISO-3166-1
$contry_code = strtolower($geodata['country_code']);
//Получаем название страны
$contry_name = $geodata['country_name'];
Ниже ищем строку:
(=$country ?>)
И меняем ее на:
()
Закидываем папку (geoip) с файлами в корень сайта (с учетом того, что у Вас сохранились картинки флагов). Запускаем парсер для скачивания базы адресов (GeoLiteCity.dat). Он скачивается и сам распаковывается, Вам ни чего делать не нужно, только для обновления время от времени его запускать (при желании). Для этого заходим в http://site.ru/geoip/index.php