diff -r 5e7a0fedabdf -r 877f952ae2bd web/lib/Zend/Controller/Action/Helper/Json.php --- 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); } }