diff options
author | redmatrix <git@macgirvin.com> | 2016-04-12 22:55:26 -0700 |
---|---|---|
committer | redmatrix <git@macgirvin.com> | 2016-04-12 22:55:26 -0700 |
commit | 91cc36514306e827c126ceed6c17486c85f5544c (patch) | |
tree | bb763fc5e2bb5e3becbce685efc977acb63b5979 | |
parent | f4a27afee9c1dc12afd2a15adef9f33654fa5ddd (diff) | |
download | volse-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.php | 4 | ||||
-rwxr-xr-x | boot.php | 1 | ||||
-rwxr-xr-x | index.php | 13 | ||||
-rw-r--r-- | mod/channel.php | 10 | ||||
-rw-r--r-- | mod/display.php | 12 | ||||
-rw-r--r-- | mod/network.php | 2 | ||||
-rw-r--r-- | mod/nojs.php | 9 | ||||
-rwxr-xr-x | view/tpl/head.tpl | 1 |
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); @@ -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(), @@ -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> |