Loading app/Models/EpisodeModel.php +29 −3 Original line number Diff line number Diff line Loading @@ -395,7 +395,20 @@ class EpisodeModel extends Model */ public function clearCache(array $data): array { $episode = (new self())->find(is_array($data['id']) ? $data['id'][0] : $data['id']); /** @var int|null $episodeId */ $episodeId = is_array($data['id']) ? $data['id'][0] : $data['id']; if ($episodeId === null) { // Multiple episodes have been updated, do nothing return $data; } /** @var ?Episode $episode */ $episode = (new self())->find($episodeId); if (! $episode instanceof Episode) { return $data; } // delete podcast cache cache() Loading Loading @@ -430,9 +443,22 @@ class EpisodeModel extends Model */ protected function writeEnclosureMetadata(array $data): array { helper('id3'); /** @var int|null $episodeId */ $episodeId = is_array($data['id']) ? $data['id'][0] : $data['id']; $episode = (new self())->find(is_array($data['id']) ? $data['id'][0] : $data['id']); if ($episodeId === null) { // Multiple episodes have been updated, do nothing return $data; } /** @var ?Episode $episode */ $episode = (new self())->find($episodeId); if (! $episode instanceof Episode) { return $data; } helper('id3'); write_audio_file_tags($episode); Loading modules/WebSub/Controllers/WebSubController.php +6 −4 Original line number Diff line number Diff line Loading @@ -24,20 +24,22 @@ class WebSubController extends Controller return; } helper('misc'); // get all podcasts that haven't been published yet // or having a published episode that hasn't been pushed yet $podcastModel = new PodcastModel(); $podcasts = $podcastModel ->distinct() $podcastModel->builder() ->select('podcasts.*') ->distinct() ->join('episodes', 'podcasts.id = episodes.podcast_id', 'left outer') ->where('podcasts.is_published_on_hubs', false) ->where('`' . $podcastModel->db->getPrefix() . 'podcasts`.`published_at` <= UTC_TIMESTAMP()', null, false) ->orGroupStart() ->where('episodes.is_published_on_hubs', false) ->where('`' . $podcastModel->db->getPrefix() . 'episodes`.`published_at` <= UTC_TIMESTAMP()', null, false) ->groupEnd() ->findAll(); ->groupEnd(); $podcasts = $podcastModel->findAll(); if ($podcasts === []) { return; Loading Loading
app/Models/EpisodeModel.php +29 −3 Original line number Diff line number Diff line Loading @@ -395,7 +395,20 @@ class EpisodeModel extends Model */ public function clearCache(array $data): array { $episode = (new self())->find(is_array($data['id']) ? $data['id'][0] : $data['id']); /** @var int|null $episodeId */ $episodeId = is_array($data['id']) ? $data['id'][0] : $data['id']; if ($episodeId === null) { // Multiple episodes have been updated, do nothing return $data; } /** @var ?Episode $episode */ $episode = (new self())->find($episodeId); if (! $episode instanceof Episode) { return $data; } // delete podcast cache cache() Loading Loading @@ -430,9 +443,22 @@ class EpisodeModel extends Model */ protected function writeEnclosureMetadata(array $data): array { helper('id3'); /** @var int|null $episodeId */ $episodeId = is_array($data['id']) ? $data['id'][0] : $data['id']; $episode = (new self())->find(is_array($data['id']) ? $data['id'][0] : $data['id']); if ($episodeId === null) { // Multiple episodes have been updated, do nothing return $data; } /** @var ?Episode $episode */ $episode = (new self())->find($episodeId); if (! $episode instanceof Episode) { return $data; } helper('id3'); write_audio_file_tags($episode); Loading
modules/WebSub/Controllers/WebSubController.php +6 −4 Original line number Diff line number Diff line Loading @@ -24,20 +24,22 @@ class WebSubController extends Controller return; } helper('misc'); // get all podcasts that haven't been published yet // or having a published episode that hasn't been pushed yet $podcastModel = new PodcastModel(); $podcasts = $podcastModel ->distinct() $podcastModel->builder() ->select('podcasts.*') ->distinct() ->join('episodes', 'podcasts.id = episodes.podcast_id', 'left outer') ->where('podcasts.is_published_on_hubs', false) ->where('`' . $podcastModel->db->getPrefix() . 'podcasts`.`published_at` <= UTC_TIMESTAMP()', null, false) ->orGroupStart() ->where('episodes.is_published_on_hubs', false) ->where('`' . $podcastModel->db->getPrefix() . 'episodes`.`published_at` <= UTC_TIMESTAMP()', null, false) ->groupEnd() ->findAll(); ->groupEnd(); $podcasts = $podcastModel->findAll(); if ($podcasts === []) { return; Loading