diff options
author | Chaoyi Zha <summermontreal@gmail.com> | 2016-12-28 23:21:04 +0300 |
---|---|---|
committer | Chaoyi Zha <summermontreal@gmail.com> | 2016-12-28 23:21:04 +0300 |
commit | b73048cdc093998b9463bb151f92833aaddb286f (patch) | |
tree | c417fd3a1ac3753f3756139680343907af49e5af | |
parent | a3c697a865bd8f8ec1bc3174eca6711ac9e30eb2 (diff) |
Add shortcut to stats in link tables
-rw-r--r-- | app/Http/Controllers/AdminPaginationController.php | 22 | ||||
-rw-r--r-- | app/Http/Controllers/StatsController.php | 3 | ||||
-rw-r--r-- | public/css/admin.css | 4 | ||||
-rw-r--r-- | public/css/stats.css | 4 | ||||
-rw-r--r-- | resources/views/link_stats.blade.php | 10 |
5 files changed, 39 insertions, 4 deletions
diff --git a/app/Http/Controllers/AdminPaginationController.php b/app/Http/Controllers/AdminPaginationController.php index 9add38d..f7d7a79 100644 --- a/app/Http/Controllers/AdminPaginationController.php +++ b/app/Http/Controllers/AdminPaginationController.php @@ -113,6 +113,16 @@ class AdminPaginationController extends Controller { Delete </a>'; }) + ->editColumn('clicks', function ($link) { + if (env('SETTING_ADV_ANALYTICS')) { + return $link->clicks . ' <a target="_blank" class="stats-icon" href="/admin/stats/' . e($link->short_url) . '"> + <i class="fa fa-area-chart" aria-hidden="true"></i> + </a>'; + } + else { + return $link->clicks; + } + }) ->escapeColumns(['short_url', 'long_url', 'creator']) ->make(true); } @@ -125,7 +135,17 @@ class AdminPaginationController extends Controller { ->select(['short_url', 'long_url', 'clicks', 'created_at']); return Datatables::of($user_links) - ->escapeColumns() + ->editColumn('clicks', function ($link) { + if (env('SETTING_ADV_ANALYTICS')) { + return $link->clicks . ' <a target="_blank" class="stats-icon" href="/admin/stats/' . e($link->short_url) . '"> + <i class="fa fa-area-chart" aria-hidden="true"></i> + </a>'; + } + else { + return $link->clicks; + } + }) + ->escapeColumns(['short_url', 'long_url']) ->make(true); } } diff --git a/app/Http/Controllers/StatsController.php b/app/Http/Controllers/StatsController.php index edf2d44..456f917 100644 --- a/app/Http/Controllers/StatsController.php +++ b/app/Http/Controllers/StatsController.php @@ -56,6 +56,9 @@ class StatsController extends Controller { if ($link == null) { return redirect(route('admin'))->with('error', 'Cannot show stats for nonexistent link.'); } + if (!env('SETTING_ADV_ANALYTICS')) { + return redirect(route('login'))->with('error', 'Please enable advanced analytics to view this page.'); + } $link_id = $link->id; diff --git a/public/css/admin.css b/public/css/admin.css index b3e4d1e..f33a96d 100644 --- a/public/css/admin.css +++ b/public/css/admin.css @@ -2,6 +2,10 @@ margin-bottom: 5px; } +.stats-icon { + margin-left: 0.3em; +} + .change-password { width: 150px; } diff --git a/public/css/stats.css b/public/css/stats.css index d012685..918ae6f 100644 --- a/public/css/stats.css +++ b/public/css/stats.css @@ -14,3 +14,7 @@ .ng-root { margin-bottom: 4em; } + +h4 { + display: inline-block; +} diff --git a/resources/views/link_stats.blade.php b/resources/views/link_stats.blade.php index df3e59b..14963d0 100644 --- a/resources/views/link_stats.blade.php +++ b/resources/views/link_stats.blade.php @@ -12,16 +12,20 @@ <div class="stats-header"> <h3>Stats</h3> <p> - <b>Short Link: </b> {{ env('APP_ADDRESS') }}/{{ $link->short_url }} + <b>Short Link: </b> + <a target="_blank" href="{{ env('APP_PROTOCOL') }}/{{ env('APP_ADDRESS') }}/{{ $link->short_url }}"> + {{ env('APP_ADDRESS') }}/{{ $link->short_url }} + </a> </p> <p> - <b>Long Link: </b> {{ $link->long_url }} + <b>Long Link: </b> + <a target="_blank" href="{{ $link->long_url }}">{{ $link->long_url }}</a> </p> </div> <div class="row bottom-padding"> <div class="col-md-8"> - <h4>Traffic over Time</h4> + <h4>Traffic over Time</h4> (total: {{ $link->clicks }}) <canvas id="dayChart"></canvas> </div> <div class="col-md-4"> |