diff --git a/app/Controllers/Podcast.php b/app/Controllers/Podcast.php index 56a23e361813029b9da7c42ac3b0e97ed75b1559..1529dd0947746bf004e1c2d827f994c7b14f7940 100644 --- a/app/Controllers/Podcast.php +++ b/app/Controllers/Podcast.php @@ -69,10 +69,12 @@ class Podcast extends BaseController $defaultQuery = (new EpisodeModel())->getDefaultQuery( $this->podcast->id, ); - if ($defaultQuery['type'] == 'season') { - $seasonQuery = $defaultQuery['data']['season_number']; - } elseif ($defaultQuery['type'] == 'year') { - $yearQuery = $defaultQuery['data']['year']; + if ($defaultQuery) { + if ($defaultQuery['type'] == 'season') { + $seasonQuery = $defaultQuery['data']['season_number']; + } elseif ($defaultQuery['type'] == 'year') { + $yearQuery = $defaultQuery['data']['year']; + } } } @@ -81,7 +83,7 @@ class Podcast extends BaseController array_filter([ 'page', "podcast{$this->podcast->id}", - $yearQuery, + $yearQuery ? 'year' . $yearQuery : null, $seasonQuery ? 'season' . $seasonQuery : null, service('request')->getLocale(), ]), diff --git a/app/Models/EpisodeModel.php b/app/Models/EpisodeModel.php index 429ac67630cfad340708f15c50bf9e77314063b9..7fd8c5b200c4fb36d97378f6a2da1056df414515 100644 --- a/app/Models/EpisodeModel.php +++ b/app/Models/EpisodeModel.php @@ -314,7 +314,7 @@ class EpisodeModel extends Model * * @param int $podcastId * - * @return array + * @return array|null */ public function getDefaultQuery(int $podcastId) { @@ -419,11 +419,11 @@ class EpisodeModel extends Model foreach ($years as $year) { cache()->delete( - "podcast{$episode->podcast_id}_{$year['year']}_episodes", + "podcast{$episode->podcast_id}_year{$year['year']}_episodes", ); foreach ($supportedLocales as $locale) { cache()->delete( - "page_podcast{$episode->podcast_id}_{$year['year']}_{$locale}", + "page_podcast{$episode->podcast_id}_year{$year['year']}_{$locale}", ); } } diff --git a/app/Models/PageModel.php b/app/Models/PageModel.php index c6a5e2078403683c1bf86a8e5236fe73c0bf2556..d3740ead5d9e18e4ec63c02e156eaf6639c157c1 100644 --- a/app/Models/PageModel.php +++ b/app/Models/PageModel.php @@ -38,7 +38,7 @@ class PageModel extends Model protected function clearCache(array $data) { $page = (new PageModel())->find( - is_array($data['id']) ? $data['id'][0] : $data['id'] + is_array($data['id']) ? $data['id'][0] : $data['id'], ); // delete page cache @@ -57,14 +57,14 @@ class PageModel extends Model foreach ($years as $year) { foreach ($supportedLocales as $locale) { cache()->delete( - "page_podcast{$podcast->id}_{$year['year']}_{$locale}" + "page_podcast{$podcast->id}_year{$year['year']}_{$locale}", ); } } foreach ($seasons as $season) { foreach ($supportedLocales as $locale) { cache()->delete( - "page_podcast{$podcast->id}_season{$season['season_number']}_{$locale}" + "page_podcast{$podcast->id}_season{$season['season_number']}_{$locale}", ); } } @@ -72,7 +72,7 @@ class PageModel extends Model foreach ($podcast->episodes as $episode) { foreach ($supportedLocales as $locale) { cache()->delete( - "page_podcast{$podcast->id}_episode{$episode->id}_{$locale}" + "page_podcast{$podcast->id}_episode{$episode->id}_{$locale}", ); } } diff --git a/app/Models/PlatformModel.php b/app/Models/PlatformModel.php index 1307d1a42503488a6a07f31a4acb04e0391ce476..a5666e0c093e3dd6058a5945d9bc18fd1eb36e2e 100644 --- a/app/Models/PlatformModel.php +++ b/app/Models/PlatformModel.php @@ -36,7 +36,7 @@ class PlatformModel extends Model if (!($found = cache('platforms'))) { $baseUrl = rtrim(config('app')->baseURL, '/'); $found = $this->select( - "*, CONCAT('{$baseUrl}/assets/images/platforms/',`type`,'/',`slug`,'.svg') as icon" + "*, CONCAT('{$baseUrl}/assets/images/platforms/',`type`,'/',`slug`,'.svg') as icon", )->findAll(); cache()->save('platforms', $found, DECADE); } @@ -75,12 +75,12 @@ class PlatformModel extends Model !($found = cache("podcast{$podcastId}_platforms_{$platformType}")) ) { $found = $this->select( - 'platforms.*, podcasts_platforms.link_url, podcasts_platforms.link_content, podcasts_platforms.is_visible, podcasts_platforms.is_on_embeddable_player' + 'platforms.*, podcasts_platforms.link_url, podcasts_platforms.link_content, podcasts_platforms.is_visible, podcasts_platforms.is_on_embeddable_player', ) ->join( 'podcasts_platforms', "podcasts_platforms.platform_slug = platforms.slug AND podcasts_platforms.podcast_id = $podcastId", - 'left' + 'left', ) ->where('platforms.type', $platformType) ->findAll(); @@ -88,7 +88,7 @@ class PlatformModel extends Model cache()->save( "podcast{$podcastId}_platforms_{$platformType}", $found, - DECADE + DECADE, ); } @@ -99,15 +99,15 @@ class PlatformModel extends Model { if ( !($found = cache( - "podcast{$podcastId}_podcastPlatforms_{$platformType}" + "podcast{$podcastId}_podcastPlatforms_{$platformType}", )) ) { $found = $this->select( - 'platforms.*, podcasts_platforms.link_url, podcasts_platforms.link_content, podcasts_platforms.is_visible, podcasts_platforms.is_on_embeddable_player' + 'platforms.*, podcasts_platforms.link_url, podcasts_platforms.link_content, podcasts_platforms.is_visible, podcasts_platforms.is_on_embeddable_player', ) ->join( 'podcasts_platforms', - 'podcasts_platforms.platform_slug = platforms.slug' + 'podcasts_platforms.platform_slug = platforms.slug', ) ->where('podcasts_platforms.podcast_id', $podcastId) ->where('platforms.type', $platformType) @@ -116,7 +116,7 @@ class PlatformModel extends Model cache()->save( "podcast{$podcastId}_podcastPlatforms_{$platformType}", $found, - DECADE + DECADE, ); } @@ -133,11 +133,11 @@ class PlatformModel extends Model $podcastsPlatformsTable = $this->db->prefixTable('podcasts_platforms'); $platformsTable = $this->db->prefixTable('platforms'); $deleteJoinQuery = <<<EOD -DELETE $podcastsPlatformsTable -FROM $podcastsPlatformsTable -INNER JOIN $platformsTable ON $platformsTable.slug = $podcastsPlatformsTable.platform_slug -WHERE `podcast_id` = ? AND `type` = ? -EOD; + DELETE $podcastsPlatformsTable + FROM $podcastsPlatformsTable + INNER JOIN $platformsTable ON $platformsTable.slug = $podcastsPlatformsTable.platform_slug + WHERE `podcast_id` = ? AND `type` = ? + EOD; $this->db->query($deleteJoinQuery, [$podcastId, $platformType]); // Set podcastPlatforms @@ -173,7 +173,7 @@ EOD; foreach (['podcasting', 'social', 'funding'] as $platformType) { cache()->delete("podcast{$podcastId}_platforms_{$platformType}"); cache()->delete( - "podcast{$podcastId}_podcastPlatforms_{$platformType}" + "podcast{$podcastId}_podcastPlatforms_{$platformType}", ); } // delete localized podcast page cache @@ -185,7 +185,7 @@ EOD; foreach ($years as $year) { foreach ($supportedLocales as $locale) { cache()->delete( - "page_podcast{$podcastId}_{$year['year']}_{$locale}" + "page_podcast{$podcastId}_year{$year['year']}_{$locale}", ); } } @@ -193,7 +193,7 @@ EOD; foreach ($seasons as $season) { foreach ($supportedLocales as $locale) { cache()->delete( - "page_podcast{$podcastId}_season{$season['season_number']}_{$locale}" + "page_podcast{$podcastId}_season{$season['season_number']}_{$locale}", ); } } @@ -202,14 +202,14 @@ EOD; foreach ($podcast->episodes as $episode) { foreach ($supportedLocales as $locale) { cache()->delete( - "page_podcast{$podcast->id}_episode{$episode->id}_{$locale}" + "page_podcast{$podcast->id}_episode{$episode->id}_{$locale}", ); foreach ( array_keys(\App\Models\EpisodeModel::$themes) as $themeKey ) { cache()->delete( - "page_podcast{$podcast->id}_episode{$episode->id}_embeddable_player_{$themeKey}_{$locale}" + "page_podcast{$podcast->id}_episode{$episode->id}_embeddable_player_{$themeKey}_{$locale}", ); } } diff --git a/app/Models/PodcastModel.php b/app/Models/PodcastModel.php index dfd4044de8135f40adf2069c2519609cf6c15fc7..67b2ef8b671bf7af672196feec5e4f9338c50cdc 100644 --- a/app/Models/PodcastModel.php +++ b/app/Models/PodcastModel.php @@ -241,10 +241,12 @@ class PodcastModel extends Model $seasons = $episodeModel->getSeasons($podcast->id); foreach ($years as $year) { - cache()->delete("podcast{$podcast->id}_{$year['year']}_episodes"); + cache()->delete( + "podcast{$podcast->id}_year{$year['year']}_episodes", + ); foreach ($supportedLocales as $locale) { cache()->delete( - "page_podcast{$podcast->id}_{$year['year']}_{$locale}", + "page_podcast{$podcast->id}_year{$year['year']}_{$locale}", ); } }