|
|
@@ -53,23 +53,24 @@ class Zend_Controller_Action_Helper_Json extends Zend_Controller_Action_Helper_A
|
|
|
* @param mixed $data
|
|
|
* @param boolean $keepLayouts
|
|
|
* @param boolean|array $keepLayouts
|
|
|
+ * @param boolean $encodeData Provided data is already JSON
|
|
|
* NOTE: if boolean, establish $keepLayouts to true|false
|
|
|
* if array, admit params for Zend_Json::encode as enableJsonExprFinder=>true|false
|
|
|
* if $keepLayouts and parmas for Zend_Json::encode are required
|
|
|
- * then, the array can contains a 'keepLayout'=>true|false
|
|
|
+ * then, the array can contains a 'keepLayout'=>true|false and/or 'encodeData'=>true|false
|
|
|
* that will not be passed to Zend_Json::encode method but will be passed
|
|
|
* to Zend_View_Helper_Json
|
|
|
* @throws Zend_Controller_Action_Helper_Json
|
|
|
* @return string
|
|
|
*/
|
|
|
- public function encodeJson($data, $keepLayouts = false)
|
|
|
+ public function encodeJson($data, $keepLayouts = false, $encodeData = true)
|
|
|
{
|
|
|
/**
|
|
|
* @see Zend_View_Helper_Json
|
|
|
*/
|
|
|
require_once 'Zend/View/Helper/Json.php';
|
|
|
$jsonHelper = new Zend_View_Helper_Json();
|
|
|
- $data = $jsonHelper->json($data, $keepLayouts);
|
|
|
+ $data = $jsonHelper->json($data, $keepLayouts, $encodeData);
|
|
|
|
|
|
if (!$keepLayouts) {
|
|
|
/**
|
|
|
@@ -87,17 +88,18 @@ class Zend_Controller_Action_Helper_Json extends Zend_Controller_Action_Helper_A
|
|
|
*
|
|
|
* @param mixed $data
|
|
|
* @param boolean|array $keepLayouts
|
|
|
+ * @param $encodeData Encode $data as JSON?
|
|
|
* NOTE: if boolean, establish $keepLayouts to true|false
|
|
|
* if array, admit params for Zend_Json::encode as enableJsonExprFinder=>true|false
|
|
|
* if $keepLayouts and parmas for Zend_Json::encode are required
|
|
|
- * then, the array can contains a 'keepLayout'=>true|false
|
|
|
+ * then, the array can contains a 'keepLayout'=>true|false and/or 'encodeData'=>true|false
|
|
|
* that will not be passed to Zend_Json::encode method but will be passed
|
|
|
* to Zend_View_Helper_Json
|
|
|
* @return string|void
|
|
|
*/
|
|
|
- public function sendJson($data, $keepLayouts = false)
|
|
|
+ public function sendJson($data, $keepLayouts = false, $encodeData = true)
|
|
|
{
|
|
|
- $data = $this->encodeJson($data, $keepLayouts);
|
|
|
+ $data = $this->encodeJson($data, $keepLayouts, $encodeData);
|
|
|
$response = $this->getResponse();
|
|
|
$response->setBody($data);
|
|
|
|
|
|
@@ -118,13 +120,14 @@ class Zend_Controller_Action_Helper_Json extends Zend_Controller_Action_Helper_A
|
|
|
* @param mixed $data
|
|
|
* @param boolean $sendNow
|
|
|
* @param boolean $keepLayouts
|
|
|
+ * @param boolean $encodeData Encode $data as JSON?
|
|
|
* @return string|void
|
|
|
*/
|
|
|
- public function direct($data, $sendNow = true, $keepLayouts = false)
|
|
|
+ public function direct($data, $sendNow = true, $keepLayouts = false, $encodeData = true)
|
|
|
{
|
|
|
if ($sendNow) {
|
|
|
- return $this->sendJson($data, $keepLayouts);
|
|
|
+ return $this->sendJson($data, $keepLayouts, $encodeData);
|
|
|
}
|
|
|
- return $this->encodeJson($data, $keepLayouts);
|
|
|
+ return $this->encodeJson($data, $keepLayouts, $encodeData);
|
|
|
}
|
|
|
}
|