Loading app/Config/Routes.php +40 −4 Original line number Diff line number Diff line Loading @@ -123,10 +123,46 @@ $routes->group( 'as' => 'podcast-delete', 'filter' => 'permission:podcasts-delete', ]); $routes->get('analytics', 'Podcast::analytics/$1', [ $routes->group('analytics', function ($routes) { $routes->get('/', 'Podcast::viewAnalytics/$1', [ 'as' => 'podcast-analytics', 'filter' => 'permission:podcasts-view,podcast-view', ]); $routes->get( 'webpages', 'Podcast::viewAnalyticsWebpages/$1', [ 'as' => 'podcast-analytics-webpages', 'filter' => 'permission:podcasts-view,podcast-view', ] ); $routes->get( 'locations', 'Podcast::viewAnalyticsLocations/$1', [ 'as' => 'podcast-analytics-locations', 'filter' => 'permission:podcasts-view,podcast-view', ] ); $routes->get( 'unique-listeners', 'Podcast::viewAnalyticsUniqueListeners/$1', [ 'as' => 'podcast-analytics-unique-listeners', 'filter' => 'permission:podcasts-view,podcast-view', ] ); $routes->get( 'players', 'Podcast::viewAnalyticsPlayers/$1', [ 'as' => 'podcast-analytics-players', 'filter' => 'permission:podcasts-view,podcast-view', ] ); }); $routes->get( 'analytics-data/(:segment)', 'AnalyticsData::getData/$1/$2', Loading app/Controllers/Admin/Podcast.php +34 −2 Original line number Diff line number Diff line Loading @@ -58,12 +58,44 @@ class Podcast extends BaseController return view('admin/podcast/view', $data); } public function analytics() public function viewAnalytics() { $data = ['podcast' => $this->podcast]; replace_breadcrumb_params([0 => $this->podcast->title]); return view('admin/podcast/analytics', $data); return view('admin/podcast/analytics/index', $data); } public function viewAnalyticsWebpages() { $data = ['podcast' => $this->podcast]; replace_breadcrumb_params([0 => $this->podcast->title]); return view('admin/podcast/analytics/webpages', $data); } public function viewAnalyticsLocations() { $data = ['podcast' => $this->podcast]; replace_breadcrumb_params([0 => $this->podcast->title]); return view('admin/podcast/analytics/locations', $data); } public function viewAnalyticsUniqueListeners() { $data = ['podcast' => $this->podcast]; replace_breadcrumb_params([0 => $this->podcast->title]); return view('admin/podcast/analytics/unique_listeners', $data); } public function viewAnalyticsPlayers() { $data = ['podcast' => $this->podcast]; replace_breadcrumb_params([0 => $this->podcast->title]); return view('admin/podcast/analytics/players', $data); } public function create() Loading app/Entities/AnalyticsPodcastsByCountry.php +5 −0 Original line number Diff line number Diff line Loading @@ -20,4 +20,9 @@ class AnalyticsPodcastsByCountry extends Entity 'date' => 'datetime', 'hits' => 'integer', ]; public function getLabels() { return lang('Countries.' . $this->attributes['labels']); } } app/Entities/AnalyticsPodcastsByRegion.php +5 −0 Original line number Diff line number Diff line Loading @@ -23,4 +23,9 @@ class AnalyticsPodcastsByRegion extends Entity 'date' => 'datetime', 'hits' => 'integer', ]; public function getCountryCode() { return lang('Countries.' . $this->attributes['country_code']); } } app/Entities/AnalyticsWebsiteByEntryPage.php +6 −0 Original line number Diff line number Diff line Loading @@ -20,4 +20,10 @@ class AnalyticsWebsiteByEntryPage extends Entity 'date' => 'datetime', 'hits' => 'integer', ]; public function getLabels() { $split = explode('/', $this->attributes['labels']); return $split[count($split) - 1]; } } Loading
app/Config/Routes.php +40 −4 Original line number Diff line number Diff line Loading @@ -123,10 +123,46 @@ $routes->group( 'as' => 'podcast-delete', 'filter' => 'permission:podcasts-delete', ]); $routes->get('analytics', 'Podcast::analytics/$1', [ $routes->group('analytics', function ($routes) { $routes->get('/', 'Podcast::viewAnalytics/$1', [ 'as' => 'podcast-analytics', 'filter' => 'permission:podcasts-view,podcast-view', ]); $routes->get( 'webpages', 'Podcast::viewAnalyticsWebpages/$1', [ 'as' => 'podcast-analytics-webpages', 'filter' => 'permission:podcasts-view,podcast-view', ] ); $routes->get( 'locations', 'Podcast::viewAnalyticsLocations/$1', [ 'as' => 'podcast-analytics-locations', 'filter' => 'permission:podcasts-view,podcast-view', ] ); $routes->get( 'unique-listeners', 'Podcast::viewAnalyticsUniqueListeners/$1', [ 'as' => 'podcast-analytics-unique-listeners', 'filter' => 'permission:podcasts-view,podcast-view', ] ); $routes->get( 'players', 'Podcast::viewAnalyticsPlayers/$1', [ 'as' => 'podcast-analytics-players', 'filter' => 'permission:podcasts-view,podcast-view', ] ); }); $routes->get( 'analytics-data/(:segment)', 'AnalyticsData::getData/$1/$2', Loading
app/Controllers/Admin/Podcast.php +34 −2 Original line number Diff line number Diff line Loading @@ -58,12 +58,44 @@ class Podcast extends BaseController return view('admin/podcast/view', $data); } public function analytics() public function viewAnalytics() { $data = ['podcast' => $this->podcast]; replace_breadcrumb_params([0 => $this->podcast->title]); return view('admin/podcast/analytics', $data); return view('admin/podcast/analytics/index', $data); } public function viewAnalyticsWebpages() { $data = ['podcast' => $this->podcast]; replace_breadcrumb_params([0 => $this->podcast->title]); return view('admin/podcast/analytics/webpages', $data); } public function viewAnalyticsLocations() { $data = ['podcast' => $this->podcast]; replace_breadcrumb_params([0 => $this->podcast->title]); return view('admin/podcast/analytics/locations', $data); } public function viewAnalyticsUniqueListeners() { $data = ['podcast' => $this->podcast]; replace_breadcrumb_params([0 => $this->podcast->title]); return view('admin/podcast/analytics/unique_listeners', $data); } public function viewAnalyticsPlayers() { $data = ['podcast' => $this->podcast]; replace_breadcrumb_params([0 => $this->podcast->title]); return view('admin/podcast/analytics/players', $data); } public function create() Loading
app/Entities/AnalyticsPodcastsByCountry.php +5 −0 Original line number Diff line number Diff line Loading @@ -20,4 +20,9 @@ class AnalyticsPodcastsByCountry extends Entity 'date' => 'datetime', 'hits' => 'integer', ]; public function getLabels() { return lang('Countries.' . $this->attributes['labels']); } }
app/Entities/AnalyticsPodcastsByRegion.php +5 −0 Original line number Diff line number Diff line Loading @@ -23,4 +23,9 @@ class AnalyticsPodcastsByRegion extends Entity 'date' => 'datetime', 'hits' => 'integer', ]; public function getCountryCode() { return lang('Countries.' . $this->attributes['country_code']); } }
app/Entities/AnalyticsWebsiteByEntryPage.php +6 −0 Original line number Diff line number Diff line Loading @@ -20,4 +20,10 @@ class AnalyticsWebsiteByEntryPage extends Entity 'date' => 'datetime', 'hits' => 'integer', ]; public function getLabels() { $split = explode('/', $this->attributes['labels']); return $split[count($split) - 1]; } }