function getLabelCounters($link) {
$result = db_query($link, "SELECT count(id) as count FROM ttrss_entries
- WHERE marked = true");
+ WHERE marked = true AND unread = true");
$count = db_fetch_result($result, 0, "count");
}
}
- function getFeedCounters($link) {
+ function getFeedCounter($link, $id) {
+
+ $result = db_query($link, "SELECT
+ count(id) as count FROM ttrss_entries
+ WHERE feed_id = '$id' AND unread = true");
+
+ $count = db_fetch_result($result, 0, "count");
+
+ print "<feed id=\"$id\" counter=\"$count\"/>";
+ }
+ function getFeedCounters($link) {
+
$result = db_query($link, "SELECT id,
(SELECT count(id) FROM ttrss_entries WHERE feed_id = ttrss_feeds.id
AND unread = true) as count
/* virtual feeds */
$result = db_query($link, "SELECT count(id) as num_starred
- FROM ttrss_entries WHERE marked = true");
+ FROM ttrss_entries WHERE marked = true AND unread = true");
$num_starred = db_fetch_result($result, 0, "num_starred");
printFeedEntry(-1, "odd", "Starred articles", $num_starred, "images/mark_set.png");
$subop = $_GET["subop"];
if ($subop == "getLabelCounters") {
+ $aid = $_GET["aid"];
print "<rpc-reply>";
getLabelCounters($link);
+ if ($aid) {
+ getFeedCounter($link, $aid);
+ }
print "</rpc-reply>";
}
if ($op == "view") {
$id = $_GET["id"];
+ $feed_id = $_GET["feed"];
$result = db_query($link, "UPDATE ttrss_entries SET unread = false,last_read = NOW() WHERE id = '$id'");
print "</div>";
print "<script type=\"text/javascript\">
- update_label_counters();
+ update_label_counters($feed_id);
</script>";
}
feedctr.className = 'invisible';
}
- update_label_counters();
+ update_label_counters($feed);
// p_notify(\"\");
if (ctr > 0) {
feedctr.className = "odd";
- if (!feedr.className.match("Unread") && id != -1) {
+ if (!feedr.className.match("Unread")) {
feedr.className = feedr.className + "Unread";
}
} else {
}
}
-function update_label_counters() {
+function update_label_counters(feed) {
if (xmlhttp_ready(xmlhttp_rpc)) {
- var query = "backend.php?op=rpc&subop=getLabelCounters";
+ var query = "backend.php?op=rpc&subop=getLabelCounters&aid=" + feed;
xmlhttp_rpc.open("GET", query, true);
xmlhttp_rpc.onreadystatechange=label_counters_callback;
xmlhttp_rpc.send(null);
var crow = h_document.getElementById("RROW-" + id);
- if (crow.className.match("Unread")) {
+/* if (crow.className.match("Unread")) {
var umark = f_document.getElementById("FEEDU-" + feed_id);
umark.innerHTML = umark.innerHTML - 1;
}
total_unread--;
- }
+ } */
+ crow.className = crow.className.replace("Unread", "");
cleanSelected("headlinesList");
upd_img_pic.src = "images/blank_icon.gif";
}
- var unread_rows = getVisibleUnreadHeadlines();
-
- if (unread_rows.length == 0) {
- var button = h_document.getElementById("btnCatchupPage");
- if (button) {
- button.className = "disabledButton";
- button.href = "";
- }
- }
-
active_post_id = id;
setActiveFeedId(feed_id);
var content = m_document.getElementById("content-frame");
if (content) {
- content.src = "backend.php?op=view&addheader=true&id=" + param_escape(id);
+ content.src = "backend.php?op=view&addheader=true&id=" + param_escape(id) +
+ "&feed=" + param_escape(feed_id);
markHeadline(active_post_id);
}