summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2006-02-12 09:04:27 +0100
committerAndrew Dolgov <[email protected]>2006-02-12 09:04:27 +0100
commit78ea1de08ce641e1125063e1a13a230a075e424f (patch)
tree1b940d1e4780dc7952da12c4ef8e46db46569773
parent1011b66a024442bb4a78c1a31e26419dd60dd051 (diff)
skip counters output when number of unread articles at backend equals frontend
-rw-r--r--backend.php37
-rw-r--r--config.php-dist3
-rw-r--r--tt-rss.js1
-rw-r--r--update_daemon.php9
4 files changed, 34 insertions, 16 deletions
diff --git a/backend.php b/backend.php
index d1ff69142..16705f47a 100644
--- a/backend.php
+++ b/backend.php
@@ -130,13 +130,20 @@
/* FIXME this needs reworking */
- function getGlobalCounters($link) {
+ function getGlobalUnread($link) {
$result = db_query($link, "SELECT count(id) as c_id FROM ttrss_entries,ttrss_user_entries
WHERE unread = true AND
ttrss_user_entries.ref_id = ttrss_entries.id AND
owner_uid = " . $_SESSION["uid"]);
$c_id = db_fetch_result($result, 0, "c_id");
- print "<counter type=\"global\" id='global-unread' counter='$c_id'/>";
+ return $c_id;
+ }
+
+ function getGlobalCounters($link, $global_unread = -1) {
+ if ($global_unread == -1) {
+ $global_unread = getGlobalUnread($link);
+ }
+ print "<counter type=\"global\" id='global-unread' counter='$global_unread'/>";
}
function getTagCounters($link, $smart_mode = SMART_RPC_COUNTERS) {
@@ -735,18 +742,26 @@
update_all_feeds($link, $subop == "forceUpdateAllFeeds");
}
- $omode = $_GET["omode"];
-
- if (!$omode) $omode = "tfl";
+ $global_unread_caller = sprintf("%d", $_GET["uctr"]);
+ $global_unread = getGlobalUnread($link);
print "<rpc-reply>";
- if (strchr($omode, "l")) getLabelCounters($link);
- if (strchr($omode, "f")) getFeedCounters($link);
- if (strchr($omode, "t")) getTagCounters($link);
- if (get_pref($link, 'ENABLE_FEED_CATS')) {
- getCategoryCounters($link);
+
+ if ($global_unread_caller != $global_unread) {
+
+ $omode = $_GET["omode"];
+
+ if (!$omode) $omode = "tfl";
+
+ if (strchr($omode, "l")) getLabelCounters($link);
+ if (strchr($omode, "f")) getFeedCounters($link);
+ if (strchr($omode, "t")) getTagCounters($link);
+ if (get_pref($link, 'ENABLE_FEED_CATS')) {
+ getCategoryCounters($link);
+ }
+ getGlobalCounters($link, $global_unread);
}
- getGlobalCounters($link);
+
print "</rpc-reply>";
}
diff --git a/config.php-dist b/config.php-dist
index d322d3a67..047de65cd 100644
--- a/config.php-dist
+++ b/config.php-dist
@@ -97,5 +97,8 @@
define('DISABLE_SESSIONS', false);
// Never enable this option (kludge for daemon using tt-rss code)
+ define('DAEMON_SLEEP_INTERVAL', 120);
+ // Interval between update daemon update runs
+
// vim:ft=php
?>
diff --git a/tt-rss.js b/tt-rss.js
index 4b1b29b14..989393b03 100644
--- a/tt-rss.js
+++ b/tt-rss.js
@@ -191,6 +191,7 @@ function scheduleFeedUpdate(force) {
}
query_str = query_str + "&omode=" + omode;
+ query_str = query_str + "&uctr=" + global_unread;
if (xmlhttp_ready(xmlhttp)) {
xmlhttp.open("GET", query_str, true);
diff --git a/update_daemon.php b/update_daemon.php
index d220266fc..b780c7f7e 100644
--- a/update_daemon.php
+++ b/update_daemon.php
@@ -5,7 +5,6 @@
declare(ticks = 1);
- define('SLEEP_INTERVAL', 60); // seconds between update runs
define('MAGPIE_CACHE_DIR', '/var/tmp/magpie-ttrss-cache-daemon');
define('DISABLE_SESSIONS', true);
@@ -82,8 +81,8 @@
print "Feed: " . $line["feed_url"] . ": ";
- printf("(%d ? %d) ", time() - strtotime($line["last_updated"]),
- $upd_intl*60);
+ printf("(%d/%d, %d) ", time() - strtotime($line["last_updated"]),
+ $upd_intl*60, $owner_uid);
if (!$line["last_updated"] ||
time() - strtotime($line["last_updated"]) > ($upd_intl * 60)) {
@@ -95,9 +94,9 @@
}
}
- print "Sleeping for " . SLEEP_INTERVAL . " seconds...\n";
+ print "Sleeping for " . DAEMON_SLEEP_INTERVAL . " seconds...\n";
- sleep(SLEEP_INTERVAL);
+ sleep(DAEMON_SLEEP_INTERVAL);
}
db_close($link);