/** * @param mixed $data * @param bool $sendNow * @param bool $keepLayouts * @param bool $encodeData * @return string|void */ public function direct($data, $sendNow = true, $keepLayouts = false, $encodeData = true) { if ($encodeData) { $data = \Pimcore\Tool\Serialize::removeReferenceLoops($data); } // hack for FCGI because ZF doesn't care of duplicate headers $this->getResponse()->clearHeader("Content-Type"); $this->suppressExit = !$sendNow; $d = $this->sendJson($data, $keepLayouts, $encodeData); return $d; }
public function encode($data, $returnData = false) { $data = \Pimcore\Tool\Serialize::removeReferenceLoops($data); $data = \Zend_Json::encode($data, null, array()); if ($returnData) { return $data; } else { $response = \Zend_Controller_Front::getInstance()->getResponse(); $response->setHeader('Content-Type', 'application/json', true); $response->setBody($data); $response->sendResponse(); exit; } }