summaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2012-01-26 15:13:04 +0400
committerAndrew Dolgov <[email protected]>2012-01-26 15:18:00 +0400
commita689cd4770847e94323a55010711646df7d05cdd (patch)
tree24ff31d715f5c817f73a6526907388bee9aa36bd /utils
parentaa60999b978f777f63e221b752b1011110f63bd0 (diff)
notifier: add ability to update feeds in tt-rss
Diffstat (limited to 'utils')
-rw-r--r--utils/notifier/background.html37
-rw-r--r--utils/notifier/manifest.json2
-rw-r--r--utils/notifier/options.html21
3 files changed, 54 insertions, 6 deletions
diff --git a/utils/notifier/background.html b/utils/notifier/background.html
index 751456766..f67523bad 100644
--- a/utils/notifier/background.html
+++ b/utils/notifier/background.html
@@ -2,6 +2,7 @@
<script type="text/javascript">
var last_updated = 0;
+var feeds_last_updated = 0;
var prefs_last_updated = 0;
function param_escape(arg) {
@@ -11,7 +12,24 @@ function param_escape(arg) {
return escape(arg);
}
+function update_feeds() {
+
+ console.log("feeds update");
+
+ var requestUrl = localStorage["site_url"] + "/public.php?op=globalUpdateFeeds";
+
+ var xhr = new XMLHttpRequest();
+
+ xhr.open("POST", requestUrl, true);
+ xhr.send();
+
+ var d = new Date();
+ localStorage["last_feeds_updated"] = d.getTime();
+}
+
function update() {
+ console.log("update");
+
var d = new Date();
var login = localStorage["login"];
var single_user = localStorage["single_user"];
@@ -23,7 +41,6 @@ function update() {
var xhr = new XMLHttpRequest();
-
xhr.open("POST", requestUrl, true);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.send(params);
@@ -109,6 +126,7 @@ function timeout() {
var update_interval;
var prefs_updated;
+ var feeds_update_interval = 30 * 60 * 1000;
if (localStorage["update_interval"])
update_interval = localStorage["update_interval"] * 60 * 1000;
@@ -126,14 +144,27 @@ function timeout() {
prefs_updated != prefs_last_updated) {
last_updated = d.getTime();
- prefs_last_updated = prefs_updated;
try {
update();
} catch (e) {
- //
+ console.warn(e);
+ }
+ }
+
+ if (localStorage['update_feeds'] == 1 && (d.getTime() > feeds_last_updated + feeds_update_interval || prefs_updated != prefs_last_updated)) {
+
+ feeds_last_updated = d.getTime();
+
+ try {
+ update_feeds();
+ } catch (e) {
+ console.warn(e);
}
+
}
+ prefs_last_updated = prefs_updated;
+
window.setTimeout("timeout()", 1000);
}
diff --git a/utils/notifier/manifest.json b/utils/notifier/manifest.json
index 8294469ee..e76b07637 100644
--- a/utils/notifier/manifest.json
+++ b/utils/notifier/manifest.json
@@ -1,7 +1,7 @@
{
"name": "Tiny Tiny RSS Notifier",
"background_page": "background.html",
- "version": "0.4.2",
+ "version": "0.5",
"description": "This extension displays the number of unread articles in your Tiny Tiny RSS installation",
"options_page": "options.html",
"icons": { "48": "images/icon.png", "128": "images/icon.png" },
diff --git a/utils/notifier/options.html b/utils/notifier/options.html
index af7de0244..25c26b5df 100644
--- a/utils/notifier/options.html
+++ b/utils/notifier/options.html
@@ -40,6 +40,7 @@ function save() {
localStorage['show_badge'] = (f.show_badge.checked) ? "1" : "0";
localStorage['show_fresh'] = (f.show_fresh.checked) ? "1" : "0";
localStorage['single_user'] = (f.single_user.checked) ? "1" : "0";
+ localStorage['update_feeds'] = (f.update_feeds.checked) ? "1" : "0";
var d = new Date();
@@ -89,6 +90,11 @@ function init() {
else
f.single_user.checked = false;
+ if (localStorage['update_feeds'])
+ f.update_feeds.checked = localStorage['update_feeds'] == "1";
+ else
+ f.update_feeds.checked = false;
+
single_user_toggle();
var last_updated = $('last_updated');
@@ -97,8 +103,13 @@ function init() {
d.setTime(localStorage["last_updated"]);
-
last_updated.innerHTML = d;
+
+ var feeds_last_updated = $('feeds-last-updated');
+
+ d.setTime(localStorage["last_feeds_updated"]);
+
+ feeds_last_updated.innerHTML = d;
}
</script>
@@ -177,10 +188,16 @@ fieldset span.note {
<span class="note">(requires Tiny Tiny RSS 1.4.1 or trunk)</span>
</fieldset>
+ <fieldset>
+ <label>Periodically try to update tt-rss feeds:</label>
+ <input name="update_feeds" type="checkbox" value="1"/>
+ <span class="note">Please use this as a last resort method only in case you can't update your feeds <a target="_blank" href="http://tt-rss.org/wiki/UpdatingFeeds">in any other way</a>. Last updated: <span id='feeds-last-updated'>N/A</span></span>
+ </fieldset>
+
<input type="submit" value="Save"/>
</form>
- <p>Copyright &copy; 2010
+ <p>Copyright &copy; 2010-2012
<a target="_blank" href="http://tt-rss.org">Andrew Dolgov</a>.
Licensed under GNU GPL version 2.</p>