[Архив] Advanced Traffic Direct System v.1.1

Статус
В этой теме нельзя размещать новые ответы.
Вобщем самое лучшее что может быть:
приделать к Advanced TDS нормальную определялку страны без использования консольной geoiplookup.
 
Вобщем самое лучшее что может быть:
приделать к Advanced TDS нормальную определялку страны без использования консольной geoiplookup.

идем в файл out.php, находим там
PHP:
function get_country_code ($ip)

правим по собственному желанию и получаем то что хочется.

только посмотрел я исходный код и ничего править не стал, т.к. если прикрутить туда прямую поддержку GeoIP через mod_geoip, то определение страны буде производиться неверно (вернее _не всегда_ верно), т.к. ip-адрес в mod_geoip берется без заморок, как просто REMOTE_ADDR, что в случае с проксями и всяческими аолами дает пургу.
автор AdvancedTDS сначала определяет _реальный_ адрес юзера, а потом проверяет страну через geoiplookup.
более правильным наверное было бы использование php-экстеншна geoip (он может определять страну любого ip-адреса, не только REMOTE_ADDR), но я думаю на момент написания ТДС этот екстеншн еще не был отрелизен или автор о нем не знал. да и надо еще этот екстеншн устанавливать в пхп (компилять или через pecl ставить). так что я думаю в большинстве случаев использование geoiplookup более оправдано (хотя и тормозит существенно по сравнению mod_geoip).
 
Проблема в том, что на большинстве хостингов нет geoiplookup, в частности и rackserver и hostupon меня послали искать другого хостера и ставить geoiplookup отказались.
 
После добавления include_once './r_admin/geoip/geoip.inc'; на пятую строчку, появляется такое сообщение:

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /home/user/public_html/site.com/out.php on line 5
 
Parse error: syntax error, unexpected '@' in /home/user/public_html/site.com/out.php on line 425


там:
$gi*=*@geoip_open("r_admin/geoip/GeoIP.dat",GEOIP_STANDARD);
 
Parse error: syntax error, unexpected T_VARIABLE in /home/user/public_html/site.com/out.php on line 426

там:
$code2 = geoip_country_code_by_addr($gi,*$ip);

Добавлено через 5 минут
Вот полный нерабочий кусок:

 
не вижу, что под хайдом
а до установки гео все работало?
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху