summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2008-06-24 08:43:20 +0100
committerAndrew Dolgov <[email protected]>2008-06-24 08:43:20 +0100
commita598370dde80604280f1a9708f8427902f376209 (patch)
tree351e7617d5245abfc672c3fc0895c0e054ba232f
parentd16d57ff2b8742c51516fefccc8495260d4738c7 (diff)
add low bandwidth mode (less automatic requests in the background)
-rw-r--r--backend.php10
-rw-r--r--feedlist.js2
-rw-r--r--functions.php4
-rw-r--r--login_form.php31
-rw-r--r--tt-rss.js2
-rw-r--r--viewfeed.js2
6 files changed, 47 insertions, 4 deletions
diff --git a/backend.php b/backend.php
index 97ce7b11f..fe54e36a7 100644
--- a/backend.php
+++ b/backend.php
@@ -206,9 +206,11 @@
catchupArticleById($link, $id, 0);
}
- foreach ($cids as $cid) {
- if ($cid) {
- outputArticleXML($link, $cid, $feed_id, false);
+ if (!$_SESSION["bw_limit"]) {
+ foreach ($cids as $cid) {
+ if ($cid) {
+ outputArticleXML($link, $cid, $feed_id, false);
+ }
}
}
@@ -280,7 +282,7 @@
if ($_GET["debug"]) $timing_info = print_checkpoint("10", $timing_info);
- if (is_array($topmost_article_ids) && !get_pref($link, 'COMBINED_DISPLAY_MODE')) {
+ if (is_array($topmost_article_ids) && !get_pref($link, 'COMBINED_DISPLAY_MODE') && !$_SESSION["bw_limit"]) {
print "<articles>";
foreach ($topmost_article_ids as $id) {
outputArticleXML($link, $id, $feed, false);
diff --git a/feedlist.js b/feedlist.js
index 1cd784524..5ae604493 100644
--- a/feedlist.js
+++ b/feedlist.js
@@ -537,6 +537,8 @@ function request_counters() {
try {
+ if (getInitParam("bw_limit") == "1") return;
+
var date = new Date();
var timestamp = Math.round(date.getTime() / 1000);
diff --git a/functions.php b/functions.php
index b373ca91c..04ddaadbb 100644
--- a/functions.php
+++ b/functions.php
@@ -1848,6 +1848,7 @@
$_POST["password"] = "";
$_SESSION["language"] = $_POST["language"];
+ $_SESSION["bw_limit"] = !!$_POST["bw_limit"];
header("Location: " . $_SERVER["REQUEST_URI"]);
exit;
@@ -3014,6 +3015,9 @@
print "<param key=\"hide_feedlist\" value=\"" .
(int) get_pref($link, "HIDE_FEEDLIST") . "\"/>";
+ print "<param key=\"bw_limit\" value=\"".
+ (int) $_SESSION["bw_limit"]."\"/>";
+
print "</init-params>";
}
diff --git a/login_form.php b/login_form.php
index e3f0475b1..6f3c61aca 100644
--- a/login_form.php
+++ b/login_form.php
@@ -22,6 +22,12 @@ function init() {
var login = document.forms["loginForm"].login;
+ var limit_set = getCookie("ttrss_bwlimit");
+
+ if (limit_set == "true") {
+ document.forms["loginForm"].bw_limit.checked = true;
+ }
+
login.focus();
}
@@ -37,6 +43,18 @@ function languageChange(elem) {
}
}
+function bwLimitChange(elem) {
+ try {
+ var limit_set = elem.checked;
+
+ setCookie("ttrss_bwlimit", limit_set,
+ <?php print SESSION_COOKIE_LIFETIME ?>);
+
+ } catch (e) {
+ exception_error("bwLimitChange", e);
+ }
+}
+
function validateLoginForm(f) {
try {
@@ -100,6 +118,7 @@ window.onload = init;
<input type="checkbox" name="remember_me" id="remember_me">
<label for="remember_me">Remember me on this computer</label>
</td></tr> -->
+
<tr><td colspan="2" align="right" class="innerLoginCell">
<?php if (defined('_ENABLE_REGISTRATION')) { ?>
@@ -111,6 +130,18 @@ window.onload = init;
<input type="hidden" name="rt"
value="<?php if ($return_to != 'none') { echo $return_to; } ?>">
</td></tr>
+
+ <tr><td colspan="2" align="right" class="innerLoginCell">
+
+ <div class="small">
+ <input name="bw_limit" id="bw_limit" type="checkbox"
+ onchange="bwLimitChange(this)">
+ <label for="bw_limit">
+ <?php echo __("Limit bandwidth use") ?></label></div>
+
+ </td></tr>
+
+
</table>
</td>
</tr><tr>
diff --git a/tt-rss.js b/tt-rss.js
index 570be5e57..3c9ce336e 100644
--- a/tt-rss.js
+++ b/tt-rss.js
@@ -259,6 +259,8 @@ function viewfeed(feed, subop) {
}
function timeout() {
+ if (getInitParam("bw_limit") == "1") return;
+
scheduleFeedUpdate(false);
var refresh_time = getInitParam("feeds_frame_refresh");
diff --git a/viewfeed.js b/viewfeed.js
index 758fa6ad9..6e788cff3 100644
--- a/viewfeed.js
+++ b/viewfeed.js
@@ -1562,6 +1562,8 @@ function preload_article_callback(transport) {
function preloadArticleUnderPointer(id) {
try {
+ if (getInitParam("bw_limit") == "1") return;
+
if (post_under_pointer == id && !cache_check(id)) {
debug("trying to preload article " + id);