Wednesday, August 25, 2010

Проблемы с GeoIP.

Наткнулся на данную проблему при настройке Simple TDS.
Fatal error: Cannot redeclare geoip_country_code_by_name() in /home/public_html/engine/modules/geoip-api/geoip.inc on line 353
Оказалось, что в php5 эти функции уже задействованы. Можно решить эту проблему простым способом, просто делаем проверку для двух функций:
if (!function_exists('geoip_country_code_by_name')){
function geoip_country_code_by_name($gi, $name) {
$country_id = geoip_country_id_by_name($gi,$name);
if ($country_id !== false) {
return $gi->GEOIP_COUNTRY_CODES[$country_id];
}
return false;
}
}
if (!function_exists('geoip_country_name_by_name')){
function geoip_country_name_by_name($gi, $name) {
$country_id = geoip_country_id_by_name($gi,$name);
if ($country_id !== false) {
return $gi->GEOIP_COUNTRY_NAMES[$country_id];
}
return false;
}
}

И проблема решена.
Также столкнулся с тем, что часто базы не совсем свежие.
В бесплатной версии базы обновляются раз в месяц, для простых нужд её вполне хватает.
Обновить базу можно по следующему линку:
Надо просто заменить скачанный файл GeoIp.dat на вашем хостинге.
У меня стало идентифицировать на 20% больше стран, после проделанных манипуляций.
Не забывайте периодически обновлять файл, чтобы освежить диапазоны IP.

qutim plugins install

Понадобился плагин для qutim-a, однако в стандартных репозиториях не было ни одного плагина, пришлось обращаться к гуглю.
Оказалось нужно было отдельно подключить репозиторий самого qutim.
Выполняем:
sudo add-apt-repository ppa:qutim/qutim.svn
sudo apt-get update
sudo apt-get install qutim qutim-plugin-plugman qutim-plugin-histman qutim-languages qutim-plugin-connectioncheck qutim-plugin-urlpreview qutim-plugin-yandexnarod qutim-plugin-imagepub

Не забываем проинсталлировать протоколы, если они у вас не проинсталлированы:
sudo apt-get install qutim-protocol-icq qutim-protocol-jabber

Перегружаем qutim и все плагины появятся во вкладке Plugin settings.

Все доступные плагины можно найти при помощи команды
apt-cache search qutim-plugin

Кому не нравится apt-get и он считает его достаточно устаревшим ставим всё через aptitude.
В итоге выглядеть будет так.
sudo add-apt-repository ppa:qutim/qutim.svn
sudo aptitude update
sudo
aptitude install qutim qutim-plugin-plugman qutim-plugin-histman qutim-languages qutim-plugin-connectioncheck qutim-plugin-urlpreview qutim-plugin-yandexnarod qutim-plugin-imagepub