Опубликовано: 19 октября 20169 г Имя файла: (SIV41) Author Post GeoLocationВладелец файла: siv1987Файл размещен: 20 Окт 2016Файл обновлен: 15 Ноя 2016Категория файла: Плагины и Приложения Местоположение автора сообщения в теме. Нажмите сюда, чтобы скачать этот файл
Опубликовано: 23 октября 20169 г Автор У всех конечно устанавливается без проблем, но не у всех есть возможность устанавливать расширения на сервере. В принципе внедрить метод для работы с php расширением не сложно, там всего одна функция для вызова, а вот в качестве альтернативы в виде php библиотеки сделаю интеграцию с Maxmind GeoIP2. Установка библиотеки немного сложнее (относительно конечно), но за то база данных там имеет мулти-язычность. Хотя и говорил что новые сервисы больше добавлять не буду, а буду расширять функционал из шаблоного плагина в полноценный класс для геолокации на форуме, с поддержкой гугл мэпс и пр.
Опубликовано: 23 октября 20169 г Автор Обновлен до 1.0.4.По многочисленным просьбам участников добавлены новые и, скорее всего последние, geo сервисы - php-geoip и maxmind geoip2. Существующие сервисы должны уже удовлетворить всех, даже самых взыскательных пользователей.
Опубликовано: 24 октября 20169 г Спасибо огромное! У внешних бесплатных сервисов есть два серьезных минуса: 1) медленная обработка запроса, 2) быстро достигается предел бесплатных запросов, в результате, сервис перестает отдавать результат.
Опубликовано: 24 октября 20169 г Автор Отпишитесь потом о работе, ибо с модулем php негде было протестировать.
Опубликовано: 24 октября 20169 г Автор У внешних бесплатных сервисов есть два серьезных минуса: 1) медленная обработка запроса, 2) быстро достигается предел бесплатных запросов, в результате, сервис перестает отдавать результат.1) Да, время генерации страницы немного увеличивается, но для этого есть кеширование и настройка доступа по группам 2) Второе вытекает из первого - кеширование. Возьмем к примеру средний форум по количеству активных пользователей в месяц 1000 и сервис с лимитом в 10000 запросов. Установим кеширование ip на 15 дней. На 1 ip приходится два запроса в месяц, умножим на 1000 активных и получаем 2000 запросов в месяц, плюс 10000 в запас для старых сообщений и 3000 для динамичных ип. Итого имеем ~6000 запросов - чуть больше половины. Остается еще половина для тех пользователей, у кого каждое сообщение с нового ip адреса. Более точно спрогнозировать количество запросов можно посчитав число уникальных ip сообщений за один месяц: SELECT COUNT(*) FROM ( SELECT ip_address FROM forums_posts WHERE post_date > UNIX_TIMESTAMP( NOW() - INTERVAL 1 MONTH ) GROUP BY ip_address ) z. Если не кешировать и для каждого сообщения с тем же ип делать отдельный запрос то да, так вы и за неделю упретесь в лимит и на куда меньшем форуме. У сторонних geo-сервисов тоже есть свои преимущества - не нужно устанавливать дополнительное ПО, актуальность и размер базы данных.
Опубликовано: 30 октября 20169 г Отличный плагин, а можешь добавить опцию место расположения города:1. Рядом с IP как сейчас2. Под аватаром
Опубликовано: 30 октября 20169 г Автор В шаблоне postContainer доступна переменная $comment с массивом geoLocation - {{if $comment->geoLocation['city']}}$comment->geoLocation['city']{{endif}}
Опубликовано: 1 ноября 20169 г Вставляю в этот шаблон {{if $comment->geoLocation['city']}}$comment->geoLocation['city']{{endif}}либо ничего либо ошибка с просьбой восстановить шаблон по умолчанию :(
Опубликовано: 1 ноября 20169 г Автор Так ничего или ошибка с просьбой восстановить шаблон?Вот дефолтное условие которое используется в плагине: {{if !empty( $comment->geoLocation['city'] )}}<span class="geolocation" data-ipsTooltip title="{$comment->geoLocation['countryName']}">{$comment->geoLocation['city']}</span>{{endif}}
Опубликовано: 14 ноября 20169 г Автор Обновлен до 1.0.5Обнаружился один неприятный баг. Некоторые пользователи стали жаловаться на ошибку при поиске IP в панели модератора. IPS сервис геолокации хранит в массиве country не название страны а ее код, тогда как плагин наоборот записывал полное имя. При совместном использование, объект \IPS\GeoLocation выбрасывал исключение на попутку загрузить языковую строку с именем страны. Из-за того, что IPS не добавили перехват этого исключения, оно приводило к фатальной ошибке. Спасибо viru за багрепорт. Fatal error: Method IPS\\GeoLocation::__toString() must not throw an exception, caught UnderflowException: lang_not_exists__country-\xd0\xa0\xd0\xbe\xd1\x81\xd1\x81\xd0\xb8\xd1\x8f in /system/Theme/Theme.php(744) : eval()'d code on line 0, referer: http://forum.ru/modcp/ip-tools/ Stack trace:, referer: http://forum.ru/modcp/ip-tools/ 1. {main}() /index.php:0, referer: http://forum.ru/modcp/ip-tools/ 2. IPS\\_Dispatcher->run() /index.php:13, referer: http://forum.ru/modcp/ip-tools/ 3. IPS\\Dispatcher\\_Controller->execute() /system/Dispatcher/Dispatcher.php:129, referer: http://forum.ru/modcp/ip-tools/ 4. IPS\\core\\modules\\front\\modcp\\_modcp->manage() /system/Dispatcher/Controller.php:96, referer: http://forum.ru/modcp/ip-tools/ 5. call_user_func:{/applications/core/modules/front/modcp/modcp.php:67}() /applications/core/modules/front/modcp/modcp.php:67, referer: http://forum.ru/modcp/ip-tools/ 6. IPS\\core\\extensions\\core\\ModCp\\_IPTools->manage() /applications/core/modules/front/modcp/modcp.php:67, referer: http://forum.ru/modcp/ip-tools/ 7. IPS\\Theme\\_SandboxedTemplate->ipLookup() /applications/core/extensions/core/ModCp/IPTools.php:123, referer: http://forum.ru/modcp/ip-tools/ 8. IPS\\Theme\\_SandboxedTemplate->__call() /applications/core/extensions/core/ModCp/IPTools.php:123, referer: http://forum.ru/modcp/ip-tools/ 9. call_user_func_array:{/system/Theme/SandboxedTemplate.php:57}() /system/Theme/SandboxedTemplate.php:57, referer: http://forum.ru/modcp/ip-tools/ 10. IPS\\Theme\\class_core_global_members->ipLookup() /system/Theme/SandboxedTemplate.php:57, referer: http://forum.ru/modcp/ip-tools/
Опубликовано: 18 ноября 20169 г У меня небольшое предложение по плагину. Можно добавить, чтобы клик по определившемуся месту перекидывал а Google Maps (или просто в гугл-поиск). У нас например на форуме очень широкая география пользователей. Всегда интересно, где такой город Whitby, Canada. А тут нажал на ссылку - и сразу увидел. Если делать переход просто в поиск, то гугл еще и краткую справку по месту предлагает, фото, историю из Википедии. Еще раз спасибо за ваш плагин.
Опубликовано: 18 ноября 20169 г Автор Можно добавить, чтобы клик по определившемуся месту перекидывал а Google Maps (или просто в гугл-поиск).В следующем обновление как раз планировал добавить всплывающие окно с местоположением на карте. Просто нет времени пока разбираться с попап-окнами.
Имя файла: (SIV41) Author Post GeoLocation
Владелец файла: siv1987
Файл размещен: 20 Окт 2016
Файл обновлен: 15 Ноя 2016
Категория файла: Плагины и Приложения
Местоположение автора сообщения в теме.
Нажмите сюда, чтобы скачать этот файл