summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--backend.php26
-rw-r--r--functions.php4
-rw-r--r--tt-rss.css2
-rw-r--r--tt-rss.js13
4 files changed, 37 insertions, 8 deletions
diff --git a/backend.php b/backend.php
index 39f2e6033..e35e7f6ee 100644
--- a/backend.php
+++ b/backend.php
@@ -233,6 +233,7 @@
$feed = $_GET["feed"];
$skip = $_GET["skip"];
$subop = $_GET["subop"];
+ $view_mode = $_GET["view"];
if (!$skip) $skip = 0;
@@ -270,17 +271,33 @@
print "<tr><td class=\"search\" colspan=\"4\">
Search: <input id=\"searchbox\"
onblur=\"javascript:enableHotkeys()\" onfocus=\"javascript:disableHotkeys()\"
- onchange=\"javascript:search($feed);\">
- <a class=\"button\" href=\"javascript:resetSearch()\">Reset</a>
- </td></tr>";
+ onchange=\"javascript:search($feed);\"> ";
+
+ print " <a class=\"button\" href=\"javascript:resetSearch()\">Reset</a>";
+
+ print "&nbsp;&nbsp;View: ";
+
+ print_select("viewbox", $view_mode, array("All Posts", "Starred"),
+ "onchange=\"javascript:viewfeed('$feed', '$skip', '');\"");
+
+ print "</td></tr>";
+
print "<tr>
<td colspan=\"4\" class=\"title\">" . $line["title"] . "</td></tr>";
$search = $_GET["search"];
- if (search) {
+ if ($search) {
$search_query_part = "(upper(title) LIKE upper('%$search%')
OR content LIKE '%$search%') AND";
+ } else {
+ $search_query_part = "";
+ }
+
+ $view_query_part = "";
+
+ if ($view_mode == "Starred") {
+ $view_query_part = " marked = true AND ";
}
$result = pg_query("SELECT count(id) AS total_entries
@@ -298,6 +315,7 @@
ttrss_entries
WHERE
$search_query_part
+ $view_query_part
feed_id = '$feed' ORDER BY updated DESC LIMIT ".HEADLINES_PER_PAGE." OFFSET $skip");
$lnum = 0;
diff --git a/functions.php b/functions.php
index d572ee780..e6ef6589a 100644
--- a/functions.php
+++ b/functions.php
@@ -297,8 +297,8 @@
}
- function print_select($id, $default, $values) {
- print "<select id=\"$id\">";
+ function print_select($id, $default, $values, $attributes = "") {
+ print "<select id=\"$id\" $attributes>";
foreach ($values as $v) {
if ($v == $default)
$sel = " selected";
diff --git a/tt-rss.css b/tt-rss.css
index de6051f4f..f2c15c64c 100644
--- a/tt-rss.css
+++ b/tt-rss.css
@@ -136,7 +136,7 @@ table.main td.feeds {
}
table.main td.headlines {
- height : 25%;
+ height : 10%;
padding : 10px;
border-width : 1px 0px 0px 0px;
border-color : #c0c0c0;
diff --git a/tt-rss.js b/tt-rss.js
index e1cee7353..53360f813 100644
--- a/tt-rss.js
+++ b/tt-rss.js
@@ -296,6 +296,16 @@ function viewfeed(feed, skip, subop) {
search_query = "";
}
+ var viewbox = document.getElementById("viewbox");
+
+ var view_mode;
+
+ if (viewbox) {
+ view_mode = viewbox.value;
+ } else {
+ view_mode = "All Posts";
+ }
+
/* if (active_feed_id == feed && subop != "ForceUpdate") {
notify("This feed is currently selected.");
return;
@@ -318,7 +328,8 @@ function viewfeed(feed, skip, subop) {
active_offset = skip;
var query = "backend.php?op=viewfeed&feed=" + param_escape(feed) +
- "&skip=" + param_escape(skip) + "&subop=" + param_escape(subop);
+ "&skip=" + param_escape(skip) + "&subop=" + param_escape(subop) +
+ "&view=" + param_escape(view_mode);
if (search_query != "") {
query = query + "&search=" + param_escape(search_query);