aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorzotlabs <mike@macgirvin.com>2016-11-01 20:21:39 -0700
committerzotlabs <mike@macgirvin.com>2016-11-01 20:21:39 -0700
commitca948d66a901677665c7a5983dc438918d7fb1c9 (patch)
tree93c97a7d61a80418cab6cf68ad322e784ab121a5
parentfa8cb40af0457ed9ad418be2ba64dc221cbaa842 (diff)
downloadvolse-hubzilla-ca948d66a901677665c7a5983dc438918d7fb1c9.tar.gz
volse-hubzilla-ca948d66a901677665c7a5983dc438918d7fb1c9.tar.bz2
volse-hubzilla-ca948d66a901677665c7a5983dc438918d7fb1c9.zip
feature: static page update as opposed to live update of conversations on the page. Changes will be queued until the page is reloaded. There may or may not be notifications of pending activity updates depending on your notification preferences. Endless scrolling (append) is still performed either way. This only affects changed and new/unseen items being inserted into the page.
-rw-r--r--Zotlabs/Module/Channel.php1
-rw-r--r--Zotlabs/Module/Display.php2
-rw-r--r--Zotlabs/Module/Network.php1
-rw-r--r--Zotlabs/Module/Pubstream.php3
-rw-r--r--Zotlabs/Module/Search.php3
-rw-r--r--include/features.php9
-rw-r--r--view/js/main.js7
-rwxr-xr-xview/tpl/build_query.tpl1
8 files changed, 27 insertions, 0 deletions
diff --git a/Zotlabs/Module/Channel.php b/Zotlabs/Module/Channel.php
index ef5399e75..e8bc53b5e 100644
--- a/Zotlabs/Module/Channel.php
+++ b/Zotlabs/Module/Channel.php
@@ -304,6 +304,7 @@ class Channel extends \Zotlabs\Web\Controller {
'$nouveau' => '0',
'$wall' => '1',
'$fh' => '0',
+ '$static' => intval(feature_enabled(\App::$profile['profile_uid'],'static_updates')),
'$page' => ((\App::$pager['page'] != 1) ? \App::$pager['page'] : 1),
'$search' => '',
'$order' => '',
diff --git a/Zotlabs/Module/Display.php b/Zotlabs/Module/Display.php
index 3d3609ee0..42bb6fe14 100644
--- a/Zotlabs/Module/Display.php
+++ b/Zotlabs/Module/Display.php
@@ -130,6 +130,7 @@ class Display extends \Zotlabs\Web\Controller {
if($load)
$simple_update = '';
+ $static = ((local_channel()) ? intval(feature_enabled(local_channel(),'static_updates')) : 0);
if((! $update) && (! $load)) {
@@ -154,6 +155,7 @@ class Display extends \Zotlabs\Web\Controller {
'$fh' => '0',
'$nouveau' => '0',
'$wall' => '0',
+ '$static' => $static,
'$page' => ((\App::$pager['page'] != 1) ? \App::$pager['page'] : 1),
'$list' => ((x($_REQUEST,'list')) ? intval($_REQUEST['list']) : 0),
'$search' => '',
diff --git a/Zotlabs/Module/Network.php b/Zotlabs/Module/Network.php
index 99573ad69..206761fc8 100644
--- a/Zotlabs/Module/Network.php
+++ b/Zotlabs/Module/Network.php
@@ -295,6 +295,7 @@ class Network extends \Zotlabs\Web\Controller {
'$fh' => (($firehose) ? $firehose : '0'),
'$nouveau' => (($nouveau) ? $nouveau : '0'),
'$wall' => '0',
+ '$static' => intval(feature_enabled(local_channel(),'static_updates')),
'$list' => ((x($_REQUEST,'list')) ? intval($_REQUEST['list']) : 0),
'$page' => ((\App::$pager['page'] != 1) ? \App::$pager['page'] : 1),
'$search' => (($search) ? $search : ''),
diff --git a/Zotlabs/Module/Pubstream.php b/Zotlabs/Module/Pubstream.php
index 312be7718..e354be8c3 100644
--- a/Zotlabs/Module/Pubstream.php
+++ b/Zotlabs/Module/Pubstream.php
@@ -21,6 +21,8 @@ class Pubstream extends \Zotlabs\Web\Controller {
return;
$item_normal = item_normal();
+
+ $static = ((local_channel()) ? intval(feature_enabled(local_channel(),'static_updates')) : 0);
if(! $update) {
@@ -49,6 +51,7 @@ class Pubstream extends \Zotlabs\Web\Controller {
'$nouveau' => '0',
'$wall' => '0',
'$list' => '0',
+ '$static' => $static,
'$page' => ((\App::$pager['page'] != 1) ? \App::$pager['page'] : 1),
'$search' => '',
'$order' => 'comment',
diff --git a/Zotlabs/Module/Search.php b/Zotlabs/Module/Search.php
index 02f1d8bb6..796f95d6e 100644
--- a/Zotlabs/Module/Search.php
+++ b/Zotlabs/Module/Search.php
@@ -96,6 +96,8 @@ class Search extends \Zotlabs\Web\Controller {
// OR your own posts if you are a logged in member
// No items will be shown if the member has a blocked profile wall.
+ $static = ((local_channel()) ? intval(feature_enabled(local_channel(),'static_updates')) : 0);
+
if((! $update) && (! $load)) {
// This is ugly, but we can't pass the profile_uid through the session to the ajax updater,
@@ -120,6 +122,7 @@ class Search extends \Zotlabs\Web\Controller {
'$fh' => '0',
'$nouveau' => '0',
'$wall' => '0',
+ '$static' => $static,
'$list' => ((x($_REQUEST,'list')) ? intval($_REQUEST['list']) : 0),
'$page' => ((\App::$pager['page'] != 1) ? \App::$pager['page'] : 1),
'$search' => (($tag) ? urlencode('#') : '') . $search,
diff --git a/include/features.php b/include/features.php
index 1ccdbf015..83a9c9178 100644
--- a/include/features.php
+++ b/include/features.php
@@ -157,6 +157,15 @@ function get_features($filtered = true) {
feature_level('smart_birthdays',2),
],
+ [
+ 'static_updates',
+ t('Manual Page Updates'),
+ t('Off = automatically update changing conversations. On = Wait until the page is re-loaded.'),
+ false,
+ get_config('feature_lock','static_updates'),
+ feature_level('static_updates',1),
+ ],
+
[
'advanced_dirsearch',
t('Advanced Directory Search'),
diff --git a/view/js/main.js b/view/js/main.js
index 5435dfd87..0aee072f6 100644
--- a/view/js/main.js
+++ b/view/js/main.js
@@ -754,6 +754,13 @@ function liveUpdate() {
update_mode = 'append';
}
else {
+ if(bParam_static) {
+ in_progress = false;
+ if(timer) clearTimeout(timer);
+ timer = setTimeout(NavUpdate,10000);
+ return;
+ }
+
update_mode = 'update';
var orgHeight = $("#region_2").height();
}
diff --git a/view/tpl/build_query.tpl b/view/tpl/build_query.tpl
index 62f81b618..f3e4f79e2 100755
--- a/view/tpl/build_query.tpl
+++ b/view/tpl/build_query.tpl
@@ -17,6 +17,7 @@
var bParam_wall = {{$wall}};
var bParam_list = {{$list}};
var bParam_fh = {{$fh}};
+ var bParam_static = {{$static}};
var bParam_search = "{{$search}}";
var bParam_order = "{{$order}}";