diff options
author | redmatrix <git@macgirvin.com> | 2016-04-20 22:10:00 -0700 |
---|---|---|
committer | redmatrix <git@macgirvin.com> | 2016-04-20 22:10:00 -0700 |
commit | 2b0a04ea9e91196e2966844be0f6b673bd87f032 (patch) | |
tree | 990e011709cbe2dc18cf3c3c756e50e6e15b5c43 | |
parent | f00a701ad104737fd3a25eabec88ec47b9ce8a32 (diff) | |
download | volse-hubzilla-2b0a04ea9e91196e2966844be0f6b673bd87f032.tar.gz volse-hubzilla-2b0a04ea9e91196e2966844be0f6b673bd87f032.tar.bz2 volse-hubzilla-2b0a04ea9e91196e2966844be0f6b673bd87f032.zip |
revert the reversal of checkjs logic, but still restrict the behaviour scope to just those urls that require it
-rw-r--r-- | Zotlabs/Module/Channel.php | 2 | ||||
-rw-r--r-- | Zotlabs/Module/Display.php | 2 | ||||
-rw-r--r-- | Zotlabs/Module/Nojs.php | 8 | ||||
-rw-r--r-- | Zotlabs/Web/CheckJS.php | 15 |
4 files changed, 20 insertions, 7 deletions
diff --git a/Zotlabs/Module/Channel.php b/Zotlabs/Module/Channel.php index cae561266..36f13e775 100644 --- a/Zotlabs/Module/Channel.php +++ b/Zotlabs/Module/Channel.php @@ -57,7 +57,7 @@ function get($update = 0, $load = false) { if($load) $_SESSION['loadtime'] = datetime_convert(); - $checkjs = new \Zotlabs\Web\CheckJS(); + $checkjs = new \Zotlabs\Web\CheckJS(1); $category = $datequery = $datequery2 = ''; diff --git a/Zotlabs/Module/Display.php b/Zotlabs/Module/Display.php index 3d24c6c9a..2a5a04a2a 100644 --- a/Zotlabs/Module/Display.php +++ b/Zotlabs/Module/Display.php @@ -10,7 +10,7 @@ class Display extends \Zotlabs\Web\Controller { // logger("mod-display: update = $update load = $load"); - $checkjs = new \Zotlabs\Web\CheckJS(); + $checkjs = new \Zotlabs\Web\CheckJS(1); if($load) diff --git a/Zotlabs/Module/Nojs.php b/Zotlabs/Module/Nojs.php index 5e48c5b5f..6fd6d8106 100644 --- a/Zotlabs/Module/Nojs.php +++ b/Zotlabs/Module/Nojs.php @@ -5,11 +5,11 @@ namespace Zotlabs\Module; class Nojs extends \Zotlabs\Web\Controller { function init() { - - setcookie('jsdisabled', 1, 0); - $p = $_GET['query']; + $n = ((argc() > 1) ? intval(argv(1)) : 1); + setcookie('jsdisabled', $n, 0, '/'); + $p = $_GET['redir']; $hasq = strpos($p,'?'); - goaway(z_root() . (($p) ? '/' . $p : '') . (($hasq) ? '' : '?f=' ) . '&jsdisabled=1'); + goaway(z_root() . (($p) ? '/' . $p : '') . (($hasq) ? '' : '?f=' ) . '&jsdisabled=' . $n); } } diff --git a/Zotlabs/Web/CheckJS.php b/Zotlabs/Web/CheckJS.php index 3ad5fc1ed..50af34a40 100644 --- a/Zotlabs/Web/CheckJS.php +++ b/Zotlabs/Web/CheckJS.php @@ -10,14 +10,27 @@ class CheckJS { function __construct($test = 0) { if(intval($_REQUEST['jsdisabled'])) $this->jsdisabled = 1; + else + $this->jsdisabled = 0; if(intval($_COOKIE['jsdisabled'])) $this->jsdisabled = 1; + else + $this->jsdisabled = 0; if(! $this->jsdisabled) { $page = urlencode(\App::$query_string); if($test) { - \App::$page['htmlhead'] .= "\r\n" . '<meta http-equiv="refresh" content="0; url=' . z_root() . '/nojs?f=&redir=' . $page . '">' . "\r\n"; + + logger('page=' . $page); + + if($_COOKIE['jsdisabled'] == 0) { + \App::$page['htmlhead'] .= "\r\n" . '<script>document.cookie="jsdisabled=0; path=/"; var jsMatch = /\&jsdisabled=0/; if (!jsMatch.exec(location.href)) { location.href = "' . z_root() . '/nojs/0?f=&redir=' . $page . '" ; }</script>' . "\r\n"; + /* emulate JS cookie if cookies are not accepted */ + if ($_GET['jsdisabled'] == 0) { + $_COOKIE['jsdisabled'] = 0; + } + } } else { \App::$page['htmlhead'] .= "\r\n" . '<noscript><meta http-equiv="refresh" content="0; url=' . z_root() . '/nojs?f=&redir=' . $page . '"></noscript>' . "\r\n"; |