Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/cydrobolt/polr.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChaoyi Zha <summermontreal@gmail.com>2016-12-28 08:18:17 +0300
committerChaoyi Zha <summermontreal@gmail.com>2016-12-28 08:18:17 +0300
commitb8a1c7de44f52e08c45b598997ddfdd404a1a9b0 (patch)
tree2b382eb3dd6a17d3cc7d7f9d8200a7a315b02d8b /resources
parenta2d4b8457c1ed0e77d46136ea7fac745445474ad (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.php3
-rw-r--r--resources/views/layouts/base.blade.php2
-rw-r--r--resources/views/link_stats.blade.php81
-rw-r--r--resources/views/setup.blade.php12
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>