* This backend library also supports POST requests additionally to GET.
*
* @author Dmitry Koterov
- * @version 5.x $Id$
+ * @version 5.x
*/
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;
$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]));
if ($this->SCRIPT_DECODE_MODE == 'entities')
return str_replace(array('"', '<', '>'), array('"', '<', '>'), $s);
else
- return htmlspecialchars($s);
+ return html_specials_encode($s);
}
$result = array();
if ($isList) {
foreach ($a as $v) {
- $result[] = JsHttpRequest::php2js($v);
+ $result[] = $this->php2js($v);
}
return '[ ' . join(', ', $result) . ' ]';
} else {
foreach ($a as $k => $v) {
- $result[] = JsHttpRequest::php2js($k) . ': ' . JsHttpRequest::php2js($v);
+ $result[] = $this->php2js($k) . ': ' . $this->php2js($v);
}
return '{ ' . join(', ', $result) . ' }';
}