aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorredmatrix <git@macgirvin.com>2016-04-12 22:55:26 -0700
committerredmatrix <git@macgirvin.com>2016-04-12 22:55:26 -0700
commit91cc36514306e827c126ceed6c17486c85f5544c (patch)
treebb763fc5e2bb5e3becbce685efc977acb63b5979
parentf4a27afee9c1dc12afd2a15adef9f33654fa5ddd (diff)
downloadvolse-hubzilla-91cc36514306e827c126ceed6c17486c85f5544c.tar.gz
volse-hubzilla-91cc36514306e827c126ceed6c17486c85f5544c.tar.bz2
volse-hubzilla-91cc36514306e827c126ceed6c17486c85f5544c.zip
reverse the logic of the jsenabled setting so that sessions without js are performance penalised instead of regular sessions.
-rw-r--r--Zotlabs/Web/Session.php4
-rwxr-xr-xboot.php1
-rwxr-xr-xindex.php13
-rw-r--r--mod/channel.php10
-rw-r--r--mod/display.php12
-rw-r--r--mod/network.php2
-rw-r--r--mod/nojs.php9
-rwxr-xr-xview/tpl/head.tpl1
8 files changed, 26 insertions, 26 deletions
diff --git a/Zotlabs/Web/Session.php b/Zotlabs/Web/Session.php
index 55536fdc7..f998df396 100644
--- a/Zotlabs/Web/Session.php
+++ b/Zotlabs/Web/Session.php
@@ -85,8 +85,8 @@ class Session {
else
logger('no session handler');
- if (x($_COOKIE, 'jsAvailable')) {
- setcookie('jsAvailable', $_COOKIE['jsAvailable'], $newxtime);
+ if (x($_COOKIE, 'jsdisabled')) {
+ setcookie('jsdisabled', $_COOKIE['jsdisabled'], $newxtime);
}
setcookie(session_name(),session_id(),$newxtime);
diff --git a/boot.php b/boot.php
index 682eafd59..e9fe29696 100755
--- a/boot.php
+++ b/boot.php
@@ -1065,6 +1065,7 @@ class App {
self::$page['htmlhead'] = replace_macros($tpl, array(
'$preload_images' => $preload_images,
'$user_scalable' => $user_scalable,
+ '$query' => urlencode(self::$query_string),
'$baseurl' => self::get_baseurl(),
'$local_channel' => local_channel(),
'$metas' => self::$meta->get(),
diff --git a/index.php b/index.php
index 025d84063..278be154c 100755
--- a/index.php
+++ b/index.php
@@ -149,19 +149,8 @@ $Router = new Zotlabs\Web\Router($a);
if(! x(App::$page, 'content'))
App::$page['content'] = '';
+call_hooks('page_content_top', App::$page['content']);
-if(! (App::$module === 'setup')) {
- /* set JS cookie */
- if($_COOKIE['jsAvailable'] != 1) {
- App::$page['content'] .= '<script>document.cookie="jsAvailable=1; path=/"; var jsMatch = /\&JS=1/; if (!jsMatch.exec(location.href)) { location.href = location.href + "&JS=1"; }</script>';
- /* emulate JS cookie if cookies are not accepted */
- if ($_GET['JS'] == 1) {
- $_COOKIE['jsAvailable'] = 1;
- }
- }
-
- call_hooks('page_content_top', App::$page['content']);
-}
$Router->Dispatch($a);
diff --git a/mod/channel.php b/mod/channel.php
index 2ef911bbb..9119f91a6 100644
--- a/mod/channel.php
+++ b/mod/channel.php
@@ -209,7 +209,7 @@ function channel_content(&$a, $update = 0, $load = false) {
App::set_pager_itemspage(((intval($itemspage)) ? $itemspage : 20));
$pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval(App::$pager['itemspage']), intval(App::$pager['start']));
- if($load || ($_COOKIE['jsAvailable'] != 1)) {
+ if($load || ($_COOKIE['jsdisabled'] == 1)) {
if ($mid) {
$r = q("SELECT parent AS item_id from item where mid = '%s' and uid = %d $item_normal
AND item_wall = 1 $sql_extra limit 1",
@@ -338,13 +338,13 @@ function channel_content(&$a, $update = 0, $load = false) {
}
- if($_COOKIE['jsAvailable'] == 1) {
- $o .= conversation($a,$items,'channel',$update,$page_mode);
- } else {
+ if($_COOKIE['jsdisabled'] == 1) {
$o .= conversation($a,$items,'channel',$update,'traditional');
+ } else {
+ $o .= conversation($a,$items,'channel',$update,$page_mode);
}
- if((! $update) || ($_COOKIE['jsAvailable'] != 1)) {
+ if((! $update) || ($_COOKIE['jsdisabled'] == 1)) {
$o .= alt_pager($a,count($items));
if ($mid && $items[0]['title'])
App::$page['title'] = $items[0]['title'] . " - " . App::$page['title'];
diff --git a/mod/display.php b/mod/display.php
index ef140d454..9c50eb9c0 100644
--- a/mod/display.php
+++ b/mod/display.php
@@ -168,13 +168,13 @@ function display_content(&$a, $update = 0, $load = false) {
$sql_extra = public_permissions_sql($observer_hash);
- if(($update && $load) || ($_COOKIE['jsAvailable'] != 1)) {
+ if(($update && $load) || ($_COOKIE['jsdisabled'] == 1)) {
$updateable = false;
$pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval(App::$pager['itemspage']),intval(App::$pager['start']));
- if($load || ($_COOKIE['jsAvailable'] != 1)) {
+ if($load || ($_COOKIE['jsdisabled'] == 1)) {
$r = null;
require_once('include/identity.php');
@@ -290,13 +290,13 @@ function display_content(&$a, $update = 0, $load = false) {
}
- if ($_COOKIE['jsAvailable'] == 1) {
- $o .= conversation($a, $items, 'display', $update, 'client');
- } else {
+ if ($_COOKIE['jsdisabled'] == 1) {
$o .= conversation($a, $items, 'display', $update, 'traditional');
if ($items[0]['title'])
App::$page['title'] = $items[0]['title'] . " - " . App::$page['title'];
-
+ }
+ else {
+ $o .= conversation($a, $items, 'display', $update, 'client');
}
if($updateable) {
diff --git a/mod/network.php b/mod/network.php
index 5465cd064..e6d02f572 100644
--- a/mod/network.php
+++ b/mod/network.php
@@ -13,7 +13,7 @@ function network_init(&$a) {
return;
}
- if((count($_GET) < 2) || (count($_GET) < 3 && $_GET['JS'])) {
+ if(count($_GET) < 2) {
$network_options = get_pconfig(local_channel(),'system','network_page_default');
if($network_options)
goaway('network' . '?f=&' . $network_options);
diff --git a/mod/nojs.php b/mod/nojs.php
new file mode 100644
index 000000000..3d894d13e
--- /dev/null
+++ b/mod/nojs.php
@@ -0,0 +1,9 @@
+<?php
+
+function nojs_init(&$a) {
+
+ setcookie('jsdisabled', 1, 0);
+ $p = $_GET['query'];
+ goaway(z_root() . (($p) ? '/' . $p : ''));
+
+} \ No newline at end of file
diff --git a/view/tpl/head.tpl b/view/tpl/head.tpl
index ab229eaf7..7984723b3 100755
--- a/view/tpl/head.tpl
+++ b/view/tpl/head.tpl
@@ -1,6 +1,7 @@
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<base href="{{$baseurl}}/" />
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable={{$user_scalable}}" />
+<noscript><meta http-equiv="refresh" content="0; url=nojs.php&redir={{$query}}"></noscript>
{{$metas}}
<!--[if IE]>
<script src="{{$baseurl}}/library/html5.js"></script>