analytics.php 8.08 KB
<?php
    /**
     * @var View  $this
     * @var array $data
     * @var array $browsers
     * @var array $cityes
     * @var array $countries
     */
    
    use speixoto\amcharts\Widget;
    use yii\bootstrap\Tabs;
    use yii\web\View;
    use yiister\gentelella\widgets\Panel;

?>

<div class="row">
    <div class="animated flipInY col-lg-3 col-md-3 col-sm-6 col-xs-12">
        <div class="tile-stats">
            <div class="icon"><i class="fa fa-clock-o"></i>
            </div>
            <div class="count"><?= $data[ 'sessions' ] ?></div>
            
            <h3>Sessions</h3>
            <p>Lorem ipsum psdea itgum rixt.</p>
        </div>
    </div>
    <div class="animated flipInY col-lg-3 col-md-3 col-sm-6 col-xs-12">
        <div class="tile-stats">
            <div class="icon"><i class="fa fa-user"></i>
            </div>
            <div class="count"><?= $data[ 'users' ] ?></div>
            
            <h3>Users</h3>
            <p>Lorem ipsum psdea itgum rixt.</p>
        </div>
    </div>
    <div class="animated flipInY col-lg-3 col-md-3 col-sm-6 col-xs-12">
        <div class="tile-stats">
            <div class="icon"><i class="fa fa-eye"></i>
            </div>
            <div class="count"><?= $data[ 'views' ] ?></div>
            
            <h3>Page views</h3>
            <p>Lorem ipsum psdea itgum rixt.</p>
        </div>
    </div>
    <div class="animated flipInY col-lg-3 col-md-3 col-sm-6 col-xs-12">
        <div class="tile-stats">
            <div class="icon"><i class="fa fa-plus"></i>
            </div>
            <div class="count"><?= round(intval($data[ 'new' ]), 2) ?> %</div>
            
            <h3>New sessions</h3>
            <p>Lorem ipsum psdea itgum rixt.</p>
        </div>
    </div>
</div>

<div class="row">
    <div class="col-md-12">
        <?php $panel = Panel::begin(
            [
                'header' => 'Analytics',
            ]
        ); ?>
        
        <?php
            $chartConfiguration = [
                'type'          => 'serial',
                'dataProvider'  => $data[ 'plot' ],
                'categoryField' => 'day',
                'categoryAxis'  => [
                    'labelFrequency' => 5,
                ],
                'graphs'        => [
                    [
                        "balloon"                     => [
                            "drop"              => true,
                            "adjustBorderColor" => false,
                            "color"             => "#ffffff",
                        ],
                        "bullet"                      => "round",
                        "bulletBorderAlpha"           => 1,
                        "bulletColor"                 => "#FFFFFF",
                        "bulletSize"                  => 5,
                        "hideBulletsCount"            => 50,
                        "lineThickness"               => 2,
                        "title"                       => "red line",
                        "useLineColorForBulletBorder" => true,
                        "valueField"                  => "users",
                        "balloonText"                 => "<span style='font-size:18px;'>Users: [[users]]</span>",
                        "lineColor"                   => '#9ABCC3',
                    ],
                    [
                        "balloon"                     => [
                            "drop"              => true,
                            "adjustBorderColor" => false,
                            "color"             => "#ffffff",
                        ],
                        "bullet"                      => "round",
                        "bulletBorderAlpha"           => 1,
                        "bulletColor"                 => "#FFFFFF",
                        "bulletSize"                  => 5,
                        "hideBulletsCount"            => 50,
                        "lineThickness"               => 2,
                        "title"                       => "red line",
                        "useLineColorForBulletBorder" => true,
                        "valueField"                  => "sessions",
                        "balloonText"                 => "<span style='font-size:18px;'>Sessions: [[sessions]]</span>",
                        "lineColor"                   => '#A8E3D6',
                    ],
                ],
                'chartCursor'   => [
                    "pan"                     => true,
                    "valueLineEnabled"        => true,
                    "valueLineBalloonEnabled" => true,
                    "cursorAlpha"             => 1,
                    "cursorColor"             => "#1ABB9C",
                    "limitToGraph"            => "g1",
                    "valueLineAlpha"          => 0.2,
                    "valueZoomable"           => true,
                ],
            ];
            
            echo Widget::widget(
                [
                    'chartConfiguration' => $chartConfiguration,
                    'width'              => '100%',
                ]
            );
        ?>
        
        <?php $panel::end(); ?>
    
    </div>
</div>

<div class="row">
    <div class="col-lg-6 col-md-6 col-sm-12 col-xs-12">
        <?php $panel = Panel::begin(
            [
                'header' => 'Analytics',
            ]
        ); ?>
        
        <?php
            $chartConfiguration = [
                "type"         => "pie",
                "titleField"   => "category",
                "valueField"   => "column-1",
                "dataProvider" => [
                    [
                        "category" => "New Visitor",
                        "column-1" => round(intval($data[ 'new' ]), 2),
                    ],
                    [
                        "category" => "Returning Visitor",
                        "column-1" => 100 - round(intval($data[ 'new' ]), 2),
                    ],
                ],
                "colors"       => [
                    "#A8E3D6",
                    "#9ABCC3",
                ],
            ];
            
            echo Widget::widget(
                [
                    'chartConfiguration' => $chartConfiguration,
                    'width'              => '100%',
                ]
            );
        ?>
        
        <?php $panel::end(); ?>
    </div>
    
    <div class="col-lg-6 col-md-6 col-sm-12 col-xs-12">
        
        <?php $panel = Panel::begin(
            [
                'header' => 'Analytics',
            ]
        ); ?>
        
        <?php
            echo Tabs::widget(
                [
                    'options' => [
                        'class' => 'bar_tabs',
                    ],
                    'items'   => [
                        [
                            'label'   => 'Browsers',
                            'content' => $this->render(
                                '_table',
                                [
                                    'data' => $browsers,
                                    'name' => 'Browser',
                                ]
                            ),
                            'active'  => true,
                        ],
                        [
                            'label'   => 'Cities',
                            'content' => $this->render(
                                '_table',
                                [
                                    'data' => $cityes,
                                    'name' => 'City',
                                ]
                            ),
                        ],
                        [
                            'label'   => 'Countries',
                            'content' => $this->render(
                                '_table',
                                [
                                    'data' => $countries,
                                    'name' => 'Country',
                                ]
                            ),
                        ],
                    ],
                ]
            );
        
        ?>
        
        <?php $panel::end(); ?>
    
    </div>

</div>