X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=includes%2FJsHttpRequest.php;h=59d5b86edf168aeb34ffcd55a07543acd21a98bc;hb=ee0dff4cdf462ac0476531181ad61ff7f9db1c6c;hp=1ef9a815e65ae288e980250a112a533e5daa7279;hpb=ebc600101ceab69c06eac4b1bd4d1782af45de05;p=fa-stable.git diff --git a/includes/JsHttpRequest.php b/includes/JsHttpRequest.php index 1ef9a815..59d5b86e 100644 --- a/includes/JsHttpRequest.php +++ b/includes/JsHttpRequest.php @@ -63,7 +63,7 @@ class JsHttpRequest * If an object is created WITHOUT an active AJAX query, it is simply marked as * non-active. Use statuc method isActive() to check. */ - function JsHttpRequest($enc) + function __construct($enc) { global $JsHttpRequest_Active; @@ -71,7 +71,7 @@ class JsHttpRequest $GLOBALS['_RESULT'] =& $this->RESULT; // Parse QUERY_STRING. - if (preg_match('/^(.*)(?:&|^)JsHttpRequest=(?:(\d+)-)?([^&]+)((?:&|$).*)$/s', @$_SERVER['QUERY_STRING'], $m)) { + if (array_key_exists('QUERY_STRING', $_SERVER) && preg_match('/^(.*)(?:&|^)JsHttpRequest=(?:(\d+)-)?([^&]+)((?:&|$).*)$/s', @$_SERVER['QUERY_STRING'], $m)) { $this->ID = $m[2]; $this->LOADER = strtolower($m[3]); $_SERVER['QUERY_STRING'] = preg_replace('/^&+|&+$/s', '', preg_replace('/(^|&)'.session_name().'=[^&]*&?/s', '&', $m[1] . $m[4])); @@ -187,7 +187,7 @@ class JsHttpRequest if ($this->SCRIPT_DECODE_MODE == 'entities') return str_replace(array('"', '<', '>'), array('"', '<', '>'), $s); else - return htmlspecialchars($s); + return html_specials_encode($s); } @@ -266,12 +266,14 @@ class JsHttpRequest '_POST'=> $rawPost, ); foreach ($source as $dst=>$src) { - // First correct all 2-byte entities. - $s = preg_replace('/%(?!5B)(?!5D)([0-9a-f]{2})/si', '%u00\\1', $src); - // Now we can use standard parse_str() with no worry! - $data = null; - parse_str($s, $data); - $GLOBALS[$dst] = $this->_ucs2EntitiesDecode($data); + if ($src != NULL) { + // First correct all 2-byte entities. + $s = preg_replace('/%(?!5B)(?!5D)([0-9a-f]{2})/si', '%u00\\1', $src); + // Now we can use standard parse_str() with no worry! + $data = null; + parse_str($s, $data); + $GLOBALS[$dst] = $this->_ucs2EntitiesDecode($data); + } } $GLOBALS['HTTP_GET_VARS'] = $_GET; // deprecated vars $GLOBALS['HTTP_POST_VARS'] = $_POST;