From 026d6163773497c9e1fbc0677881e344a32f1e75 Mon Sep 17 00:00:00 2001 From: devjin Date: Thu, 18 Oct 2012 08:10:28 +0000 Subject: [PATCH] issue 2596 git-svn-id: http://xe-core.googlecode.com/svn/branches/maserati@11775 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- classes/context/Context.class.php | 19 +++++++++++++++++-- classes/display/JSCallbackDisplayHandler.php | 2 +- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/classes/context/Context.class.php b/classes/context/Context.class.php index 8d7a53b9a..d8b923695 100644 --- a/classes/context/Context.class.php +++ b/classes/context/Context.class.php @@ -21,6 +21,11 @@ class Context { * @var string GET|POST|XMLRPC */ var $request_method = 'GET'; + /** + * js callback function name. + * @var string + */ + var $js_callback_func = ''; /** * Response method.If it's not set, it follows request method. * @var string HTML|XMLRPC @@ -823,12 +828,12 @@ class Context { function setRequestMethod($type='') { is_a($this,'Context')?$self=&$this:$self=&Context::getInstance(); - $xe_js_callback = isset($_GET['xe_js_callback']) ? $_GET['xe_js_callback'] : $_POST['xe_js_callback']; + $self->js_callback_func = isset($_GET['xe_js_callback']) ? $_GET['xe_js_callback'] : $_POST['xe_js_callback']; ($type && $self->request_method=$type) or (strpos($_SERVER['CONTENT_TYPE'],'json') && $self->request_method='JSON') or ($GLOBALS['HTTP_RAW_POST_DATA'] && $self->request_method='XMLRPC') or - ($xe_js_callback && $self->request_method='JS_CALLBACK') or + ($self->js_callback_func && $self->request_method='JS_CALLBACK') or ($self->request_method = $_SERVER['REQUEST_METHOD']); } @@ -1020,6 +1025,16 @@ class Context { return $url; } + /** + * Return js callback func. + * @return string callback func. + */ + function getJSCallbackFunc() + { + is_a($this,'Context')?$self=&$this:$self=&Context::getInstance(); + return $self->js_callback_func; + } + /** * Make URL with args_list upon request URL * diff --git a/classes/display/JSCallbackDisplayHandler.php b/classes/display/JSCallbackDisplayHandler.php index c07fe2c41..b89cabc7f 100644 --- a/classes/display/JSCallbackDisplayHandler.php +++ b/classes/display/JSCallbackDisplayHandler.php @@ -12,7 +12,7 @@ class JSCallbackDisplayHandler{ $variables['error'] = $oModule->getError(); $variables['message'] = $oModule->getMessage(); $json = str_replace(array("\r\n","\n","\t"),array('\n','\n','\t'),json_encode2($variables)); - $output = sprintf('', Context::get('xe_js_callback'), $json); + $output = sprintf('', Context::getJSCallbackFunc(), $json); return $output; } }