diff --git a/api/index.php b/api/index.php index 9d1a962dc..60753e9ca 100644 --- a/api/index.php +++ b/api/index.php @@ -149,7 +149,7 @@ /* Labels */ if (!$cat_id || $cat_id == -2) { - $counters = getLabelCounters($link, false, true); + $counters = getLabelCounters($link, true); foreach (array_keys($counters) as $id) { diff --git a/config.php-dist b/config.php-dist index af0b7923d..85fe7cdc4 100644 --- a/config.php-dist +++ b/config.php-dist @@ -37,14 +37,6 @@ // Operate in single user mode, disables all functionality related to // multiple users. - define('SMART_RPC_COUNTERS', false); - // If enabled, stores feed counter information on the server side and sends - // only diffs to the client. In the nutshell, it saves your bandwidth and - // makes UI more responsive, but eats server memory. - // This option can introduce a lot of weird interface glitches in - // some use-cases (if you have more than one tt-rss window open, for example) - // so it is disabled by default. - define('ENABLE_FEED_BROWSER', true); // Enable or disable local feed browser diff --git a/functions.php b/functions.php index 781074569..161335c96 100644 --- a/functions.php +++ b/functions.php @@ -2415,7 +2415,7 @@ getVirtCounters($link); if (strchr($omode, "l")) getLabelCounters($link); - if (strchr($omode, "f")) getFeedCounters($link, SMART_RPC_COUNTERS, $active_feed); + if (strchr($omode, "f")) getFeedCounters($link, $active_feed); if (strchr($omode, "t")) getTagCounters($link); if (strchr($omode, "c")) { if (get_pref($link, 'ENABLE_FEED_CATS')) { @@ -2707,17 +2707,7 @@ return db_fetch_result($result, 0, "fn"); } - function getTagCounters($link, $smart_mode = SMART_RPC_COUNTERS) { - - if ($smart_mode) { - if (!$_SESSION["tctr_last_value"]) { - $_SESSION["tctr_last_value"] = array(); - } - } - - $old_counters = $_SESSION["tctr_last_value"]; - - $tctrs_modified = false; + function getTagCounters($link) { $age_qpart = getMaxAgeSubquery(); @@ -2736,24 +2726,12 @@ foreach (array_keys($tags) as $tag) { $unread = $tags[$tag]; - $tag = htmlspecialchars($tag); - - if (!$smart_mode || $old_counters[$tag] != $unread) { - $old_counters[$tag] = $unread; - $tctrs_modified = true; - print ""; - } - + print ""; } - - if ($smart_mode && $tctrs_modified) { - $_SESSION["tctr_last_value"] = $old_counters; - } - } - function getVirtCounters($link, $smart_mode = SMART_RPC_COUNTERS, $ret_mode = false) { + function getVirtCounters($link, $ret_mode = false) { $ret_arr = array(); @@ -2779,72 +2757,45 @@ return $ret_arr; } - function getLabelCounters($link, $smart_mode = SMART_RPC_COUNTERS, $ret_mode = false) { + function getLabelCounters($link, $ret_mode = false) { $age_qpart = getMaxAgeSubquery(); - if ($smart_mode) { - if (!$_SESSION["lctr_last_value"]) { - $_SESSION["lctr_last_value"] = array(); - } - } - - $old_counters = $_SESSION["lctr_last_value"]; - $lctrs_modified = false; + $owner_uid = $_SESSION["uid"]; + $result = db_query($link, "SELECT id, caption FROM ttrss_labels2 + WHERE owner_uid = '$owner_uid'"); + + while ($line = db_fetch_assoc($result)) { - $owner_uid = $_SESSION["uid"]; + $id = -$line["id"] - 11; - $result = db_query($link, "SELECT id, caption FROM ttrss_labels2 - WHERE owner_uid = '$owner_uid'"); - - while ($line = db_fetch_assoc($result)) { - - $id = -$line["id"] - 11; - - $label_name = $line["caption"]; - $count = getFeedUnread($link, $id); - - if (!$smart_mode || $old_counters[$id] != $count) { - $old_counters[$id] = $count; - $lctrs_modified = true; - if (!$ret_mode) { - - if (get_pref($link, 'EXTENDED_FEEDLIST')) { - $xmsg_part = "xmsg=\"(" . getFeedArticles($link, $id) . " total)\""; - } else { - $xmsg_part = ""; - } + $label_name = $line["caption"]; + $count = getFeedUnread($link, $id); - print ""; - } else { - $ret_arr[$id]["counter"] = $count; - $ret_arr[$id]["description"] = $label_name; - } + if (!$ret_mode) { + + if (get_pref($link, 'EXTENDED_FEEDLIST')) { + $xmsg_part = "xmsg=\"(" . getFeedArticles($link, $id) . " total)\""; + } else { + $xmsg_part = ""; } - - error_reporting (DEFAULT_ERROR_LEVEL); - } - if ($smart_mode && $lctrs_modified) { - $_SESSION["lctr_last_value"] = $old_counters; - } + print ""; + } else { + $ret_arr[$id]["counter"] = $count; + $ret_arr[$id]["description"] = $label_name; + } + } + return $ret_arr; } - function getFeedCounters($link, $smart_mode = SMART_RPC_COUNTERS, $active_feed = false) { + function getFeedCounters($link, $active_feed = false) { $age_qpart = getMaxAgeSubquery(); - if ($smart_mode) { - if (!$_SESSION["fctr_last_value"]) { - $_SESSION["fctr_last_value"] = array(); - } - } - - $old_counters = $_SESSION["fctr_last_value"]; - $query = "SELECT ttrss_feeds.id, ttrss_feeds.title, ".SUBSTRING_FOR_DATE."(ttrss_feeds.last_updated,1,19) AS last_updated, @@ -2881,38 +2832,29 @@ $count += db_fetch_result($tmp_result, 0, "unread"); - if (!$smart_mode || $old_counters[$id] != $count) { - $old_counters[$id] = $count; - $fctrs_modified = true; - - if ($last_error) { - $error_part = "error=\"$last_error\""; - } else { - $error_part = ""; - } - - if ($has_img) { - $has_img_part = "hi=\"$has_img\""; - } else { - $has_img_part = ""; - } + if ($last_error) { + $error_part = "error=\"$last_error\""; + } else { + $error_part = ""; + } - if ($active_feed && $id == $active_feed) { - $has_title_part = "title=\"" . htmlspecialchars($line["title"]) . "\""; - } else { - $has_title_part = ""; - } + if ($has_img) { + $has_img_part = "hi=\"$has_img\""; + } else { + $has_img_part = ""; + } - if (get_pref($link, 'EXTENDED_FEEDLIST')) { - $xmsg_part = "xmsg=\"(" . getFeedArticles($link, $id) . " total)\""; - } + if ($active_feed && $id == $active_feed) { + $has_title_part = "title=\"" . htmlspecialchars($line["title"]) . "\""; + } else { + $has_title_part = ""; + } - print ""; + if (get_pref($link, 'EXTENDED_FEEDLIST')) { + $xmsg_part = "xmsg=\"(" . getFeedArticles($link, $id) . " total)\""; } - } - if ($smart_mode && $fctrs_modified) { - $_SESSION["fctr_last_value"] = $old_counters; + print ""; } } diff --git a/utils/xml-rpc.php b/utils/xml-rpc.php index 61703f9ec..e685cc8cb 100644 --- a/utils/xml-rpc.php +++ b/utils/xml-rpc.php @@ -47,7 +47,7 @@ if (authenticate_user($link, $login, $pass)) { - $counters = getLabelCounters($link, false, true); + $counters = getLabelCounters($link, true); foreach (array_keys($counters) as $id) { $line_struct = new xmlrpcval(