diff --git a/backend.php b/backend.php index d1ff6914..16705f47 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 ""; + return $c_id; + } + + function getGlobalCounters($link, $global_unread = -1) { + if ($global_unread == -1) { + $global_unread = getGlobalUnread($link); + } + print ""; } 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 ""; - 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 ""; } diff --git a/config.php-dist b/config.php-dist index d322d3a6..047de65c 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 4b1b29b1..989393b0 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 d220266f..b780c7f7 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);