]> git.wh0rd.org - tt-rss.git/blobdiff - classes/handler/public.php
syndicated feeds: force sort by last_read for published
[tt-rss.git] / classes / handler / public.php
index b9972df4fb7399427d6628ca5fd5171dda9822ed..d3c3fc094cba5d6bd38dbf7a64643c4fb23ea031 100644 (file)
@@ -2,7 +2,8 @@
 class Handler_Public extends Handler {
 
        private function generate_syndicated_feed($owner_uid, $feed, $is_cat,
-               $limit, $search, $search_mode, $match_on, $view_mode = false, $format = 'atom') {
+               $limit, $offset, $search, $search_mode, $match_on,
+               $view_mode = false, $format = 'atom') {
 
                require_once "lib/MiniTemplator.class.php";
 
@@ -19,9 +20,12 @@ class Handler_Public extends Handler {
                        $date_sort_field = "date_entered";
                }
 
+               if ($feed == -2)
+                       $date_sort_field = "last_read";
+
                $qfh_ret = queryFeedHeadlines($this->link, $feed,
                        $limit, $view_mode, $is_cat, $search, $search_mode,
-                       $match_on, "$date_sort_field DESC", 0, $owner_uid);
+                       $match_on, "$date_sort_field DESC", $offset, $owner_uid);
 
                $result = $qfh_ret[0];
                $feed_title = htmlspecialchars($qfh_ret[1]);
@@ -333,6 +337,7 @@ class Handler_Public extends Handler {
                $key = db_escape_string($_REQUEST["key"]);
                $is_cat = $_REQUEST["is_cat"] != false;
                $limit = (int)db_escape_string($_REQUEST["limit"]);
+               $offset = (int)db_escape_string($_REQUEST["offset"]);
 
                $search = db_escape_string($_REQUEST["q"]);
                $match_on = db_escape_string($_REQUEST["m"]);
@@ -359,7 +364,7 @@ class Handler_Public extends Handler {
 
                if ($owner_id) {
                        $this->generate_syndicated_feed($owner_id, $feed, $is_cat, $limit,
-                               $search, $search_mode, $match_on, $view_mode, $format);
+                               $offset, $search, $search_mode, $match_on, $view_mode, $format);
                } else {
                        header('HTTP/1.1 403 Forbidden');
                }
@@ -553,7 +558,7 @@ class Handler_Public extends Handler {
                                break;
                        case 4:
                                print_notice(__("Multiple feed URLs found."));
-                               $feed_urls = get_feeds_from_html($feed_url);
+                               $feed_urls = $rc["feeds"];
                                break;
                        case 5:
                                print_error(T_sprintf("Could not subscribe to <b>%s</b>.<br>Can't download the Feed URL.", $feed_url));