diff options
-rw-r--r-- | mobile/functions.php | 40 | ||||
-rw-r--r-- | mobile/mobile.css | 28 | ||||
-rw-r--r-- | mobile/tt-rss.js | 16 | ||||
-rw-r--r-- | mobile/tt-rss.php | 1 |
4 files changed, 77 insertions, 8 deletions
diff --git a/mobile/functions.php b/mobile/functions.php index 9f5dd7835..99afe10c6 100644 --- a/mobile/functions.php +++ b/mobile/functions.php @@ -315,6 +315,7 @@ $view_mode = db_escape_string($_GET["viewmode"]); $cat_view = db_escape_string($_GET["cat"]); $subop = $_GET["subop"]; + $catchup_op = $_GET["catchup_op"]; if (!$view_mode) $view_mode = "Adaptive"; if (!$limit) $limit = 30; @@ -347,11 +348,22 @@ update_generic_feed($link, $feed, $cat_view, true); } - if ($subop == "MarkAllRead") { + if ($subop == "MarkAllRead" || $catchup_op == "feed") { catchup_feed($link, $feed, $cat_view); } - if ($subop == "MarkPageRead") { + if ($catchup_op == "selection") { + $ids_to_mark = array_keys($_GET["sel_ids"]); + if ($ids_to_mark) { + foreach ($ids_to_mark as $id) { + db_query($link, "UPDATE ttrss_user_entries SET + unread = false,last_read = NOW() + WHERE ref_id = '$id' AND owner_uid = " . $_SESSION["uid"]); + } + } + } + + if ($subop == "MarkPageRead" || $catchup_op == "page") { $ids_to_mark = $_SESSION["last_page_ids.$feed"]; if ($ids_to_mark) { @@ -416,6 +428,10 @@ if (db_num_rows($result) > 0) { + print "<form method=\"GET\" action=\"tt-rss.php\">"; + print "<input type=\"hidden\" name=\"go\" value=\"vf\">"; + print "<input type=\"hidden\" name=\"id\" value=\"$feed\">"; + print "<ul class=\"headlines\">"; $page_art_ids = array(); @@ -475,7 +491,10 @@ $updated_fmt = date($short_date, strtotime($line["updated"])); } - print "<li class='$class'>"; + print "<li class='$class' id=\"HROW-$id\">"; + + print "<input type=\"checkbox\" name=\"sel_ids[$id]\" + onchange=\"toggleSelectRow(this, $id)\">"; print "<a href=\"?go=vf&id=$feed&ts=$id\">$marked_pic</a>"; print "<a href=\"?go=vf&id=$feed&tp=$id\">$published_pic</a>"; @@ -497,12 +516,21 @@ print "</ul>"; - print "<div class='footerAddon'>Mark as read: "; + print "<div class='footerAddon'>"; $_SESSION["last_page_ids.$feed"] = $page_art_ids; - print "<a href=\"tt-rss.php?go=vf&id=$feed&subop=MarkPageRead\">Page</a>, "; - print "<a href=\"tt-rss.php?go=vf&id=$feed&subop=MarkAllRead\">Feed</a></div>"; +/* print "<a href=\"tt-rss.php?go=vf&id=$feed&subop=MarkPageRead\">Page</a>, "; + print "<a href=\"tt-rss.php?go=vf&id=$feed&subop=MarkAllRead\">Feed</a></div>"; */ + + print "<select name=\"catchup_op\"> + <option value=\"selection\">Selection</option> + <option value=\"page\">Page</option> + <option value=\"feed\">Entire feed</option> + </select> + <input type=\"submit\" value=\"Mark as read\">"; + + print "</form>"; } else { print "<div align='center'>No articles found.</div>"; diff --git a/mobile/mobile.css b/mobile/mobile.css index 50d842ad2..b0b3a79e9 100644 --- a/mobile/mobile.css +++ b/mobile/mobile.css @@ -127,17 +127,41 @@ ul.feedlist li.tagUnread { } .even { - background-color : #88b0ff; +/* background-color : #9bbdff; */ + border-width : 0px 0px 1px 0px; + border-color : #88b0ff; + border-style : solid; +} + +.odd { + border-width : 0px 0px 1px 0px; + border-color : #88b0ff; + border-style : solid; } .evenUnread { - border-width : 1px 0px 1px 0px; + border-width : 0px 0px 1px 0px; border-color : #88b0ff; border-style : solid; +/* background-color : #9bbdff; */ font-weight : bold; } .oddUnread { + border-width : 0px 0px 1px 0px; + border-color : #88b0ff; + border-style : solid; + font-weight : bold; +} + +.evenSelected, .oddSelected, .evenUnreadSelected, .oddUnreadSelected { + background-color : #fff7d5; + border-width : 0px 0px 1px 0px; + border-color : #88b0ff; + border-style : solid; +} + +.evenUnreadSelected, .oddUnreadSelected { font-weight : bold; } diff --git a/mobile/tt-rss.js b/mobile/tt-rss.js new file mode 100644 index 000000000..942122c7a --- /dev/null +++ b/mobile/tt-rss.js @@ -0,0 +1,16 @@ +function toggleSelectRow(cb, id) { + var row = document.getElementById("HROW-" + id); + var checked = cb.checked; + if (row) { + var unread = row.className.match("Unread"); + var new_classname = row.className; + + new_classname = new_classname.replace("Selected", ""); + new_classname = new_classname.replace("Unread", ""); + + if (unread) new_classname = new_classname + "Unread"; + if (checked) new_classname = new_classname + "Selected"; + + row.className = new_classname; + } +} diff --git a/mobile/tt-rss.php b/mobile/tt-rss.php index e08181905..1fcea79fc 100644 --- a/mobile/tt-rss.php +++ b/mobile/tt-rss.php @@ -98,6 +98,7 @@ <title>Tiny Tiny RSS - Mobile</title> <link rel="stylesheet" type="text/css" href="mobile.css"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <script type="text/javascript" src="tt-rss.js"></script> </head> <body> |