summaryrefslogtreecommitdiff
path: root/framework/Web
diff options
context:
space:
mode:
authorctrlaltca <ctrlaltca@gmail.com>2014-01-15 09:16:22 -0800
committerctrlaltca <ctrlaltca@gmail.com>2014-01-15 09:16:22 -0800
commit6132af7f7e528b42ec9aaceae710b6c4d3d4bdda (patch)
treea35bc379288e37e5296174edf194a7991243c882 /framework/Web
parent53ef46637f49ba745bb43c891cae593454502979 (diff)
parenta1669b2a7f2f681b1484a9e329c54f2d070bb69c (diff)
Merge pull request #495 from david0/master
Fix: do json_decode before decoding UTF8 to globalisations charset
Diffstat (limited to 'framework/Web')
-rw-r--r--framework/Web/UI/ActiveControls/TActivePageAdapter.php5
-rw-r--r--framework/Web/UI/TPage.php4
2 files changed, 6 insertions, 3 deletions
diff --git a/framework/Web/UI/ActiveControls/TActivePageAdapter.php b/framework/Web/UI/ActiveControls/TActivePageAdapter.php
index 8fd39766..bce3beb0 100644
--- a/framework/Web/UI/ActiveControls/TActivePageAdapter.php
+++ b/framework/Web/UI/ActiveControls/TActivePageAdapter.php
@@ -294,7 +294,7 @@ class TActivePageAdapter extends TControlAdapter
}
/**
- * Gets callback parameter. JSON encoding is assumed.
+ * Gets callback parameter.
* @return string postback event parameter
*/
public function getCallbackEventParameter()
@@ -302,8 +302,7 @@ class TActivePageAdapter extends TControlAdapter
if($this->_callbackEventParameter===null)
{
$param = $this->getRequest()->itemAt(TPage::FIELD_CALLBACK_PARAMETER);
- if(strlen($param) > 0)
- $this->_callbackEventParameter=TJavaScript::jsonDecode((string)$param);
+ $this->_callbackEventParameter=$param;
}
return $this->_callbackEventParameter;
}
diff --git a/framework/Web/UI/TPage.php b/framework/Web/UI/TPage.php
index 7f729543..2dc1cac3 100644
--- a/framework/Web/UI/TPage.php
+++ b/framework/Web/UI/TPage.php
@@ -302,6 +302,10 @@ class TPage extends TTemplateControl
$this->setAdapter(new TActivePageAdapter($this));
+ $callbackEventParameter = $this->getRequest()->itemAt(TPage::FIELD_CALLBACK_PARAMETER);
+ if(strlen($callbackEventParameter) > 0)
+ $this->_postData[TPage::FIELD_CALLBACK_PARAMETER]=TJavaScript::jsonDecode((string)$callbackEventParameter);
+
// Decode Callback postData from UTF-8 to current Charset
if (($g=$this->getApplication()->getGlobalization(false))!==null &&
strtoupper($enc=$g->getCharset())!='UTF-8')