* Modify the storage method of cookies.
This commit is contained in:
+6
-17
@@ -12,7 +12,6 @@ $filter->rules->browseType = '/^by\w+$/i';
|
||||
$filter->rules->word = '/^\w+$/';
|
||||
$filter->rules->paramName = '/^[a-zA-Z0-9_\.]+$/';
|
||||
$filter->rules->paramValue = '/^[a-zA-Z0-9=_,`#+\^\/\.%\|\x7f-\xff\-]+$/';
|
||||
$filter->rules->url = '/((http|https):\/\/)(([a-zA-Z0-9\._-]+\.[a-zA-Z]{2,6})|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(:[0-9]{1,4})*(\/[a-zA-Z0-9\&%_\.\/-~-]*)?/';
|
||||
|
||||
$filter->default = new stdclass();
|
||||
$filter->default->moduleName = 'code';
|
||||
@@ -23,22 +22,12 @@ $filter->default->paramValue = 'reg::paramValue';
|
||||
$filter->default->get['onlybody'] = 'equal::yes';
|
||||
$filter->default->get['HTTP_X_REQUESTED_WITH'] = 'equal::XMLHttpRequest';
|
||||
|
||||
$filter->default->cookie['lang'] = 'reg::lang';
|
||||
$filter->default->cookie['theme'] = 'reg::word';
|
||||
$filter->default->cookie['fingerprint'] = 'reg::word';
|
||||
$filter->default->cookie['hideMenu'] = 'equal::true';
|
||||
$filter->default->cookie['openApp'] = 'reg::word';
|
||||
$filter->default->cookie['myGoback'] = 'reg::url';
|
||||
$filter->default->cookie['programGoback'] = 'reg::url';
|
||||
$filter->default->cookie['productGoback'] = 'reg::url';
|
||||
$filter->default->cookie['projectGoback'] = 'reg::url';
|
||||
$filter->default->cookie['executionGoback'] = 'reg::url';
|
||||
$filter->default->cookie['qaGoback'] = 'reg::url';
|
||||
$filter->default->cookie['devopsGoback'] = 'reg::url';
|
||||
$filter->default->cookie['docGoback'] = 'reg::url';
|
||||
$filter->default->cookie['reportGoback'] = 'reg::url';
|
||||
$filter->default->cookie['systemGoback'] = 'reg::url';
|
||||
$filter->default->cookie['adminGoback'] = 'reg::url';
|
||||
$filter->default->cookie['lang'] = 'reg::lang';
|
||||
$filter->default->cookie['theme'] = 'reg::word';
|
||||
$filter->default->cookie['fingerprint'] = 'reg::word';
|
||||
$filter->default->cookie['hideMenu'] = 'equal::true';
|
||||
$filter->default->cookie['openApp'] = 'reg::word';
|
||||
$filter->default->cookie['goback'] = 'reg::any';
|
||||
|
||||
$filter->my = new stdclass();
|
||||
$filter->bug = new stdclass();
|
||||
|
||||
@@ -497,18 +497,20 @@ class baseHTML
|
||||
}
|
||||
|
||||
$referer = $_SERVER['HTTP_REFERER'];
|
||||
$refererArray = parse_url($referer);
|
||||
$refererLink = $config->requestType == 'PATH_INFO' ? $refererArray['path'] : $refererArray['query'];
|
||||
$refererParts = parse_url($referer);
|
||||
$refererLink = $config->requestType == 'PATH_INFO' ? $refererParts['path'] : $refererParts['query'];
|
||||
$currentModule = $app->getModuleName();
|
||||
$currentMethod = $app->getMethodName();
|
||||
$gobackCookie = $_COOKIE['openApp'] . 'Goback';
|
||||
$gobackLink = isset($_COOKIE[$gobackCookie]) ? $_COOKIE[$gobackCookie] : '';
|
||||
$tab = $_COOKIE['openApp'];
|
||||
$gobackList = isset($_COOKIE['goback']) ? json_decode($_COOKIE['goback'], true) : array();
|
||||
$gobackLink = isset($gobackList[$tab]) ? $gobackList[$tab] : '';
|
||||
|
||||
/* If the link of the referer is not the link of the current page or the link of the index, the cookie and gobackLink will be updated. */
|
||||
if(!preg_match("/(m=|\/)(index|$currentModule)(&f=|-)(index|$currentMethod)(&|-|\.)?/", $refererLink))
|
||||
{
|
||||
setcookie($gobackCookie, $referer, $config->cookieLife, $config->webRoot, '', $config->cookieSecure, false);
|
||||
$gobackLink = $referer;
|
||||
$gobackList[$tab] = $referer;
|
||||
$gobackLink = $referer;
|
||||
setcookie('goback', json_encode($gobackList), $config->cookieLife, $config->webRoot, '', $config->cookieSecure, false);
|
||||
}
|
||||
|
||||
return "<a href='{$gobackLink}' class='btn btn-back $class' $misc>{$label}</a>";
|
||||
|
||||
Reference in New Issue
Block a user