diff options
author | Andrew Dolgov <[email protected]> | 2013-06-05 12:56:43 +0400 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2013-06-05 12:56:43 +0400 |
commit | 25051fb84ba324b49f173d8210c1883b9618a9d7 (patch) | |
tree | 2b57d7674b7f0db713b7af602f82a652f339cbe1 | |
parent | 838b374431a94812b20c35ae7cc6b953f946edda (diff) |
support custom order in generated feeds (closes #709)
-rw-r--r-- | classes/handler/public.php | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/classes/handler/public.php b/classes/handler/public.php index 727976a82..12f162473 100644 --- a/classes/handler/public.php +++ b/classes/handler/public.php @@ -3,7 +3,7 @@ class Handler_Public extends Handler { private function generate_syndicated_feed($owner_uid, $feed, $is_cat, $limit, $offset, $search, $search_mode, - $view_mode = false, $format = 'atom') { + $view_mode = false, $format = 'atom', $order = false) { require_once "lib/MiniTemplator.class.php"; @@ -21,6 +21,18 @@ class Handler_Public extends Handler { else if ($feed == -1) $date_sort_field = "last_marked DESC"; + switch ($order) { + case "title": + $date_sort_field = "ttrss_entries.title"; + break; + case "date_reverse": + $date_sort_field = "date_entered, updated"; + break; + case "feed_dates": + $date_sort_field = "updated DESC"; + break; + } + $qfh_ret = queryFeedHeadlines($feed, 1, $view_mode, $is_cat, $search, $search_mode, $date_sort_field, $offset, $owner_uid, @@ -337,6 +349,7 @@ class Handler_Public extends Handler { $search = $this->dbh->escape_string($_REQUEST["q"]); $search_mode = $this->dbh->escape_string($_REQUEST["smode"]); $view_mode = $this->dbh->escape_string($_REQUEST["view-mode"]); + $order = $this->dbh->escape_string($_REQUEST["order"]); $format = $this->dbh->escape_string($_REQUEST['format']); @@ -358,7 +371,7 @@ class Handler_Public extends Handler { if ($owner_id) { $this->generate_syndicated_feed($owner_id, $feed, $is_cat, $limit, - $offset, $search, $search_mode, $view_mode, $format); + $offset, $search, $search_mode, $view_mode, $format, $order); } else { header('HTTP/1.1 403 Forbidden'); } |