analytics.php 8.01 KB
<?php
    /**
     * @var View  $this
     * @var array $data
     * @var array $browsers
     * @var array $cityes
     * @var array $countries
     */
    
    use artbox\gentelella\widgets\XPanel;
    use dosamigos\highcharts\HighCharts;
    use yii\bootstrap\Tabs;
    use yii\web\View;

?>

<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 = XPanel::begin(
          [
              'title'         => 'Analytics',
              'toolbarLayout' => false,
          ]
      ); ?>
      
      <?php
          $chartConfiguration = [
              'type'          => 'serial',
              'dataProvider'  => $data[ 'plot' ],
              'categoryField' => 'day',
              '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]]</span>",
                      "lineColors"                  => '#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]]</span>",
                      "lineColors"                  => '#A8E3D6',
                  ],
              ],
          ];
    
          echo speixoto\amcharts\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 = XPanel::begin(
          [
              'title'         => 'Analytics',
              'toolbarLayout' => false,
          ]
      ); ?>
      
      <?php
          echo HighCharts::widget(
              [
                  'clientOptions' => [
                      'exporting'   => [
                          'enabled' => false,
                      ],
                      'colors'      => [
                          '#9ABCC3',
                          '#A8E3D6',
                      ],
                      'chart'       => [
                          'plotBackgroundColor' => null,
                          'plotBorderWidth'     => null,
                          'plotShadow'          => false,
                          'type'                => 'pie',
                      ],
                      'title'       => [
                          'text' => 'Analytics',
                      ],
                      'series'      => [
                          [
                              'name' => 'Sessions',
                              'data' => [
                                  [
                                      'name' => 'New visitor',
                                      'y'    => round(intval($data[ 'new' ]), 2),
                                  ],
                                  [
                                      'name' => 'Returning Visitor',
                                      'y'    => 100 - round(intval($data[ 'new' ]), 2),
                                  ],
                              ],
                          ],
                      ],
                      'credits'     => [
                          'enabled' => false,
                      ],
                      'plotOptions' => [
                          'pie' => [
                              'allowPointSelect' => true,
                              'cursor'           => 'pointer',
                          ],
                      ],
                  ],
              ]
          );
      ?>
      
      <?php $panel::end(); ?>
  </div>
  
  <div class="col-lg-6 col-md-6 col-sm-12 col-xs-12">
      
      <?php $panel = XPanel::begin(
          [
              'title'         => 'Analytics',
              'toolbarLayout' => false,
          ]
      ); ?>

      <?php
          echo Tabs::widget(
              [
                  '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>