diff --git a/server/ctrlsubsonic/handlers_by_folder.go b/server/ctrlsubsonic/handlers_by_folder.go index c8e4040d..cd522f50 100644 --- a/server/ctrlsubsonic/handlers_by_folder.go +++ b/server/ctrlsubsonic/handlers_by_folder.go @@ -115,10 +115,12 @@ func (c *Controller) ServeGetAlbumList(r *http.Request) *spec.Response { case "alphabeticalByName": q = q.Order("right_path") case "byYear": - q = q.Where( - "tag_year BETWEEN ? AND ?", - params.GetOrInt("fromYear", 1800), - params.GetOrInt("toYear", 2200)) + fromYear := params.GetOrInt("fromYear", 1800) + toYear := params.GetOrInt("toYear", 2200) + if fromYear > toYear { + toYear, fromYear = fromYear, toYear + } + q = q.Where("tag_year BETWEEN ? AND ?", fromYear, toYear) q = q.Order("tag_year") case "byGenre": genre, _ := params.Get("genre") diff --git a/server/ctrlsubsonic/handlers_by_tags.go b/server/ctrlsubsonic/handlers_by_tags.go index 7be3e4b6..1d312037 100644 --- a/server/ctrlsubsonic/handlers_by_tags.go +++ b/server/ctrlsubsonic/handlers_by_tags.go @@ -125,10 +125,12 @@ func (c *Controller) ServeGetAlbumListTwo(r *http.Request) *spec.Response { case "alphabeticalByName": q = q.Order("tag_title") case "byYear": - q = q.Where( - "tag_year BETWEEN ? AND ?", - params.GetOrInt("fromYear", 1800), - params.GetOrInt("toYear", 2200)) + fromYear := params.GetOrInt("fromYear", 1800) + toYear := params.GetOrInt("toYear", 2200) + if fromYear > toYear { + toYear, fromYear = fromYear, toYear + } + q = q.Where("tag_year BETWEEN ? AND ?", fromYear, toYear) q = q.Order("tag_year") case "byGenre": genre, _ := params.Get("genre")