From 16787941539ba4014281a366789ea896a9cd2afc Mon Sep 17 00:00:00 2001 From: Benjamin Bellamy <ben@podlibre.org> Date: Mon, 19 Oct 2020 16:47:22 +0000 Subject: [PATCH] fix(analytics): remove charts empty values + remove useless language cache fix(install): edit host_url helper and remove back() when create .env --- app/Controllers/Install.php | 4 +--- app/Entities/AnalyticsWebsiteByEntryPage.php | 6 ------ app/Helpers/url_helper.php | 4 ++-- app/Models/AnalyticsPodcastByCountryModel.php | 10 ++++------ app/Models/AnalyticsPodcastByPlayerModel.php | 1 + app/Models/AnalyticsWebsiteByEntryPageModel.php | 4 +++- app/Models/AnalyticsWebsiteByRefererModel.php | 8 ++++++-- app/Views/install/instance_config.php | 5 ++++- 8 files changed, 21 insertions(+), 21 deletions(-) diff --git a/app/Controllers/Install.php b/app/Controllers/Install.php index 6cdb342266..cc9e26d48d 100644 --- a/app/Controllers/Install.php +++ b/app/Controllers/Install.php @@ -44,7 +44,7 @@ class Install extends Controller $dotenv->load(); } catch (\Throwable $e) { - return $this->createEnv(); + $this->createEnv(); } // Check if the created .env file is writable to continue install process @@ -139,8 +139,6 @@ class Install extends Controller // Could not create the .env file, redirect to a view with manual instructions on how to add it return view('install/manual_config'); } - - return redirect()->back(); } public function instanceConfig() diff --git a/app/Entities/AnalyticsWebsiteByEntryPage.php b/app/Entities/AnalyticsWebsiteByEntryPage.php index 4a8e75acb0..344d60fb2b 100644 --- a/app/Entities/AnalyticsWebsiteByEntryPage.php +++ b/app/Entities/AnalyticsWebsiteByEntryPage.php @@ -20,10 +20,4 @@ class AnalyticsWebsiteByEntryPage extends Entity 'date' => 'datetime', 'hits' => 'integer', ]; - - public function getLabels() - { - $split = explode('/', $this->attributes['labels']); - return $split[count($split) - 1]; - } } diff --git a/app/Helpers/url_helper.php b/app/Helpers/url_helper.php index 7f9e157bad..1e35a594ab 100644 --- a/app/Helpers/url_helper.php +++ b/app/Helpers/url_helper.php @@ -8,13 +8,13 @@ if (!function_exists('host_url')) { */ function host_url() { - if (isset($_SERVER['host'])) { + if (isset($_SERVER['HTTP_HOST'])) { $protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') || $_SERVER['SERVER_PORT'] == 443 ? 'https://' : 'http://'; - return $protocol + $_SERVER['host']; + return $protocol . $_SERVER['HTTP_HOST'] . '/'; } return false; diff --git a/app/Models/AnalyticsPodcastByCountryModel.php b/app/Models/AnalyticsPodcastByCountryModel.php index 053b4b02f6..162170a5cf 100644 --- a/app/Models/AnalyticsPodcastByCountryModel.php +++ b/app/Models/AnalyticsPodcastByCountryModel.php @@ -32,10 +32,9 @@ class AnalyticsPodcastByCountryModel extends Model */ public function getDataWeekly(int $podcastId): array { - $locale = service('request')->getLocale(); if ( !($found = cache( - "{$podcastId}_analytics_podcast_by_country_weekly_{$locale}" + "{$podcastId}_analytics_podcast_by_country_weekly" )) ) { $found = $this->select('`country_code` as `labels`') @@ -49,7 +48,7 @@ class AnalyticsPodcastByCountryModel extends Model ->findAll(10); cache()->save( - "{$podcastId}_analytics_podcast_by_country_weekly_{$locale}", + "{$podcastId}_analytics_podcast_by_country_weekly", $found, 600 ); @@ -66,10 +65,9 @@ class AnalyticsPodcastByCountryModel extends Model */ public function getDataYearly(int $podcastId): array { - $locale = service('request')->getLocale(); if ( !($found = cache( - "{$podcastId}_analytics_podcast_by_country_yearly_{$locale}" + "{$podcastId}_analytics_podcast_by_country_yearly" )) ) { $found = $this->select('`country_code` as `labels`') @@ -83,7 +81,7 @@ class AnalyticsPodcastByCountryModel extends Model ->findAll(10); cache()->save( - "{$podcastId}_analytics_podcast_by_country_yearly_{$locale}", + "{$podcastId}_analytics_podcast_by_country_yearly", $found, 600 ); diff --git a/app/Models/AnalyticsPodcastByPlayerModel.php b/app/Models/AnalyticsPodcastByPlayerModel.php index f6491c2aee..bb03fcf81e 100644 --- a/app/Models/AnalyticsPodcastByPlayerModel.php +++ b/app/Models/AnalyticsPodcastByPlayerModel.php @@ -112,6 +112,7 @@ class AnalyticsPodcastByPlayerModel extends Model ->where([ '`podcast_id`' => $podcastId, '`app` !=' => '', + '`os` !=' => '', '`bot`' => 0, '`date` >' => date('Y-m-d', strtotime('-1 week')), ]) diff --git a/app/Models/AnalyticsWebsiteByEntryPageModel.php b/app/Models/AnalyticsWebsiteByEntryPageModel.php index 308beb5cc4..179f4d57e8 100644 --- a/app/Models/AnalyticsWebsiteByEntryPageModel.php +++ b/app/Models/AnalyticsWebsiteByEntryPageModel.php @@ -33,7 +33,9 @@ class AnalyticsWebsiteByEntryPageModel extends Model public function getData(int $podcastId): array { if (!($found = cache("{$podcastId}_analytics_website_by_entry_page"))) { - $found = $this->select('`entry_page` as `labels`') + $found = $this->select( + 'IF(`entry_page`=\'/\',\'/\',SUBSTRING_INDEX(`entry_page`,\'/\',-1)) as `labels`' + ) ->selectSum('`hits`', '`values`') ->where([ '`podcast_id`' => $podcastId, diff --git a/app/Models/AnalyticsWebsiteByRefererModel.php b/app/Models/AnalyticsWebsiteByRefererModel.php index afaeded0f4..b7805b94f1 100644 --- a/app/Models/AnalyticsWebsiteByRefererModel.php +++ b/app/Models/AnalyticsWebsiteByRefererModel.php @@ -64,7 +64,9 @@ class AnalyticsWebsiteByRefererModel extends Model if ( !($found = cache("{$podcastId}_analytics_website_by_domain_weekly")) ) { - $found = $this->select('`domain` as `labels`') + $found = $this->select( + 'SUBSTRING_INDEX(`domain`, \'.\', -2) as `labels`' + ) ->selectSum('`hits`', '`values`') ->where([ '`podcast_id`' => $podcastId, @@ -95,7 +97,9 @@ class AnalyticsWebsiteByRefererModel extends Model if ( !($found = cache("{$podcastId}_analytics_website_by_domain_yearly")) ) { - $found = $this->select('`domain` as `labels`') + $found = $this->select( + 'SUBSTRING_INDEX(`domain`, \'.\', -2) as `labels`' + ) ->selectSum('`hits`', '`values`') ->where([ '`podcast_id`' => $podcastId, diff --git a/app/Views/install/instance_config.php b/app/Views/install/instance_config.php index 522bf87b8a..bdd63deecf 100644 --- a/app/Views/install/instance_config.php +++ b/app/Views/install/instance_config.php @@ -15,7 +15,10 @@ 'id' => 'hostname', 'name' => 'hostname', 'class' => 'form-input mb-4', - 'value' => old('hostname', host_url() ?? config('App')->baseURL), + 'value' => old( + 'hostname', + empty(host_url()) ? config('App')->baseURL : host_url() + ), 'required' => 'required', ]) ?> -- GitLab