diff options
Diffstat (limited to 'include/functions.php')
-rw-r--r-- | include/functions.php | 45 |
1 files changed, 24 insertions, 21 deletions
diff --git a/include/functions.php b/include/functions.php index 682ffd2ee..452bc2ba5 100644 --- a/include/functions.php +++ b/include/functions.php @@ -2237,27 +2237,13 @@ $view_query_part = " "; } else if ($feed != -1) { - if (get_pref($link, "SORT_HEADLINES_BY_FEED_DATE", $owner_uid)) { - $a_date_sort_field = "updated"; - } else { - $a_date_sort_field = "date_entered"; - } + $unread = getFeedUnread($link, $feed, $cat_view); - if (get_pref($link, 'REVERSE_HEADLINES', $owner_uid)) { - $a_order_by = "$a_date_sort_field"; - } else { - $a_order_by = "$a_date_sort_field DESC"; - } + if ($cat_view && $feed > 0 && $include_children) + $unread += getCategoryChildrenUnread($link, $feed); - if (!$override_order) { - $override_order = "unread DESC, $a_order_by"; - } - - if (!$ignore_vfeed_group && ($is_cat || $feed_id < 0) && - get_pref($link, 'VFEED_GROUP_BY_FEED', $owner_uid)) { - - $override_order = "ttrss_feeds.title, $override_order"; - } + if ($unread > 0) + $view_query_part = " unread = true AND "; } } @@ -2350,7 +2336,13 @@ $vfeed_query_part = "ttrss_feeds.title AS feed_title,"; $allow_archived = true; - if (!$override_order) $override_order = "last_marked DESC, updated DESC"; + if (!$override_order) { + if (get_pref($link, 'REVERSE_HEADLINES', $owner_uid)) { + $override_order = "date_entered"; + } else { + $override_order = "last_marked DESC, date_entered DESC"; + } + } } else if ($feed == -2) { // published virtual feed OR labels category @@ -2359,7 +2351,14 @@ $vfeed_query_part = "ttrss_feeds.title AS feed_title,"; $allow_archived = true; - if (!$override_order) $override_order = "last_published DESC, updated DESC"; + if (!$override_order) { + if (get_pref($link, 'REVERSE_HEADLINES', $owner_uid)) { + $override_order = "date_entered"; + } else { + $override_order = "last_published DESC, date_entered DESC"; + } + } + } else { $vfeed_query_part = "ttrss_feeds.title AS feed_title,"; @@ -2421,6 +2420,10 @@ $order_by = "score DESC, $order_by"; } + if ($view_mode == "unread_first") { + $order_by = "unread DESC, $order_by"; + } + if ($override_order) { $order_by = $override_order; } |