diff options
-rw-r--r-- | utils/notifier/background.html | 37 | ||||
-rw-r--r-- | utils/notifier/manifest.json | 2 | ||||
-rw-r--r-- | utils/notifier/options.html | 21 |
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 © 2010 + <p>Copyright © 2010-2012 <a target="_blank" href="http://tt-rss.org">Andrew Dolgov</a>. Licensed under GNU GPL version 2.</p> |