mirror of
https://git.tt-rss.org/git/tt-rss.git
synced 2025-12-15 11:15:57 +00:00
js: code cleanup; move to async counter sending mode
This commit is contained in:
23
backend.php
23
backend.php
@@ -208,8 +208,6 @@
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$_SESSION["viewfeed:counters_stamp"] = time();
|
|
||||||
|
|
||||||
outputFeedList($link, $tags);
|
outputFeedList($link, $tags);
|
||||||
break; // feeds
|
break; // feeds
|
||||||
|
|
||||||
@@ -220,8 +218,6 @@
|
|||||||
$mode = db_escape_string($_REQUEST["mode"]);
|
$mode = db_escape_string($_REQUEST["mode"]);
|
||||||
$omode = db_escape_string($_REQUEST["omode"]);
|
$omode = db_escape_string($_REQUEST["omode"]);
|
||||||
|
|
||||||
$csync = $_REQUEST["csync"];
|
|
||||||
|
|
||||||
print "<reply>";
|
print "<reply>";
|
||||||
|
|
||||||
// in prefetch mode we only output requested cids, main article
|
// in prefetch mode we only output requested cids, main article
|
||||||
@@ -243,14 +239,11 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// if (get_pref($link, "SYNC_COUNTERS") || ($mode == "prefetch" && $csync)) {
|
/* if ($mode == "prefetch") {
|
||||||
|
|
||||||
if (time() - $_SESSION["view:counters_stamp"] > 5 && $mode == "prefetch") {
|
|
||||||
print "<counters><![CDATA[";
|
print "<counters><![CDATA[";
|
||||||
print json_encode(getAllCounters($link, $omode));
|
print json_encode(getAllCounters($link, $omode));
|
||||||
print "]]></counters>";
|
print "]]></counters>";
|
||||||
$_SESSION["view:counters_stamp"] = time();
|
} */
|
||||||
}
|
|
||||||
|
|
||||||
print "</reply>";
|
print "</reply>";
|
||||||
break; // view
|
break; // view
|
||||||
@@ -274,7 +267,6 @@
|
|||||||
@$next_unread_feed = db_escape_string($_REQUEST["nuf"]);
|
@$next_unread_feed = db_escape_string($_REQUEST["nuf"]);
|
||||||
@$offset = db_escape_string($_REQUEST["skip"]);
|
@$offset = db_escape_string($_REQUEST["skip"]);
|
||||||
@$vgroup_last_feed = db_escape_string($_REQUEST["vgrlf"]);
|
@$vgroup_last_feed = db_escape_string($_REQUEST["vgrlf"]);
|
||||||
$csync = $_REQUEST["csync"];
|
|
||||||
$order_by = db_escape_string($_REQUEST["order_by"]);
|
$order_by = db_escape_string($_REQUEST["order_by"]);
|
||||||
|
|
||||||
/* Feed -5 is a special case: it is used to display auxiliary information
|
/* Feed -5 is a special case: it is used to display auxiliary information
|
||||||
@@ -289,12 +281,9 @@
|
|||||||
/* Updating a label ccache means recalculating all of the caches
|
/* Updating a label ccache means recalculating all of the caches
|
||||||
* so for performance reasons we don't do that here */
|
* so for performance reasons we don't do that here */
|
||||||
|
|
||||||
// if (time() - $_SESSION["viewfeed:ccache_update_stamp"] > 120) {
|
|
||||||
if ($feed >= 0) {
|
if ($feed >= 0) {
|
||||||
ccache_update($link, $feed, $_SESSION["uid"], $cat_view);
|
ccache_update($link, $feed, $_SESSION["uid"], $cat_view);
|
||||||
}
|
}
|
||||||
$_SESSION["viewfeed:ccache_update_stamp"] = time();
|
|
||||||
// }
|
|
||||||
|
|
||||||
set_pref($link, "_DEFAULT_VIEW_MODE", $view_mode);
|
set_pref($link, "_DEFAULT_VIEW_MODE", $view_mode);
|
||||||
set_pref($link, "_DEFAULT_VIEW_LIMIT", $limit);
|
set_pref($link, "_DEFAULT_VIEW_LIMIT", $limit);
|
||||||
@@ -394,15 +383,11 @@
|
|||||||
|
|
||||||
if ($_REQUEST["debug"]) $timing_info = print_checkpoint("20", $timing_info);
|
if ($_REQUEST["debug"]) $timing_info = print_checkpoint("20", $timing_info);
|
||||||
|
|
||||||
if (get_pref($link, 'COMBINED_DISPLAY_MODE') || $subop ||
|
/* if (get_pref($link, 'COMBINED_DISPLAY_MODE') || $subop || !$offset) {
|
||||||
time() - $_SESSION["viewfeed:counters_stamp"] > 5) {
|
|
||||||
if (!$offset) {
|
|
||||||
print "<counters><![CDATA[";
|
print "<counters><![CDATA[";
|
||||||
print json_encode(getAllCounters($link, $omode, $feed));
|
print json_encode(getAllCounters($link, $omode, $feed));
|
||||||
print "]]></counters>";
|
print "]]></counters>";
|
||||||
$_SESSION["viewfeed:counters_stamp"] = time();
|
} */
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($_REQUEST["debug"]) $timing_info = print_checkpoint("30", $timing_info);
|
if ($_REQUEST["debug"]) $timing_info = print_checkpoint("30", $timing_info);
|
||||||
|
|
||||||
|
|||||||
19
feedlist.js
19
feedlist.js
@@ -7,6 +7,8 @@ var mouse_is_down = false;
|
|||||||
var mouse_y = 0;
|
var mouse_y = 0;
|
||||||
var mouse_x = 0;
|
var mouse_x = 0;
|
||||||
|
|
||||||
|
var counter_timeout_id = false;
|
||||||
|
|
||||||
var resize_enabled = false;
|
var resize_enabled = false;
|
||||||
var selection_disabled = false;
|
var selection_disabled = false;
|
||||||
var counters_last_request = 0;
|
var counters_last_request = 0;
|
||||||
@@ -214,10 +216,6 @@ function viewfeed(feed, subop, is_cat, subop_param, skip_history, offset) {
|
|||||||
query = query + "&omode=flc";
|
query = query + "&omode=flc";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!async_counters_work) {
|
|
||||||
query = query + "&csync=true";
|
|
||||||
}
|
|
||||||
|
|
||||||
console.log(query);
|
console.log(query);
|
||||||
|
|
||||||
var container = $("headlinesInnerContainer");
|
var container = $("headlinesInnerContainer");
|
||||||
@@ -407,10 +405,6 @@ function feedlist_init() {
|
|||||||
|
|
||||||
setTimeout("hotkey_prefix_timeout()", 5*1000);
|
setTimeout("hotkey_prefix_timeout()", 5*1000);
|
||||||
|
|
||||||
if (typeof correctPNG != 'undefined') {
|
|
||||||
correctPNG();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (getActiveFeedId()) {
|
if (getActiveFeedId()) {
|
||||||
//console.log("some feed is open on feedlist refresh, reloading");
|
//console.log("some feed is open on feedlist refresh, reloading");
|
||||||
//setTimeout("viewCurrentFeed()", 100);
|
//setTimeout("viewCurrentFeed()", 100);
|
||||||
@@ -599,7 +593,7 @@ function request_counters_real() {
|
|||||||
parameters: query,
|
parameters: query,
|
||||||
onComplete: function(transport) {
|
onComplete: function(transport) {
|
||||||
try {
|
try {
|
||||||
all_counters_callback2(transport, true);
|
all_counters_callback2(transport);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
exception_error("viewfeed/getcounters", e);
|
exception_error("viewfeed/getcounters", e);
|
||||||
}
|
}
|
||||||
@@ -620,9 +614,12 @@ function request_counters() {
|
|||||||
var date = new Date();
|
var date = new Date();
|
||||||
var timestamp = Math.round(date.getTime() / 1000);
|
var timestamp = Math.round(date.getTime() / 1000);
|
||||||
|
|
||||||
if (timestamp - counters_last_request > 15) {
|
if (timestamp - counters_last_request > 10) {
|
||||||
console.log("scheduling request of counters...");
|
console.log("scheduling request of counters...");
|
||||||
window.setTimeout("request_counters_real()", 1000);
|
|
||||||
|
window.clearTimeout(counter_timeout_id);
|
||||||
|
counter_timeout_id = window.setTimeout("request_counters_real()", 1000);
|
||||||
|
|
||||||
counters_last_request = timestamp;
|
counters_last_request = timestamp;
|
||||||
} else {
|
} else {
|
||||||
console.log("request_counters: rate limit reached: " + (timestamp - counters_last_request));
|
console.log("request_counters: rate limit reached: " + (timestamp - counters_last_request));
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
var hotkeys_enabled = true;
|
var hotkeys_enabled = true;
|
||||||
var notify_silent = false;
|
var notify_silent = false;
|
||||||
var last_progress_point = 0;
|
var last_progress_point = 0;
|
||||||
var async_counters_work = false;
|
|
||||||
var sanity_check_done = false;
|
var sanity_check_done = false;
|
||||||
|
|
||||||
/* add method to remove element from array */
|
/* add method to remove element from array */
|
||||||
@@ -578,9 +577,8 @@ function parse_counters_reply(transport, scheduled_call) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function all_counters_callback2(transport, async_call) {
|
function all_counters_callback2(transport) {
|
||||||
try {
|
try {
|
||||||
if (async_call) async_counters_work = true;
|
|
||||||
if (offline_mode) return;
|
if (offline_mode) return;
|
||||||
|
|
||||||
parse_counters_reply(transport);
|
parse_counters_reply(transport);
|
||||||
|
|||||||
@@ -2037,10 +2037,6 @@
|
|||||||
setcookie("ttrss_lang", $_SESSION["language"],
|
setcookie("ttrss_lang", $_SESSION["language"],
|
||||||
time() + SESSION_COOKIE_LIFETIME);
|
time() + SESSION_COOKIE_LIFETIME);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* bump counters stamp since we're getting reloaded anyway */
|
|
||||||
|
|
||||||
$_SESSION["get_all_counters_stamp"] = time();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -1,27 +0,0 @@
|
|||||||
// stolen from http://homepage.ntlworld.com/bobosola/pngtestfixed.htm
|
|
||||||
|
|
||||||
function correctPNG() // correctly handle PNG transparency in Win IE 5.5 or higher.
|
|
||||||
{
|
|
||||||
for(var i=0; i<document.images.length; i++)
|
|
||||||
{
|
|
||||||
var img = document.images[i]
|
|
||||||
var imgName = img.src.toUpperCase()
|
|
||||||
if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
|
|
||||||
{
|
|
||||||
var imgID = (img.id) ? "id='" + img.id + "' " : ""
|
|
||||||
var imgClass = (img.className) ? "class='" + img.className + "' " : ""
|
|
||||||
var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
|
|
||||||
var imgStyle = "display:inline-block;" + img.style.cssText
|
|
||||||
if (img.align == "left") imgStyle = "float:left;" + imgStyle
|
|
||||||
if (img.align == "right") imgStyle = "float:right;" + imgStyle
|
|
||||||
if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
|
|
||||||
var strNewHTML = "<span " + imgID + imgClass + imgTitle
|
|
||||||
+ " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
|
|
||||||
+ "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
|
|
||||||
+ "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>"
|
|
||||||
img.outerHTML = strNewHTML
|
|
||||||
i = i-1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
window.attachEvent("onload", correctPNG);
|
|
||||||
9
prefs.js
9
prefs.js
@@ -30,9 +30,6 @@ function feedlist_callback2(transport) {
|
|||||||
|
|
||||||
caller_subop = false;
|
caller_subop = false;
|
||||||
}
|
}
|
||||||
if (typeof correctPNG != 'undefined') {
|
|
||||||
correctPNG();
|
|
||||||
}
|
|
||||||
notify("");
|
notify("");
|
||||||
remove_splash();
|
remove_splash();
|
||||||
|
|
||||||
@@ -44,9 +41,6 @@ function feedlist_callback2(transport) {
|
|||||||
function filterlist_callback2(transport) {
|
function filterlist_callback2(transport) {
|
||||||
var container = $('prefContent');
|
var container = $('prefContent');
|
||||||
container.innerHTML=transport.responseText;
|
container.innerHTML=transport.responseText;
|
||||||
if (typeof correctPNG != 'undefined') {
|
|
||||||
correctPNG();
|
|
||||||
}
|
|
||||||
notify("");
|
notify("");
|
||||||
remove_splash();
|
remove_splash();
|
||||||
}
|
}
|
||||||
@@ -84,9 +78,6 @@ function labellist_callback2(transport) {
|
|||||||
|
|
||||||
init_label_inline_editor();
|
init_label_inline_editor();
|
||||||
|
|
||||||
if (typeof correctPNG != 'undefined') {
|
|
||||||
correctPNG();
|
|
||||||
}
|
|
||||||
notify("");
|
notify("");
|
||||||
remove_splash();
|
remove_splash();
|
||||||
|
|
||||||
|
|||||||
27
tt-rss.js
27
tt-rss.js
@@ -3,7 +3,6 @@ var total_unread = 0;
|
|||||||
var first_run = true;
|
var first_run = true;
|
||||||
var display_tags = false;
|
var display_tags = false;
|
||||||
var global_unread = -1;
|
var global_unread = -1;
|
||||||
var active_title_text = "";
|
|
||||||
var current_subtitle = "";
|
var current_subtitle = "";
|
||||||
var daemon_enabled = false;
|
var daemon_enabled = false;
|
||||||
//var _qfd_deleted_feed = 0;
|
//var _qfd_deleted_feed = 0;
|
||||||
@@ -233,10 +232,6 @@ function updateTitle(s) {
|
|||||||
tmp = tmp + " - " + current_subtitle;
|
tmp = tmp + " - " + current_subtitle;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (active_title_text.length > 0) {
|
|
||||||
tmp = tmp + " > " + active_title_text;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (window.fluid) {
|
if (window.fluid) {
|
||||||
if (global_unread > 0) {
|
if (global_unread > 0) {
|
||||||
window.fluid.dockBadge = global_unread;
|
window.fluid.dockBadge = global_unread;
|
||||||
@@ -249,9 +244,6 @@ function updateTitle(s) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function genericSanityCheck() {
|
function genericSanityCheck() {
|
||||||
|
|
||||||
// if (!Ajax.getTransport()) fatalError(1);
|
|
||||||
|
|
||||||
setCookie("ttrss_test", "TEST");
|
setCookie("ttrss_test", "TEST");
|
||||||
|
|
||||||
if (getCookie("ttrss_test") != "TEST") {
|
if (getCookie("ttrss_test") != "TEST") {
|
||||||
@@ -370,7 +362,6 @@ function init_second_stage() {
|
|||||||
|
|
||||||
delCookie("ttrss_test");
|
delCookie("ttrss_test");
|
||||||
|
|
||||||
// document.onresize = resize_headlines;
|
|
||||||
window.onresize=resize_headlines;
|
window.onresize=resize_headlines;
|
||||||
|
|
||||||
var toolbar = document.forms["main_toolbar_form"];
|
var toolbar = document.forms["main_toolbar_form"];
|
||||||
@@ -381,19 +372,6 @@ function init_second_stage() {
|
|||||||
daemon_enabled = getInitParam("daemon_enabled") == 1;
|
daemon_enabled = getInitParam("daemon_enabled") == 1;
|
||||||
feeds_sort_by_unread = getInitParam("feeds_sort_by_unread") == 1;
|
feeds_sort_by_unread = getInitParam("feeds_sort_by_unread") == 1;
|
||||||
|
|
||||||
/* var fl = cache_find_param("FEEDLIST", getInitParam("num_feeds"));
|
|
||||||
|
|
||||||
if (fl) {
|
|
||||||
render_feedlist(fl);
|
|
||||||
if ($("feedList")) {
|
|
||||||
request_counters();
|
|
||||||
} else {
|
|
||||||
setTimeout('updateFeedList(false, false)', 50);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
setTimeout('updateFeedList(false, false)', 50);
|
|
||||||
} */
|
|
||||||
|
|
||||||
setTimeout('updateFeedList(false, false)', 50);
|
setTimeout('updateFeedList(false, false)', 50);
|
||||||
|
|
||||||
console.log("second stage ok");
|
console.log("second stage ok");
|
||||||
@@ -552,11 +530,6 @@ function quickMenuGo(opid) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateFeedTitle(t) {
|
|
||||||
active_title_text = t;
|
|
||||||
updateTitle();
|
|
||||||
}
|
|
||||||
|
|
||||||
function toggleDispRead() {
|
function toggleDispRead() {
|
||||||
try {
|
try {
|
||||||
|
|
||||||
|
|||||||
17
viewfeed.js
17
viewfeed.js
@@ -218,9 +218,6 @@ function headlines_callback2(transport, feed_cur_page) {
|
|||||||
f.innerHTML = "<div class='whiteBox'>" + __('Could not update headlines (missing XML object)') + "</div>";
|
f.innerHTML = "<div class='whiteBox'>" + __('Could not update headlines (missing XML object)') + "</div>";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (typeof correctPNG != 'undefined') {
|
|
||||||
correctPNG();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (_cdm_wd_timeout) window.clearTimeout(_cdm_wd_timeout);
|
if (_cdm_wd_timeout) window.clearTimeout(_cdm_wd_timeout);
|
||||||
|
|
||||||
@@ -399,10 +396,6 @@ function article_callback2(transport, id) {
|
|||||||
var date = new Date();
|
var date = new Date();
|
||||||
last_article_view = date.getTime() / 1000;
|
last_article_view = date.getTime() / 1000;
|
||||||
|
|
||||||
if (typeof correctPNG != 'undefined') {
|
|
||||||
correctPNG();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (_reload_feedlist_after_view) {
|
if (_reload_feedlist_after_view) {
|
||||||
setTimeout('updateFeedList(false, false)', 50);
|
setTimeout('updateFeedList(false, false)', 50);
|
||||||
_reload_feedlist_after_view = false;
|
_reload_feedlist_after_view = false;
|
||||||
@@ -468,10 +461,6 @@ function view(id) {
|
|||||||
var crow = $("RROW-" + id);
|
var crow = $("RROW-" + id);
|
||||||
var article_is_unread = crow.className.match("Unread");
|
var article_is_unread = crow.className.match("Unread");
|
||||||
|
|
||||||
if (!async_counters_work) {
|
|
||||||
query = query + "&csync=true";
|
|
||||||
}
|
|
||||||
|
|
||||||
showArticleInHeadlines(id);
|
showArticleInHeadlines(id);
|
||||||
|
|
||||||
if (!cached_article) {
|
if (!cached_article) {
|
||||||
@@ -1836,8 +1825,14 @@ function cache_expire() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function cache_flush() {
|
function cache_flush() {
|
||||||
|
if (db) {
|
||||||
|
db.execute("DELETE FROM cache");
|
||||||
|
} else if (has_local_storage()) {
|
||||||
|
localStorage.clear();
|
||||||
|
} else {
|
||||||
article_cache = new Array();
|
article_cache = new Array();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function cache_invalidate(id) {
|
function cache_invalidate(id) {
|
||||||
try {
|
try {
|
||||||
|
|||||||
Reference in New Issue
Block a user