wdmg/yii2-stats

Statistic module

Installs: 113

Dependents: 1

Suggesters: 0

Security: 0

Stars: 4

Watchers: 4

Forks: 3

Open Issues: 2

Type:yii2-extension

1.2.3 2020-05-29 14:54 UTC

This package is auto-updated.

Last update: 2020-05-29 14:56:37 UTC


README

Yii2 Downloads Packagist Version Progress GitHub license

Yii2 Statistics Module

Statistics module for Yii2

Requirements

Installation

To install the module, run the following command in the console:

$ composer require "wdmg/yii2-stats"

After configure db connection, run the following command in the console:

$ php yii stats/init

And select the operation you want to perform:

  1. Apply all module migrations
  2. Revert all module migrations
  3. Update MaxMind GeoLite2 database

Migrations

In any case, you can execute the migration run the following command in the console:

$ php yii migrate --migrationPath=@vendor/wdmg/yii2-stats/migrations

Configure

To add a module to the project, add the following data in your configuration file:

'modules' => [
    ...
    'stats' => [
        'class' => 'wdmg\stats\Module',
        'collectStats' => true,
        'collectProfiling' => true,
        'routePrefix' => 'admin',
        'storagePeriod' => 0,
        'ignoreDev' => true,
        'ignoreAjax' => true,
        'useChart' => true,
        'ignoreRoute' => ['/admin', '/admin/'],
        'ignoreListIp' => ['::1', '127.0.0.1'],
        'ignoreListUA' => [],
        'cookieName' => 'yii2_stats',
        'cookieExpire' => 3110400,
        'maxmindLicenseKey' => false,
        'advertisingSystems' => ["gclid", "yclid", "fbclid", ...],
        'socialNetworks' => ["facebook", "instagram", "twitter", ...],
        'searchEngines' => ["google", "yandex", "yahoo", ...],
        'clientPlatforms' => [
            '/windows nt 10/i' => [
                'title' => 'Windows 10',
                'icon' => 'icon-win-10-os'
            ],
            ...
        ],
        'clientBrowsers' => [
            '/msie/i' => [
                'title' => 'Internet Explorer',
                'icon' => 'icon-ie-browser'
            ],
            ...
        ]
    ],
    ...
],

Options

Name Type Default Description
collectStats boolean true Collect statistics with this module?
routePrefix string 'admin' Route prefix to the module control panel.
storagePeriod integer 0 Days, how many to store statistics. 0 - infinity.
useChart boolean true Use charts when displaying statistics.
ignoreDev boolean true Ignore activity in development mode.
ignoreAjax boolean true Ignoring activity for Ajax requests.
ignoreRoute array ['/admin'] Ignoring the activity at the specified routing.
ignoreListIp array ['127.0.0.1'] Ignoring activity from specified IP addresses.
ignoreListUA array [...] Ignoring of activity at specified UserAgents.
cookieName string 'yii2_stats' The name of the cookie to store the visit ID.
cookieExpire integer 3110400 Cookie lifetime.
maxmindLicenseKey mixed false MaxMind LicenseKey for GeoLite2 databases.
advertisingSystems array [...] List to detect the transition from advertising sites.
socialNetworks array [...] List for detecting transition from social networks.
searchEngines array [...] List for detecting the transition from search engines.
clientPlatforms array [...] List for detecting the client's OS.
clientBrowsers array [...] Client's Browser detection list.

Routing

Use the Module::dashboardNavItems() method of the module to generate a navigation items list for NavBar, like this:

<?php
    echo Nav::widget([
    'options' => ['class' => 'navbar-nav navbar-right'],
        'label' => 'Modules',
        'items' => [
            Yii::$app->getModule('stats')->dashboardNavItems(),
            ...
        ]
    ]);
?>

Status and version [ready to use]

  • v.1.2.3 - MaxMind License Key default property fixed and update MaxMind for Win platform fixed
  • v.1.2.2 - Update README.md and dependencies versions
  • v.1.2.1 - Added pagination, fixed updating GeoIP database from MaxMind.com
  • v.1.2.0 - Collect profiling data
  • v.1.1.10 - Fixed deprecated class declaration
  • v.1.1.9 - Loading module options from params, optimize GeoIP database update

Copyright and License

This product also includes GeoLite2 data created by MaxMind, available from https://www.maxmind.com