diff options
author | Chaoyi Zha <summermontreal@gmail.com> | 2016-12-28 08:18:17 +0300 |
---|---|---|
committer | Chaoyi Zha <summermontreal@gmail.com> | 2016-12-28 08:18:17 +0300 |
commit | b8a1c7de44f52e08c45b598997ddfdd404a1a9b0 (patch) | |
tree | 2b382eb3dd6a17d3cc7d7f9d8200a7a315b02d8b /resources | |
parent | a2d4b8457c1ed0e77d46136ea7fac745445474ad (diff) |
Add Click model for advanced analytics, add Setup settings, use Chart.js for charting, create stat pages and routes
Diffstat (limited to 'resources')
-rw-r--r-- | resources/views/env.blade.php | 3 | ||||
-rw-r--r-- | resources/views/layouts/base.blade.php | 2 | ||||
-rw-r--r-- | resources/views/link_stats.blade.php | 81 | ||||
-rw-r--r-- | resources/views/setup.blade.php | 12 |
4 files changed, 96 insertions, 2 deletions
diff --git a/resources/views/env.blade.php b/resources/views/env.blade.php index 09d5fc5..90d76b8 100644 --- a/resources/views/env.blade.php +++ b/resources/views/env.blade.php @@ -74,6 +74,9 @@ SETTING_ANON_API={{$ST_ANON_API}} # Set to true to use pseudorandom strings rather than using a counter by default SETTING_PSEUDORANDOM_ENDING={{$ST_PSEUDOR_ENDING}} +# Set to true to record advanced analytics +SETTING_ADV_ANALYTICS={{$ST_ADV_ANALYTICS}} + # Set each to blank to disable mail @if($MAIL_ENABLED) MAIL_DRIVER=smtp diff --git a/resources/views/layouts/base.blade.php b/resources/views/layouts/base.blade.php index 251a74e..8df7098 100644 --- a/resources/views/layouts/base.blade.php +++ b/resources/views/layouts/base.blade.php @@ -38,7 +38,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. <link href="/css/toastr.min.css" rel="stylesheet"> <link href="/css/font-awesome.min.css" rel="stylesheet"> - <link rel="shortcut icon" href="favicon.ico"> + <link rel="shortcut icon" href="/favicon.ico"> @yield('css') </head> <body> diff --git a/resources/views/link_stats.blade.php b/resources/views/link_stats.blade.php new file mode 100644 index 0000000..04957d9 --- /dev/null +++ b/resources/views/link_stats.blade.php @@ -0,0 +1,81 @@ +@extends('layouts.base') + +@section('css') +<link rel='stylesheet' href='/css/datatables.min.css'> +<link rel='stylesheet' href='/css/stats.css'> +@endsection + +@section('content') +<div ng-controller="StatsCtrl" class="ng-root"> + <div class="stats-header"> + <h3>Stats</h3> + <p> + <b>Short Link: </b> {{ env('APP_ADDRESS') }}/{{ $link->short_url }} + </p> + <p> + <b>Long Link: </b> {{ $link->long_url }} + </p> + </div> + + <div class="row"> + <div class="col-md-8"> + <h4>Traffic over Time</h4> + <canvas id="dayChart"></canvas> + </div> + <div class="col-md-4"> + <h4>Traffic sources</h4> + <canvas id="refererChart"></canvas> + </div> + </div> + <div class="row"> + <div class="col-md-6"> + <h4>Map</h4> + <canvas id="mapChart"></canvas> + </div> + </div> + <div class="row"> + <div class="col-md-6"> + <h4>Referers</h4> + <table class="table table-hover" id="refererTable"> + <thead> + <tr> + <th>Host</th> + <th>Clicks</th> + </tr> + </thead> + <tbody> + @foreach ($referer_stats as $referer) + <tr> + <td>{{ $referer->label }}</td> + <td>{{ $referer->clicks }}</td> + </tr> + @endforeach + </tbody> + </table> + + </div> + <div class="col-md-6"> + + </div> + </div> + + +</div> + +@endsection + +@section('js') +{{-- Load data --}} +<script> +var dayData = JSON.parse('{!! json_encode($day_stats) !!}'); +var refererData = JSON.parse('{!! json_encode($referer_stats) !!}'); +var countryData = JSON.parse('{!! json_encode($country_stats) !!}'); +</script> + +{{-- Include extra JS --}} +<script src='/js/lodash.min.js'></script> +<script src='/js/chart.bundle.min.js'></script> +<script src='/js/datatables.min.js'></script> +<script src='/js/StatsCtrl.js'></script> + +@endsection diff --git a/resources/views/setup.blade.php b/resources/views/setup.blade.php index a148be6..4115a69 100644 --- a/resources/views/setup.blade.php +++ b/resources/views/setup.blade.php @@ -49,12 +49,22 @@ Setup <p>Application Name:</p> <input type='text' class='form-control' name='app:name' value='Polr'> - <p>Application protocol:</p> + <p>Application Protocol:</p> <input type='text' class='form-control' name='app:protocol' value='http://'> <p>Application URL (path to Polr; do not include http:// or trailing slash):</p> <input type='text' class='form-control' name='app:external_url' value='yoursite.com'> + <p> + Advanced Analytics: + <button data-content="Enable advanced analytics to collect data such as referers, geolocation, and clicks over time. Enabling advanced analytics reduces performance and increases disk space usage." + type="button" class="btn btn-xs btn-default setup-qmark" data-toggle="popover">?</button> + </p> + <select name='setting:adv_analytics' class='form-control'> + <option value='false' selected='selected'>Disable advanced analytics</option> + <option value='true'>Enable advanced analytics</option> + </select> + <p>Shortening Permissions:</p> <select name='setting:shorten_permission' class='form-control'> <option value='false' selected='selected'>Anyone can shorten URLs</option> |