Пакет Geoip для определения местоположения пользователей по ip

Для одного проекта потребовалось определение из какого города/региона пользователь. Вот написал пакет Geoip. Просто качаете пакет из нашего репозитория, заливаете его на сайт в папку core/packages/ и устанавливаете локально. Использование: // Подключаем пакет $modx->addPackage('Geoip', $modx->getOption('core_path').'components/geoip/model/');

// Подгружаем основной класс (он содержит нужные нам статические методы) $modx->loadClass('Geoip');

// Быстрый метод получить информацию о расположении // Возвращает объект Geoip с полной информацией, // включая город, регион, область, широта/долгота и т.п. $location = Geoip::findByIp($modx);

// Или формируем xPDOCriteria для более гибких запросов $query = Geoip::newQuery($modx); Пока что база только России и Украины, но в дальнейшем можно развить ее. Основным плюсом использования именно локальной базы, а не он-лайн сервисов, можно назвать производительность. Если вы используете он-лайн сервисы, и при заходе пользователя удаленный сервис затормозит, пока мы будем пытаться получить ответ, страница для пользователя так же будет висеть. А здесь все мгновенно проходит.