From d7b6794f68f9a01fd606a407c6eb4c12d15dee74 Mon Sep 17 00:00:00 2001
From: Benjamin Bellamy <ben@podlibre.org>
Date: Fri, 11 Sep 2020 22:53:38 +0200
Subject: [PATCH] fix: sort episodic podcasts by season

---
 app/Models/EpisodeModel.php | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/app/Models/EpisodeModel.php b/app/Models/EpisodeModel.php
index 3ce3a8f616..5bf94d4635 100644
--- a/app/Models/EpisodeModel.php
+++ b/app/Models/EpisodeModel.php
@@ -270,7 +270,7 @@ class EpisodeModel extends Model
         $sortNumberField =
             $podcastType == 'serial'
                 ? 'if(isnull(season_number),0,season_number)*1000+number'
-                : 'published_at';
+                : 'if(isnull(season_number),0,season_number)*100000000000000+published_at';
         $sortNumberValue =
             $podcastType == 'serial'
                 ? (empty($episode->season_number)
@@ -278,7 +278,11 @@ class EpisodeModel extends Model
                         : $episode->season_number) *
                         1000 +
                     $episode->number
-                : $episode->published_at;
+                : (empty($episode->season_number)
+                        ? 0
+                        : $episode->season_number) *
+                        100000000000000 +
+                    date('YmdHis', strtotime($episode->published_at));
 
         $previousData = $this->orderBy('(' . $sortNumberField . ') DESC')
             ->where([
-- 
GitLab