kartik-v/yii2-ipinfo An IP address information display widget for Yii 2.0 with country flag and geo position info.

extensionmodulegeoipipinfolocationpositioncountryflag

Krajee Logo
yii2-ipinfo Donate

Stable Version Unstable Version License Total Downloads Monthly Downloads Daily Downloads

An IP address information display widget for Yii framework 2.0 with ability to display country flag and geo position info. This is based on the HTTP API from ip-api.com to parse IP address details. The plugin also uses the yii2-popover-x extension by Krajee and the yii2-httpclient yiisoft extension for fetching and displaying IP details via a popover, and the yii2-icons extension by Krajee for displaying the flag icons.

Features

  • Ability to display the flag for a IP address.
  • Implement Yii2 HTTP Client to process IP API info fetch. The 1.0 AJAX based API query will be eliminated and replaced with the Yii2 server based HTTP Client. This will ensure it works both for HTTPS and HTTP and also use yii2 caching.
  • Implement Yii2 Cache component to cache/store IP data. If Cache component is not defined no caching will be performed.
  • Implement Yii2 DetailView widget to render the IP Information Details table. The layout of attributes and formats can therefore be customized as per user need.
  • Ability to display geo position details for the IP address.
  • Ability to use your own API if needed
  • Ability to render IP details inline instead of popover.
  • Ability to configure fields rendered and also control the layout with templates.
  • Use yii2-popover-x extension features to control popover placements and styles.
  • Use flag icons from yii2-icons to render country wise high resolution flags of any size.
  • Uses Yii i18N translations to generate locale specific data.

Note: Check the composer.json for this extension's requirements and dependencies. Read this web tip /wiki on setting the minimum-stability settings for your application's composer.json.

Demo

You can see detailed documentation and examples on usage of the extension.

Installation

The preferred way to install this extension is through composer.

Note: Check the composer.json for this extension's requirements and dependencies. Read this web tip /wiki on setting the minimum-stability settings for your application's composer.json.

Either run

$ php composer.phar require kartik-v/yii2-ipinfo "@dev"

or add

"kartik-v/yii2-ipinfo": "@dev"

to the require section of your composer.json file.

Usage

IpInfo

use kartik\ipinfo\IpInfo;

echo IpInfo::widget([
    'ip' => '12.23.155.123',
    /**
     * optionally setup more options
     * refer docs for all options
     */
    // 'showFlag' => true,
    // 'showPopover' => true,
    // 'popoverOptions' => [],
    // 'flagWrapperOptions' => []
    // 'flagOptions' => []
]);

License

yii2-ipinfo is released under the BSD-3-Clause License. See the bundled LICENSE.md for details.

Changelog

Change Log: yii2-ipinfo

Version 2.0.3

Date: 01-Feb-2020

  • (enh #19): Make fetchIpDetails and renderWidget methods public.

Version 2.0.2

Date: 07-Oct-2019

  • (enh #18): Intelligent default display of detail view attributes.
  • (enh #17): Update Brazilian Translations.

Version 2.0.1

Date: 01-Oct-2019

  • Fix minified CSS file

Version 2.0.0

Date: 01-Oct-2019

BC Breaking Updates (v2.0)

  • Replace to use Free API from http://ip-api.com (free for non commercial use)
  • Eliminates use of API access key
  • One can however reconfigure the widget to use any other IP API sources and parameters
  • Revamp translations
  • Validate automatically Bootstrap 3.x or Bootstrap 4.x format using Krajee Bootstrap settings and render the relevant icons
  • Implement Yii2 HTTP Client to process IP API info fetch. The 1.0 AJAX based API query will be eliminated and replaced with the Yii2 server based HTTP Client. This will ensure it works both for HTTPS and HTTP and also use yii2 caching.
  • Implement Yii2 Cache component to cache/store IP data. If Cache component is not defined no caching will be performed.
  • Implement Yii2 DetailView widget to render the IP Information Details table. The layout of attributes and formats can therefore be customized as per user need
  • Implements IpInfoModel to manage the IP information attributes. In case you wish to use a different IP Info API - then you can extend this class to have your own attributes.
  • Various properties have been eliminated and replaced. The new version now includes these properties:
    • api
    • ip
    • modelClass
    • detailViewClass
    • detailViewConfig
    • detailRowOptions
    • params
    • requestConfig
    • cache
    • flushCache
    • template
    • showFlag
    • hideEmpty
    • showPopover
    • errorData
    • errorDataOptions
    • fields
    • skipFields
    • popoverOptions
    • flagWrapperOptions
    • flagOptions
    • contentHeader
    • errorIcon
    • contentHeaderIcon
    • noFlagIcon
    • errorIcon
    • options

Version 1.0.2

Date: 09-Oct-2019

  • Update composer dependencies

Version 1.0.1

Date: 27-Jul-2019

  • (enh #14): Implement client level caching for optimal performance.
  • (enh #13): Implement ability to skip access key if NOT needed.

Version 1.0.0

Date: 18-Jul-2019

  • Default current ip address if IpInfo::ip is not set.
  • Add github contribution and change log templates.
  • (enh #12): Revamp widget to use updated api from api.ipstack.com.
    • new property IpInfo::access_key added
    • new configuration option Yii::$app->params['ipInfoAccessKey'] that can be used to globally default the API access key
  • (enh #11): Add Ukranian translations.
  • (enh #10): Update freegeoip.net url.
  • (enh #9): Add Spanish translations.
  • (enh #7): Add Dutch translations.
  • (enh #6): New template property for controlling layout and fields rendered.
  • (enh #5): Use scalable flag icons from kartik-v/yii2-icons.
  • (enh #4): Revamp widget to use freegeoip.net API.
  • (enh #3): Enhance extension to use AJAX based jQuery plugin to refresh IP info.
  • (enh #1): Added Portugese translations.

Statistics

Downloads
GitHub Stars
GitHub Forks

Releases

Comments



v2.0.2 is the latest of 7 releases



BSD-3-Clause license
Stats
29 github stars & 11 github forks
7 downloads in the last day
592 downloads in the last 30 days
20487 total downloads