diff options
author | Andrew Dolgov <[email protected]> | 2009-12-18 15:08:38 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2009-12-18 15:08:38 +0300 |
commit | 78d7a965591bdc9d70ef2275b310940b4d58fc52 (patch) | |
tree | 33c9adba5ac6f0ec820d077c50a5fdd498dae4a0 | |
parent | c6dbeedc44c0b3f3cea11ef94844e62c629b0962 (diff) |
mobile: implement pagination for headlines
-rw-r--r-- | mobile/feed.php | 3 | ||||
-rw-r--r-- | mobile/functions.php | 42 |
2 files changed, 32 insertions, 13 deletions
diff --git a/mobile/feed.php b/mobile/feed.php index 610dd6adf..02461b3f6 100644 --- a/mobile/feed.php +++ b/mobile/feed.php @@ -22,7 +22,8 @@ $feed_id = db_escape_string($_REQUEST["id"]); $cat_id = db_escape_string($_REQUEST["cat"]); + $offset = (int) db_escape_string($_REQUEST["skip"]); - render_headlines_list($link, $feed_id, $cat_id); + render_headlines_list($link, $feed_id, $cat_id, $offset); ?> diff --git a/mobile/functions.php b/mobile/functions.php index 20accdc5e..4880e1f57 100644 --- a/mobile/functions.php +++ b/mobile/functions.php @@ -284,10 +284,10 @@ print "</ul>"; } - function render_headlines_list($link, $feed_id, $cat_id) { + function render_headlines_list($link, $feed_id, $cat_id, $offset) { $feed_id = $feed_id; - $limit = 30; + $limit = 15; $filter = ''; $is_cat = false; $view_mode = 'adaptive'; @@ -297,23 +297,27 @@ $search = ''; $search_mode = ''; $match_on = ''; - + $qfh_ret = queryFeedHeadlines($link, $feed_id, $limit, - $view_mode, $is_cat, $search, $search_mode, $match_on); + $view_mode, $is_cat, $search, $search_mode, $match_on, false, $offset); $result = $qfh_ret[0]; $feed_title = $qfh_ret[1]; - if ($cat_id) { - $cat_title = getCategoryTitle($link, $cat_id); + if (!$offset) { + if ($cat_id) { + $cat_title = getCategoryTitle($link, $cat_id); - print "<ul id=\"feed-$feed_id\" title=\"$feed_title\" selected=\"true\" - myBackLabel='$cat_title' myBackHref='cat.php?id=$cat_id'>"; - } else { - print "<ul id=\"feed-$feed_id\" title=\"$feed_title\" selected=\"true\" - myBackLabel='".__("Home")."' myBackHref='home.php'>"; + print "<ul id=\"feed-$feed_id\" title=\"$feed_title\" selected=\"true\" + myBackLabel='$cat_title' myBackHref='cat.php?id=$cat_id'>"; + } else { + print "<ul id=\"feed-$feed_id\" title=\"$feed_title\" selected=\"true\" + myBackLabel='".__("Home")."' myBackHref='home.php'>"; + } } + $num_headlines = 0; + while ($line = db_fetch_assoc($result)) { $id = $line["id"]; $real_feed_id = $line["feed_id"]; @@ -335,9 +339,23 @@ print $line["title"]; print "</a></li>"; + ++$num_headlines; + } - print "</ul>"; +// print "<a target='_replace' href='feed.php?id=$feed_id&cat=$cat_id&skip=0'>Next $limit articles...</a>"; + + $next_offset = $offset + $num_headlines; + $num_unread = getFeedUnread($link, $feed_id, $is_cat); + + /* FIXME needs normal implementation */ + + if ($num_unread == 0 || $num_unread > $next_offset) { + print "<li><a href=\"feed.php?id=$feed_id&cat=$cat_id&skip=$next_offset\" + target=\"_replace\">Get more articles...</a></li>"; + } + + if (!$offset) print "</ul>"; } |