Альтернатива определения местоположения пользователя JohnCMS 6

1.18K
.
Enter нажат, к чему теперь рыданья…
Скрипт для JohnCMS 6, альтернатива стандартному определению по IP — откуда пользователь. Поддерживаются Ipv4 и IPv6.
Используются API http://ip-api.com/ и Google Maps
Мультиязычный.

Возможности скрипта:
1. Просмотр данных об IP — его геолокация, провайдер, организация владеющая провайдером, местное время и дата у пользователя, хост.
2. Использование Интерактивной карты Google, на которой можно посмотреть населённый пункт пользователя, присутствует просмотр улиц, где находится пользователь (если просмотр улиц доступен для данного места).
3. Использование Карты картинки в формате JPG, на которой подсвечивается выделенная область, где находится пользователь. Подойдёт для старых телефонов или тем, кому не интересен детальный просмотр карты и улиц.

Установка скрипта:
1. Распаковать содержимое архива в корневую папку сайта.
2. Перейти к файлу /panel/includes/ip_whois.php и прописать в настройках ваш ключ API для карт. Если оставить поля пустыми, карта не будет отображаться, будет только вывод информации об IP пользователя.
3. Получение ключа API от Google Maps здесь: https://console.developers.goo ... =true
Создаёте проект с любым названием, прописываете в проекте домен вашего сайта, указываете в настройках проекта – HTTP-источники перехода (веб-сайты), это откуда будут идти запросы к сервису. И получаете API ключ, который нужно прописать в настройках скрипта.
Для Интерактивной карты нужен ключ «Google Maps JavaScript API», а для Карты картинки нужен ключ «Google Maps Geocoding API».

Примечание:
По умолчанию для русского, украинского и белорусского языков (настройки пользователя JohnCMS) скрипт будет брать данные с сайта http://ip-api.com/ на русском языке. Сайт англоязычный и перевод там не полный. Для всех остальных языков скрипт будет выводить информацию на английском. Изменить настройки по умолчанию можно в файле /panel/includes/ip_whois.php 37-я строка.
Перевод заголовков в скрипте есть для английского, русского, украинского и белорусского. Для всех остальных языков переводите сами, в файле geoip.lng, в языковых папках системы JohnCMS. Например, для немецкого, это будет файл /incfiles/languages/de/geoip.lng

Некоторые фишки для Интерактивной карты:
• Колёсиком мышки можно увеличивать или уменьшать масштаб карты.
• Клик по маркеру моментально увеличивает карту до подробного вида с названиями улиц.
• Для просмотра улиц, если эта функция доступна для данной местности, нужно перетянуть человечка из правого нижнего угла на маркер местоположения.
Прикрепленные файлы:
.
Enter нажат, к чему теперь рыданья…
Интерактивная карта на мобилке
Прикрепленные файлы:
.
Enter нажат, к чему теперь рыданья…
Интерактивная карта на компе
Прикрепленные файлы:
.
Enter нажат, к чему теперь рыданья…
Просмотр улиц на компе (от телефона особо не отличается ничем, кроме размера экрана)
Прикрепленные файлы:
.
Enter нажат, к чему теперь рыданья…
Карта картинкой jpg с маркером на мобилке (выводит только местоположение)
Прикрепленные файлы:
.
Зачетно)) ++надо будет попробовать
.
CyberGhostNet Group
Nice mod
.
__________________________________________________
Еще б сделать как на некоторых сайтах совпадение по поиску,типо этот пользователь рядом с вами,и расстояние в км
.
Enter нажат, к чему теперь рыданья…
Andrei4ik93, ну это же не приложение и доступно только администрации. Так что, если будешь проверять ip пользователя и смотреть где он, то расстояние до него и так на интерактивной карте Google можно посмотреть

Этот скрипт изначально не под джон я писал, а для другого движка, на котором у меня один сайт, где много пользователей, а определения по ip в движке нет. Я долго искал сервис определения местоположения по ip, чтобы бесплатно и чтобы много запросов можно было отправлять, да ещё чтобы сервис поддерживал проверку IPv6. Как оказалось, с этим не всё так просто)) Но, как говорится, кто ищет, тот находит. Нашёл сервис на просторах буржунета. А потом, в процессе подключения к API первого сервиса прилепились ещё и Google Maps для удобства, так как первый сервис выдаёт по API координаты ip пользователя.
.
╭∩╮ (`-`) ╭∩╮
Молодец, очень полезный мод.
Если сможешь, подготовь аналогичный для 7.х.х протестируем тут живьем.
Если все нормально, то шли пуллреквест, включим в оф. версию.
Всего: 29