--- a/web/lib/Zend/Controller/Action/Helper/Json.php Thu Mar 21 17:31:31 2013 +0100
+++ b/web/lib/Zend/Controller/Action/Helper/Json.php Thu Mar 21 19:50:53 2013 +0100
@@ -15,9 +15,9 @@
* @category Zend
* @package Zend_Controller
* @subpackage Zend_Controller_Action_Helper
- * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
+ * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
- * @version $Id: Json.php 20096 2010-01-06 02:05:09Z bkarwin $
+ * @version $Id: Json.php 24829 2012-05-30 12:31:39Z adamlundrigan $
*/
/**
@@ -32,7 +32,7 @@
* @category Zend
* @package Zend_Controller
* @subpackage Zend_Controller_Action_Helper
- * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
+ * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Controller_Action_Helper_Json extends Zend_Controller_Action_Helper_Abstract
@@ -53,23 +53,24 @@
* @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 @@
*
* @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 @@
* @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);
}
}