diff options
| author | Camil Staps | 2016-07-18 21:33:31 +0200 | 
|---|---|---|
| committer | Camil Staps | 2016-07-18 21:33:31 +0200 | 
| commit | 246439a5c0670da535d4c458eae3fa766335fa3f (patch) | |
| tree | b500c3882948b2a08af5ec6bd55552b6ef82b144 | |
| parent | Cleaner logging (diff) | |
Statistics page
| -rw-r--r-- | app/Http/routes.php | 4 | ||||
| -rw-r--r-- | resources/views/stats.php | 80 | 
2 files changed, 84 insertions, 0 deletions
| diff --git a/app/Http/routes.php b/app/Http/routes.php index 70e9164..67b661b 100644 --- a/app/Http/routes.php +++ b/app/Http/routes.php @@ -43,5 +43,9 @@ $app->group(['prefix' => parse_url(env('APP_URL'), PHP_URL_PATH)], function ($ap      });      $app->get('/verb/random', 'App\Http\Controllers\RandomVerbController@show'); + +    $app->get('/stats', function () use ($app) { +        return view('stats'); +    });  }); diff --git a/resources/views/stats.php b/resources/views/stats.php new file mode 100644 index 0000000..a37095a --- /dev/null +++ b/resources/views/stats.php @@ -0,0 +1,80 @@ +<!DOCTYPE html> +<!-- +HebrewParseTrainer - practice Hebrew verbs +Copyright (C) 2015  Camil Staps <info@camilstaps.nl> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program.  If not, see <http://www.gnu.org/licenses/>. + --> +<html lang="en"> +<head> +    <meta charset="utf-8"> +    <title>HebrewParseTrainer statistics</title> +    <link rel="stylesheet" href="vendor/twbs/bootstrap/dist/css/bootstrap.min.css"> +    <link rel="stylesheet" href="vendor/twbs/bootstrap/dist/css/bootstrap-theme.min.css"> +    <link rel="stylesheet" href="public/css/hebrewparsetrainer.css"> +</head> +<body role="application"> +<div class="container" role="main"> +    <div class="page-header"> +        <h1>HebrewParseTrainer statistics</h1> +    </div> + +    <div class="row"> +        <div class="col-md-12"> +            <div id="statistics" style="height:400px;"></div> +        </div> +    </div> +</div> + +<?php +use \HebrewParseTrainer\RandomLog; + +$db_stats = RandomLog +    ::select(DB::raw('COUNT(*) as count'), 'created_at') +    ->groupBy(DB::raw('DAY(created_at)')) +    ->orderBy('created_at') +    ->get(); + +$stats = []; +foreach ($db_stats as $stat) { +    $stats[] = "[Date.UTC" . date("(Y,n-1,d)", strtotime($stat->created_at)) . "," . $stat->count . "]"; +} +$stats = "[" . implode(",", $stats) . "]"; +?> + +<script src="vendor/components/jquery/jquery.min.js"></script> +<script src="vendor/twbs/bootstrap/dist/js/bootstrap.min.js"></script> +<script src="//code.highcharts.com/highcharts.js"></script> +<script src="public/js/hebrewparsetrainer.js"></script> + +<script type="text/javascript"> +    $('#statistics').highcharts({ +        chart: { type: 'column', zoomType: 'x' }, +        title: { text: 'Requests per day' }, +        xAxis: { type: 'datetime' }, +        yAxis: { +            min: 0, +            title: { text: 'Requests' } +        }, +        tooltip: { pointFormat: '<b>{point.y}</b> requests' }, +        series: [ +            { +                name: 'Requests', +                data: <?=$stats?> +            } +        ] +    }); +</script> +</body> +</html> | 
