summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2005-08-28 06:48:32 +0100
committerAndrew Dolgov <[email protected]>2005-08-28 06:48:32 +0100
commitcaa4e57f278a59df07f7159c07e371ae53fe0217 (patch)
treef1f6c7eda48b266a73238fd43d54dab6a3d56b35
parent7fdd55fb41996a6c0d95a840399c6c8a634c2395 (diff)
code cleanups, start work on sepUpdateFeed mechanism
-rw-r--r--backend.php32
-rw-r--r--tt-rss.js50
-rw-r--r--tt-rss.php14
3 files changed, 75 insertions, 21 deletions
diff --git a/backend.php b/backend.php
index c38793b5e..bf93aa142 100644
--- a/backend.php
+++ b/backend.php
@@ -91,6 +91,9 @@
print "</table>";
+ print "<div class=\"invisible\" id=\"FEEDTU\">$total_unread</div>";
+
+/*
print "<p align=\"center\">All feeds:
<a class=\"button\"
href=\"javascript:scheduleFeedUpdate(true)\">Update</a>";
@@ -99,7 +102,7 @@
href=\"javascript:catchupAllFeeds()\">Mark as read</a></p>";
print "<div class=\"invisible\" id=\"FEEDTU\">$total_unread</div>";
-
+*/
}
@@ -109,29 +112,20 @@
$subop = $_GET["subop"];
- if ($subop == "getRelativeId") {
- $mode = $_GET["mode"];
- $id = $_GET["id"];
+ if ($subop == "updateFeed") {
$feed_id = $_GET["feed"];
- if ($id != 'false' && $feed_id != 'false') {
+ $result = pg_query($link,
+ "SELECT feed_url FROM ttrss_feeds WHERE id = '$feed_id'");
- if ($mode == 'next') {
- $check_qpart = "updated >= ";
- } else {
- $idcheck_qpart = "id < '$id'";
- }
-
- $result = pg_query("SELECT id FROM ttrss_entries WHERE
- $check_qpart AND
- feed_id = '$feed_id'
- ORDER BY updated DESC LIMIT 1");
-
- $result_id = pg_fetch_result($result, 0, "id");
+ if (pg_num_rows($result) > 0) {
+ $feed_url = pg_fetch_result($result, 0, "feed_url");
+// update_rss_feed($link, $feed_url, $feed_id);
+ }
- print "M $mode : P $id -> P $result_id : F $feed_id";
+ print "DONE-$feed_id";
- }
+ return;
}
if ($subop == "forceUpdateAllFeeds") {
diff --git a/tt-rss.js b/tt-rss.js
index e6eca2172..96c9b32ad 100644
--- a/tt-rss.js
+++ b/tt-rss.js
@@ -19,6 +19,9 @@ var total_feed_entries = false;
var _viewfeed_autoselect_first = false;
var _viewfeed_autoselect_last = false;
+var _update_ids;
+var _update_num_ids;
+
var search_query = "";
/*@cc_on @*/
@@ -60,6 +63,14 @@ function feedlist_callback() {
}
}
+function feed_update_callback() {
+ if (xmlhttp_rpc.readyState == 4) {
+ var result = xmlhttp_rpc.responseText;
+ notify(_update_ids);
+ updateFeed(_update_ids.shift());
+ }
+}
+
function viewfeed_callback() {
var container = document.getElementById('headlines');
if (xmlhttp.readyState == 4) {
@@ -130,6 +141,30 @@ function refetch_callback() {
}
}
+function updateFeed(feed_id) {
+
+ var query_str = "backend.php?op=rpc&subop=updateFeed&feed=" + feed_id;
+
+ if (xmlhttp_ready(xmlhttp_rpc)) {
+ xmlhttp_rpc.open("GET", query_str, true);
+ xmlhttp_rpc.onreadystatechange=feed_update_callback;
+ xmlhttp_rpc.send(null);
+ } else {
+ printLockingError();
+ }
+
+}
+
+function scheduleSepFeedUpdate(force) {
+ notify("Updating feeds in background (M2)...");
+
+ _update_ids = getFeedIds();
+ _update_num_ids = _update_ids.length;
+
+ updateFeed(_update_ids.pop());
+
+}
+
function scheduleFeedUpdate(force) {
notify("Updating feeds in background...");
@@ -297,6 +332,21 @@ function markHeadline(id) {
}
}
+function getFeedIds() {
+ var content = document.getElementById("feedsList");
+
+ var rows = new Array();
+
+ for (i = 0; i < content.rows.length; i++) {
+ var id = content.rows[i].id.replace("FEEDR-", "");
+ if (id.length > 0) {
+ rows.push(id);
+ }
+ }
+
+ return rows;
+}
+
function cleanSelected(element) {
var content = document.getElementById(element);
diff --git a/tt-rss.php b/tt-rss.php
index 936efda84..338b3efc8 100644
--- a/tt-rss.php
+++ b/tt-rss.php
@@ -28,8 +28,18 @@
</td>
</tr>
<tr>
- <td valign="top" rowspan="2" id="feeds" class="feeds">
- &nbsp;
+ <td valign="top" rowspan="2" class="feeds">
+
+ <div id="feeds">&nbsp;</div>
+
+ <p align="center">All feeds:
+
+ <a class="button"
+ href="javascript:scheduleFeedUpdate(true)">Update</a>
+
+ <a class="button"
+ href="javascript:catchupAllFeeds()">Mark as read</a></p>
+
</td>
<td id="headlines" class="headlines" valign="top">
Please select the feed.