Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не зашли.

#1 2014-04-19 04:28:08

infinity237
Модератор
Откуда Russia, Moscow
Зарегистрирован: 2008-11-09
Сообщений: 2,674
Рейтинг :   176 
Сайт

check_geoip :: Определение региона/города посетителя по IP

Плагин использует сервис ipgeobase.ru для определения массива значений (страна/регион/город) посетителя.
Так же на основании этих данных можно выводить любую другую информацию, т.е. скажем в зависимости от региона можно вывести номер телефона, и.т.д.

Вывод осуществляется переменой {{plugin_check_geoip}} в main.tpl

Изменено infinity237 (2014-04-20 11:09:11)

Не в сети

#2 2017-12-29 18:32:07

easmik
VIP забанил этого пользователя.
Зарегистрирован: 2011-02-01
Сообщений: 1,030
Рейтинг :   37 

Re: check_geoip :: Определение региона/города посетителя по IP

infinity237, можешь расписать пример с номером, например выводить один для Казахстана, другой для России и третий для всех остальных стран. Спасибо!

Не в сети

#3 2018-01-02 11:28:03

ahatomik
Старожил
Откуда Киев
Зарегистрирован: 2012-07-02
Сообщений: 832
Сайт

Re: check_geoip :: Определение региона/города посетителя по IP

infinity237, Круто !
Вот бы, действительно пример.. как, правильно вывод настроить.

Не в сети

#4 2018-01-02 13:55:13

Knopik
Разработчик
Откуда ufa
Зарегистрирован: 2009-10-14
Сообщений: 353
Рейтинг :   62 
Сайт

Re: check_geoip :: Определение региона/города посетителя по IP

easmik пишет:

infinity237, можешь расписать пример с номером, например выводить один для Казахстана, другой для России и третий для всех остальных стран. Спасибо!

Нужно будет немного поправить плагин. Как обычно, расписываю способ "Не проверял, но должно работать"

файл check_geoip.php, строка 66 меняем с

$status_data = $geo->get_value('city', true);

на

$status_data = $geo->get_value('country', true);

и в шаблоне меняем логику в js скрипте (просто заменяем)

<script>
$(document).ready(function(){

    $.post('/engine/rpc.php', { json : 1, methodName : 'check_geoip_rpc', rndval: new Date().getTime(), params : json_encode({ }) }, function(data) {
        // Try to decode incoming data
        try {
            resTX = eval('('+data+')');
        //    alert(resTX['data']['feedback_text']);
        } catch (err) { alert('Error parsing JSON output. Result: '+linkTX.response); }
        if (!resTX['status']) {
            alert('Error ['+resTX['errorCode']+']: '+resTX['errorText']);
        } else {
            if (resTX['data']['status_data'] == 100) {      // если запрос к rpc прошел успешно проверяем
                // Начало проверки
                if (resTX['data']['status_data_text'] == 'RU') {  // если статус равен RU, то выдаем номер для Ru и так далее
                    $("div#check_geoip_status").html("+7 999 1314151"); // Меняем номер
                }

                // Начало проверки
                if (resTX['data']['status_data_text'] == 'US') {
                    $("div#check_geoip_status").html("+5 555 333 999");
                }
            }
        }
    }).error(function() {
        alert('HTTP error during request', 'ERROR');
    });

});
</script>

<div id="check_geoip_status">Номер для всего мира</div>

как-то так

Не в сети

Подвал раздела

Работает на FluxBB