public function process(Vtiger_Request $request) { $viewer = $this->getViewer($request); $moduleName = $request->getModule(); $qualifiedModuleName = $request->getModule(false); if (!$request->get("label") && !$request->get("block") || !$request->get("languages")) { //Make JSON response $response = new Vtiger_Response(); $response->setError('error-param', getTranslatedString("LBL_ERROR_PARAM", $moduleName)); $response->emit(); exit; } $languages = trim($request->get("languages")); $a_languages = explode(",", $languages); $a_block = $request->get("block"); //Repair bug with utf8 characters if (!is_array($a_block)) { $oldValue = Zend_Json::$useBuiltinEncoderDecoder; Zend_Json::$useBuiltinEncoderDecoder = true; $a_block = Zend_Json::decode($a_block); Zend_Json::$useBuiltinEncoderDecoder = $oldValue; foreach ($a_block as &$val) { $val = utf8_encode($val); } } $viewer->assign('MODULE', $moduleName); $viewer->assign('QUALIFIED_MODULE', $qualifiedModuleName); $viewer->assign('LIST_PARENT_TABS', $a_parent_tabs); $viewer->assign('LIST_MODULES', $a_modules); $viewer->assign('LIST_MANIFEST_TEMPLATES', $a_manifest_templates); $viewer->assign('LIST_DIR_TEMPLATES', $a_dir_templates); $viewer->assign('a_block', $a_block); $viewer->assign('a_languages', $a_languages); echo $viewer->view('EditBlockPopup.tpl', $qualifiedModuleName, true); }
/** * Get key value (otherwise default value) */ function get($key, $defvalue = '') { $value = $defvalue; if (isset($this->valuemap[$key])) { $value = $this->valuemap[$key]; } if ($value === '' && isset($this->defaultmap[$key])) { $value = $this->defaultmap[$key]; } $isJSON = false; if (is_string($value)) { // NOTE: Zend_Json or json_decode gets confused with big-integers (when passed as string) // and convert them to ugly exponential format - to overcome this we are performin a pre-check if (strpos($value, "[") === 0 || strpos($value, "{") === 0) { $isJSON = true; } } if ($isJSON) { $oldValue = Zend_Json::$useBuiltinEncoderDecoder; Zend_Json::$useBuiltinEncoderDecoder = false; $decodeValue = Zend_Json::decode($value); if (isset($decodeValue)) { $value = $decodeValue; } Zend_Json::$useBuiltinEncoderDecoder = $oldValue; } //Handled for null because vtlib_purify returns empty string if (!empty($value)) { $value = vtlib_purify($value); } return $value; }
public function testJsonWithBuiltins() { $u = Zend_Json::$useBuiltinEncoderDecoder; Zend_Json::$useBuiltinEncoderDecoder = true; $this->_testJson(array('string', 327, true, null)); Zend_Json::$useBuiltinEncoderDecoder = $u; }
function emitJSON() { // Allow use of native json encoder/decoder for better performance when the content is huge Zend_Json::$useBuiltinEncoderDecoder = true; $response = Zend_Json::encode($this->prepareResponse()); return $response; }
function _encodeResponse($data) { Zend_Json::$useBuiltinEncoderDecoder = true; if (self::$encoding != 'UTF-8') { array_walk_recursive($data, array(__CLASS__, 'encodingToUtf8'), self::$encoding); } return Zend_Json::encode($data); }
/** * Descriptografa a URL * * @param null $paramValue * @return mixed */ public static function decrypt($paramValue = NULL) { $_zendView = Zend_Controller_Front::getInstance(); if ($paramValue == NULL) { $_strUrl = base64_decode($_zendView->getRequest()->getParam('url')); } else { $_strUrl = base64_decode($paramValue); } Zend_Json::$useBuiltinEncoderDecoder = TRUE; return Zend_Json::decode($_strUrl); }
public function send() { Zend_Json::$useBuiltinEncoderDecoder = true; if ($this->getError()) { $this->setR('error'); } else { $this->setR('success'); } Mage::app()->getFrontController()->getResponse()->setHeader('Content-Type', 'text/plain')->setBody(Zend_Json::encode($this->getData())); Mage::app()->getFrontController()->getResponse()->sendResponse(); die; }
public function process(Vtiger_Request $request) { $GLOBALS['csrf']['frame-breaker'] = false; $viewer = $this->getViewer($request); $moduleName = $request->getModule(); $qualifiedModuleName = $request->getModule(false); if (!$request->get("customlink") && !$request->get("type") || !$request->get("languages")) { //Make JSON response $response = new Vtiger_Response(); $response->setError('error-param', getTranslatedString("LBL_ERROR_PARAM", $moduleName)); $response->emit(); } else { $languages = trim($request->get("languages")); $a_languages = explode(",", $languages); if ($request->get("customlink")) { $a_customLink = $request->get("customlink"); //Repair bug with utf8 characters if (!is_array($a_customLink)) { $oldValue = Zend_Json::$useBuiltinEncoderDecoder; Zend_Json::$useBuiltinEncoderDecoder = true; $a_customLink = Zend_Json::decode($a_customLink); Zend_Json::$useBuiltinEncoderDecoder = $oldValue; foreach ($a_customLink as &$val) { $val = utf8_encode($val); } } } if (empty($a_customLink)) { $a_customLink["type"] = ''; $a_customLink["label"] = ''; $a_customLink["url"] = ''; $a_customLink["icon"] = ''; $a_customLink["handlerPath"] = ''; $a_customLink["handlerClass"] = ''; $a_customLink["handler"] = ''; $a_customLink["type"] = $request->get('type'); foreach ($a_languages as $language) { $a_customLink["label_" . $language] = ''; } } $viewer->assign('MODULE', $moduleName); $viewer->assign('QUALIFIED_MODULE', $qualifiedModuleName); $viewer->assign('a_customLink', $a_customLink); $viewer->assign('a_languages', $a_languages); echo $viewer->view('EditCustomLinkPopup.tpl', $qualifiedModuleName, true); } }
public function process(Vtiger_Request $request) { $GLOBALS['csrf']['frame-breaker'] = false; $viewer = $this->getViewer($request); $moduleName = $request->getModule(); $qualifiedModuleName = $request->getModule(false); if (!$request->get("relatedlist") && !$request->get("relmodule") || !$request->get("languages")) { //Make JSON response $response = new Vtiger_Response(); $response->setError('error-param', getTranslatedString("LBL_ERROR_PARAM", $moduleName)); $response->emit(); } else { $languages = trim($request->get("languages")); $a_languages = explode(",", $languages); if ($request->get("relatedlist")) { $a_relatedList = $request->get("relatedlist"); //Repair bug with utf8 characters if (!is_array($a_relatedList)) { $oldValue = Zend_Json::$useBuiltinEncoderDecoder; Zend_Json::$useBuiltinEncoderDecoder = true; $a_relatedList = Zend_Json::decode($a_relatedList); Zend_Json::$useBuiltinEncoderDecoder = $oldValue; foreach ($a_relatedList as &$val) { $val = utf8_encode($val); } } } if (empty($a_relatedList)) { $a_relatedList["relatedModule"] = trim($request->get("relmodule")); $a_relatedList["label"] = ''; $a_relatedList["functionName"] = ''; $a_relatedList["presence"] = ''; $a_relatedList["actionAdd"] = ''; $a_relatedList["actionSelect"] = ''; foreach ($a_languages as $language) { $a_relatedList["label_" . $language] = ''; } } $viewer->assign('MODULE', $moduleName); $viewer->assign('QUALIFIED_MODULE', $qualifiedModuleName); $viewer->assign('a_relatedList', $a_relatedList); $viewer->assign('a_languages', $a_languages); echo $viewer->view('EditRelatedListPopup.tpl', $qualifiedModuleName, true); } }
public function process(Vtiger_Request $request) { $GLOBALS['csrf']['frame-breaker'] = false; $viewer = $this->getViewer($request); $moduleName = $request->getModule(); $qualifiedModuleName = $request->getModule(false); if (!$request->get("eventobj") && !$request->get("event") || !$request->get("languages")) { //Make JSON response $response = new Vtiger_Response(); $response->setError('error-param', getTranslatedString("LBL_ERROR_PARAM", $moduleName)); $response->emit(); } else { $languages = trim($request->get("languages")); $a_languages = explode(",", $languages); if ($request->get("eventobj")) { $a_event = $request->get("eventobj"); //Repair bug with utf8 characters if (!is_array($a_event)) { $oldValue = Zend_Json::$useBuiltinEncoderDecoder; Zend_Json::$useBuiltinEncoderDecoder = true; $a_event = Zend_Json::decode($a_event); Zend_Json::$useBuiltinEncoderDecoder = $oldValue; foreach ($a_event as &$val) { $val = utf8_encode($val); } } } if (empty($a_event)) { $a_event["eventName"] = trim($request->get("event")); $a_event["handlerPath"] = ''; $a_event["handlerClass"] = ''; $a_event["cond"] = ''; $a_event["dependentOn"] = ''; $a_event["isActive"] = false; } $viewer->assign('MODULE', $moduleName); $viewer->assign('QUALIFIED_MODULE', $qualifiedModuleName); $viewer->assign('a_event', $a_event); $viewer->assign('a_languages', $a_languages); echo $viewer->view('EditEventPopup.tpl', $qualifiedModuleName, true); } }
public static function sendResponse($data, $type = 'xml') { $responseText = ''; switch ($type) { case 'xml': header('content-type: application/xml'); $responseText = is_array($data) ? self::array2xml($data) : $data; break; case 'json': header('content-type: application/json'); Zend_Json::$useBuiltinEncoderDecoder = true; $responseText = Zend_Json::encode($obj); break; default: header('content-type: text/plain'); $responseText = $data; } echo $responseText; die; }
public function get_editor_json($settings = array()) { $this->EE->load->library('firephp'); // Are there any config overrides $config_override = $this->EE->config->item('editor'); if ($config_override != false && is_array($config_override)) { $settings = $this->array_extend($settings, $config_override); } require_once PATH_THIRD . 'editor/libraries/zend_json.php'; Zend_Json::$useBuiltinEncoderDecoder = true; $js = new stdClass(); // Do we need to load an additional Language? if (isset($settings['language']) === TRUE && $settings['language'] != 'en') { $js->lang = $settings['language']; } // Minheight if (isset($settings['height']) === TRUE && $settings['height'] > 0) { $js->minHeight = $settings['height']; } // Direction if (isset($settings['direction']) === TRUE && $settings['direction'] == 'rtl') { $js->direction = 'rtl'; } // Toolbar if (isset($settings['toolbar']) === TRUE && $settings['toolbar'] == 'no') { $js->toolbar = FALSE; } // Source if (isset($settings['source']) === TRUE && $settings['source'] == 'no') { $js->source = FALSE; } // focus if (isset($settings['focus']) === TRUE && $settings['focus'] == 'yes') { $js->focus = TRUE; } // Auto Resize if (isset($settings['autoresize']) === TRUE && $settings['autoresize'] == 'no') { $js->autoresize = FALSE; } // fixed if (isset($settings['fixed']) === TRUE && $settings['fixed'] == 'yes') { $js->fixed = TRUE; } // Convert Links if (isset($settings['convertlinks']) === TRUE && $settings['convertlinks'] == 'no') { $js->convertLinks = FALSE; } // Convert Divs if (isset($settings['convertdivs']) === TRUE && $settings['convertdivs'] == 'no') { $js->convertDivs = FALSE; } // Overlay if (isset($settings['overlay']) === TRUE && $settings['overlay'] == 'no') { $js->overlay = FALSE; } // Observe Images if (isset($settings['observeimages']) === TRUE && $settings['observeimages'] == 'no') { $js->observeImages = FALSE; } // Keyboard shortcuts if (isset($settings['shortcuts']) === TRUE && $settings['shortcuts'] == 'no') { $js->shortcuts = FALSE; } // wym if (isset($settings['wym']) === TRUE && $settings['wym'] == 'yes') { $js->wym = TRUE; } // protocol if (isset($settings['protocol']) === TRUE && $settings['protocol'] == 'no') { $js->protocol = ''; } // Allowed Tags if (isset($settings['allowedtags_option']) === TRUE && $settings['allowedtags_option'] == 'custom') { if (isset($settings['allowedtags']) == FALSE || is_array($settings['allowedtags']) == FALSE) { $settings['allowedtags'] = array(); } $js->allowedTags = $settings['allowedtags']; } // Denied Tags if (isset($settings['deniedtags_option']) === TRUE && $settings['deniedtags_option'] == 'custom') { if (isset($settings['deniedtags']) == FALSE || is_array($settings['deniedtags']) == FALSE) { $settings['deniedtags'] = array(); } $js->deniedTags = $settings['deniedtags']; } // Formatting Tags if (isset($settings['formattingtags']) === TRUE && empty($settings['formattingtags']) === FALSE) { $js->formattingTags = $settings['formattingtags']; } // Custom CSS File if (isset($settings['css_file']) === TRUE && empty($settings['css_file']) === FALSE) { $css_file = trim($settings['css_file']); if ($css_file != FALSE) { $js->iframe = TRUE; $js_css = json_encode(explode(',', $settings['css_file'])); $js->css = new Zend_Json_Expr($js_css); } } // Buttons if (isset($settings['buttons']) === TRUE) { $js->buttons = $settings['buttons']; } else { $js->buttons = array(); } $js->buttonsCustom = new stdClass(); // ----------------------------------------- // Override buttons // ----------------------------------------- foreach ($settings['buttons'] as $class) { if (isset($this->EE->editor->buttons[$class]) === FALSE) { continue; } $js->buttonsCustom->{$class} = new stdClass(); $js->buttonsCustom->{$class}->title = $this->EE->editor->buttons[$class]->info['name']; if (isset($this->EE->editor->buttons[$class]->info['callback']) === TRUE && $this->EE->editor->buttons[$class]->info['callback'] != FALSE) { $js->buttonsCustom->{$class}->callback = new Zend_Json_Expr($this->EE->editor->buttons[$class]->info['callback']); } if (isset($this->EE->editor->buttons[$class]->dropdown) === TRUE && empty($this->EE->editor->buttons[$class]->dropdown) === FALSE) { $js->buttonsCustom->{$class}->dropdown = new stdClass(); foreach ($this->EE->editor->buttons[$class]->dropdown as $dropname => $item) { $js->buttonsCustom->{$class}->dropdown->{$dropname} = new stdClass(); $js->buttonsCustom->{$class}->dropdown->{$dropname}->title = $item['title']; if (isset($item['callback']) === TRUE) { $js->buttonsCustom->{$class}->dropdown->{$dropname}->callback = new Zend_Json_Expr($item['callback']); } if (isset($item['exec']) === TRUE) { $js->buttonsCustom->{$class}->dropdown->{$dropname}->exec = $item['exec']; } } } } // Air if (isset($settings['air']) === TRUE && $settings['air'] == 'yes') { $js->air = TRUE; $js->airButtons = $js->buttons; } $act_url = $this->EE->editor_helper->getRouterUrl('url', 'ACT_file_upload'); // Local File Upload if (isset($settings['upload_service']) === TRUE && $settings['upload_service'] == 'local') { // File Upload if (isset($settings['file_upload_location']) === TRUE && $settings['file_upload_location'] > 0) { $js->fileUpload = $act_url . '&action=file&upload_location=' . $settings['file_upload_location']; $js->fileUploadCallback = new Zend_Json_Expr('Editor.UploadCallback'); } // Image Upload if (isset($settings['image_upload_location']) === TRUE && $settings['image_upload_location'] > 0) { $js->imageUpload = $act_url . '&action=image&upload_location=' . $settings['image_upload_location']; $js->imageUploadCallback = new Zend_Json_Expr('Editor.UploadCallback'); if (isset($settings['image_browsing']) === TRUE && $settings['image_browsing'] == 'yes') { $js->imageGetJson = $act_url . '&action=image_browser&upload_location=' . $settings['image_upload_location']; if (isset($settings['image_subdir']) === TRUE && $settings['image_subdir'] == 'yes') { $js->imageGetJson .= '&subdir=yes'; } } } } // S3 if (isset($settings['upload_service']) === TRUE && $settings['upload_service'] == 's3') { $js->s3 = $act_url . '&action=s3_info'; $string = base64_encode($this->encrypt_string(serialize($settings['s3']))); $js->s3 .= "&s3={$string}&"; //$js->fileUpload = true; } // Plugins if (isset($settings['plugins']) === false || empty($settings['plugins'])) { $settings['plugins'] = array(); } $settings['plugins'][] = 'dd_keyboard_shortcuts'; $js->plugins = $settings['plugins']; // Js Call Backs if (isset($settings['callbacks']) === true && is_array($settings['callbacks']) === true) { foreach ($settings['callbacks'] as $callback => $val) { $callback = $callback . 'Callback'; $val = trim($val); if (empty($val) === true) { continue; } $js->{$callback} = new Zend_Json_Expr($val); } } //$this->EE->firephp->log($js); $js = Zend_Json::encode($js, false, array('enableJsonExprFinder' => true)); // $js = $this->generate_json($js); //$this->EE->firephp->log($js); return $js; }
/** * Performs a jsonRCP request and gets the results as an array * * @param string $method * @param array $params * @return array */ public function __call($method, $params) { // check if (!is_scalar($method)) { throw new Exception('Method name has no scalar value'); } // check if (is_array($params)) { // no keys $params = array_values($params); } else { throw new Exception('Params must be given as array'); } // sets notification or request task if ($this->notification) { $currentId = NULL; } else { $currentId = $this->id; } // prepares the request $request = array('method' => $method, 'params' => $params, 'id' => $currentId); require_once dirname(__FILE__) . '/../../../Library/Zend/Json.php'; Zend_Json::$useBuiltinEncoderDecoder = true; $request = Zend_Json::encode($request); $this->debug && ($this->debug .= '***** Request *****' . "\n" . $request . "\n" . '***** End Of request *****' . "\n\n"); $ch = curl_init(); $headers = array(); $headers[] = 'Content-type: application/json'; $headers[] = 'Origin: http://preprod.handicap.chatanoo.org'; if ($this->sessionKey) { $headers[] = "Authorization: {$this->sessionKey}"; } curl_setopt($ch, CURLOPT_URL, $this->url); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $request); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); if (!($response = curl_exec($ch))) { throw new Exception('Unable to connect to ' . $this->url); } $info = curl_getinfo($ch); if ($info['http_code'] != 200) { throw new Exception('Authorization fail to ' . $this->url); } $this->debug && ($this->debug .= '***** Server response *****' . "\n" . $response . '***** End of server response *****' . "\n"); /*Zend_Debug::dump($response); exit;*/ require_once dirname(__FILE__) . '/../../../Library/Zend/Json.php'; Zend_Json::$useBuiltinEncoderDecoder = true; $response = Zend_Json::decode($response); curl_close($ch); // debug output if ($this->debug) { echo nl2br($this->debug); } // final checks and return if (!$this->notification) { // check if ($response['id'] != $currentId) { throw new Exception('Incorrect response id (request id: ' . $currentId . ', response id: ' . $response['id'] . ')'); } if (@(!is_null($response['error']))) { print_r($response); throw new Exception('Request error: ' . $response['error']); } return $response['result']; } else { return true; } }
/** * @group ZF-7586 */ public function testWillDecodeStructureWithEmptyKeyToObjectProperly() { Zend_Json::$useBuiltinEncoderDecoder = true; $json = '{"":"test"}'; $object = Zend_Json::decode($json, Zend_Json::TYPE_OBJECT); $this->assertTrue(isset($object->_empty_)); $this->assertEquals('test', $object->_empty_); }
public function process(Vtiger_Request $request) { $GLOBALS['csrf']['frame-breaker'] = false; $viewer = $this->getViewer($request); $moduleName = $request->getModule(); $qualifiedModuleName = $request->getModule(false); if (!$request->get("field") && !$request->get("uitype") || !$request->get("mod") || !$request->get("languages")) { //Make JSON response $response = new Vtiger_Response(); $response->setError('error-param', getTranslatedString("LBL_ERROR_PARAM", $moduleName)); $response->emit(); } else { $languages = trim($request->get("languages")); $a_languages = explode(",", $languages); if ($request->get("field")) { $a_field = $request->get("field"); //Repair bug with utf8 characters if (!is_array($a_field)) { $oldValue = Zend_Json::$useBuiltinEncoderDecoder; Zend_Json::$useBuiltinEncoderDecoder = true; $a_field = Zend_Json::decode($a_field); Zend_Json::$useBuiltinEncoderDecoder = $oldValue; foreach ($a_field as &$val) { if (is_string($val)) { $val = utf8_encode($val); } } } } if (empty($a_field)) { $a_field["fieldName"] = ''; $a_field["oldFieldName"] = ''; $a_field["label"] = ''; $a_field["tableName"] = 'vtiger_' . strtolower($request->get('mod')); $a_field["columnName"] = ''; $a_field["helpInfoLabel"] = ''; $a_field["defaultValue"] = ''; $a_field["generatedType"] = null; $a_field["displayType"] = 1; $a_field["isEntityIdentifier"] = false; $a_field["entityIdentifierFieldName"] = ''; $a_field["inFilterAll"] = false; $a_field["inPopup"] = false; $a_field["popupSequence"] = ''; $a_field["inRelatedList"] = false; $a_field["relatedListSequence"] = ''; $a_field["quickCreate"] = false; $a_field["massEditable"] = false; $a_field["readOnly"] = false; $a_field["relatedModule"] = null; $a_field["pickListValues"] = null; foreach ($a_languages as $language) { $a_field["label_" . $language] = ''; } foreach ($a_languages as $language) { $a_field["helpInfoLabel_" . $language] = ''; } require_once "modules/{$moduleName}/UITypes.php"; foreach ($a_uitypes as $uitype) { if ($uitype["num"] == $request->get("uitype")) { $a_field["UITypeNum"] = $request->get("uitype"); $a_field["UITypeName"] = $uitype["label"]; $a_field["UITypeDBType"] = $uitype["dbtype"]; $a_field["UITypeDataType"] = $uitype["datatype"]; $a_field["mandatory"] = $uitype["mandatory"]; $a_field["twoColumns"] = $uitype["two_columns"]; break; } } } if ($a_field["UITypeNum"] == 10) { if (empty($a_field["relatedModule"])) { $a_field["relatedModule"] = array(''); } elseif (is_string($a_field["relatedModule"])) { $a_field["relatedModule"] = array($a_field["relatedModule"]); } } //Get modules $db = PearDatabase::getInstance(); $query = "SELECT tablabel FROM vtiger_tab ORDER BY tablabel ASC"; $result = $db->pquery($query, array()); $a_modules = array(); while ($row = $db->fetchByAssoc($result)) { $a_modules[] = $row["tablabel"]; } $viewer->assign('MODULE', $moduleName); $viewer->assign('QUALIFIED_MODULE', $qualifiedModuleName); $viewer->assign('moduleName', $request->get('mod')); $viewer->assign('a_modules', $a_modules); $viewer->assign('a_field', $a_field); $viewer->assign('a_languages', $a_languages); echo $viewer->view('EditFieldPopup.tpl', $qualifiedModuleName, true); } }
public function getData() { global $current_user, $adb; if ($this->_isDummy) { return array(); } require_once 'include/Webservices/Retrieve.php'; if ($this->_data === false) { #$crmObj = CRMEntity::getInstance($this->_moduleName); #$this->_data = $crmObj; #$this->_data->id = $this->_id; #$this->_data->mode = "edit"; #$data = $this->_data; #$this->_data->retrieve_entity_info($this->_id, $this->_moduleName); $this->prepareTransfer(); try { global $current_user; $oldCurrentUser = $current_user; $current_user = $useUser; $focus = CRMEntity::getInstance($this->getModuleName()); $focus->id = $this->_id; $focus->mode = 'edit'; $focus->retrieve_entity_info($this->_id, $this->getModuleName()); $this->_data = $focus->column_fields; /* both values are irrelevant use ->id and ->getModuleName() */ unset($this->_data['record_id']); unset($this->_data['record_module']); $current_user = $oldCurrentUser; } catch (Exception $exp) { $current_user = $oldCurrentUser; if ($exp->getCode() == "DATABASE_QUERY_ERROR") { global $adb; $handleResult = $this->_handleDatabaseError($adb->database->_errorMsg); $this->_data = array(); } elseif ($exp->getCode() == "ACCESS_DENIED" && $exp->getMessage() == "Permission to perform the operation is denied") { $sql = "SELECT setype FROM vtiger_crmentity WHERE crmid = " . $this->_id; $checkTMP = $adb->query($sql); if ($adb->num_rows($checkTMP) == 0) { #Workflow2::error_handler(E_NONBREAK_ERROR, "Record ".$this->_id." don't exist in the database. Maybe you try to load data from a group?", $exp->getFile(), $exp->getLine()); $this->_data = array(); return array(); } if ($adb->query_result($checkTMP, 0, "setype") != $this->getModuleName()) { throw new \Exception("You want to get a field from " . $this->getModuleName() . " Module, but the ID is from module " . $adb->query_result($checkTMP, 0, "setype") . "."); $this->_data = array(); return array(); } $entity = VTEntity::getForId($this->_id); #if(empty($entit)) #var_dump($this->getModuleName()); #var_dump($this->_id); } else { #error_log("ERROR RETRIEVE ".$this->getWsId()." ".$exp->getMessage()); throw new $exp(); } } $this->afterTransfer(); if ($this->_moduleName == "Emails") { require_once "include/Zend/Json.php"; \Zend_Json::$useBuiltinEncoderDecoder = false; $sql = "SELECT * FROM vtiger_emaildetails WHERE emailid = " . $this->getId(); $result = $adb->query($sql); $to_email = $adb->query_result($result, 0, "to_email"); #if(VtUtils::is_utf8($to_email)) $to_email = utf8_encode($to_email); $this->_data["saved_to"] = implode(",", \Zend_Json::decode(html_entity_decode($to_email))); $this->_data["from_email"] = $adb->query_result($result, 0, "from_email"); } // Fix for vtiger bug if ($this->_moduleName == "SalesOrder" && $this->_data["enable_recurring"] == "0") { $this->_data["invoicestatus"] = "AutoCreated"; } } #return $this->_data->column_fields; return $this->_data; }
/** * @group ZF-8663 */ public function testBuiltinJsonEncoderWillProperlyEncodeSolidusInStringValues() { $source = "</foo><foo>bar</foo>"; $target = '"<\\/foo><foo>bar<\\/foo>"'; // first test ext/json Zend_Json::$useBuiltinEncoderDecoder = true; $this->assertEquals($target, Zend_Json::encode($source)); }
/** * @group ZF-4859 */ public function testAutocompleteDoesNotDoubleArrayEncodeDataJsonField() { $view = new Zend_View(); $form = new ZendX_JQuery_Form(); $dataSource = array(0 => 'John Doe'); $lastname = new ZendX_JQuery_Form_Element_AutoComplete("Lastname", array('label' => 'Lastname')); $form->addElement($lastname); $form->Lastname->setJQueryParam('source', $dataSource); Zend_Json::$useBuiltinEncoderDecoder = true; $output = $form->render($view); $this->assertEquals(array('$("#Lastname").autocomplete({"source":["John Doe"]});'), $view->jQuery()->getOnLoadActions()); Zend_Json::$useBuiltinEncoderDecoder = false; $output = $form->render($view); $this->assertEquals(array('$("#Lastname").autocomplete({"source":["John Doe"]});'), $view->jQuery()->getOnLoadActions()); }
public function sendResponse($result, $message = '') { header('content-type: application/json'); $obj = array('result' => $result ? 'success' : 'failure', 'message' => $message); Zend_Json::$useBuiltinEncoderDecoder = true; echo Zend_Json::encode($obj); die; }
<?php require_once dirname(__FILE__) . '/.Start.php'; Zend_Wildfire_Plugin_FirePhp::send(array("Отладочный"), 'UTF-8 characters with json_encode()', Zend_Wildfire_Plugin_FirePhp::LOG); Zend_Wildfire_Plugin_FirePhp::send("Отладочный", 'UTF-8 characters with json_encode()', Zend_Wildfire_Plugin_FirePhp::LOG); Zend_Wildfire_Plugin_FirePhp::send(array('Test work. Проверка работы.'), 'UTF-8 characters with json_encode()', Zend_Wildfire_Plugin_FirePhp::LOG); Zend_Wildfire_Plugin_FirePhp::send('Test work. Проверка работы.', 'UTF-8 characters with json_encode()', Zend_Wildfire_Plugin_FirePhp::LOG); Zend_Json::$useBuiltinEncoderDecoder = true; Zend_Wildfire_Plugin_FirePhp::send(array("Отладочный"), 'UTF-8 characters with Zend_Json_Encoder::encode()', Zend_Wildfire_Plugin_FirePhp::LOG); Zend_Wildfire_Plugin_FirePhp::send("Отладочный", 'UTF-8 characters with Zend_Json_Encoder::encode()', Zend_Wildfire_Plugin_FirePhp::LOG); Zend_Wildfire_Plugin_FirePhp::send(array('Test work. Проверка работы.'), 'UTF-8 characters with Zend_Json_Encoder::encode()', Zend_Wildfire_Plugin_FirePhp::LOG); Zend_Wildfire_Plugin_FirePhp::send('Test work. Проверка работы.', 'UTF-8 characters with Zend_Json_Encoder::encode()', Zend_Wildfire_Plugin_FirePhp::LOG); require_once dirname(__FILE__) . '/.End.php';
function emitJSON($object) { Zend_Json::$useBuiltinEncoderDecoder = true; echo Zend_Json::encode($object); }
function webforms_returnSuccess($element, $moduleName) { global $successURL; if (strlen($successURL) > 0) { header("Location: {$successURL}"); } if ($defaultSuccessAction == 'JSON') { Zend_Json::$useBuiltinEncoderDecoder = true; $json = new Zend_Json(); echo $json->encode(array('success' => true, 'result' => $element)); } else { webforms_displayTemplate($elemnet, $moduleName, 'modules/Webforms/SuccessPage.tpl'); } }
public static function getListViewNavigation($currentRecordId) { global $currentModule, $current_user, $adb, $log, $list_max_entries_per_page; Zend_Json::$useBuiltinEncoderDecoder = true; $reUseData = false; $displayBufferRecordCount = 10; $bufferRecordCount = 15; if ($currentModule == 'Documents') { $sql = "select folderid from vtiger_notes where notesid=?"; $params = array($currentRecordId); $result = $adb->pquery($sql, $params); $folderId = $adb->query_result($result, 0, 'folderid'); } $cv = new CustomView(); $viewId = $cv->getViewId($currentModule); if (!empty($_SESSION[$currentModule . '_DetailView_Navigation' . $viewId])) { $recordNavigationInfo = Zend_Json::decode($_SESSION[$currentModule . '_DetailView_Navigation' . $viewId]); $pageNumber = 0; if (count($recordNavigationInfo) == 1) { foreach ($recordNavigationInfo as $recordIdList) { if (in_array($currentRecordId, $recordIdList)) { $reUseData = true; } } } else { $recordList = array(); $recordPageMapping = array(); foreach ($recordNavigationInfo as $start => $recordIdList) { foreach ($recordIdList as $index => $recordId) { $recordList[] = $recordId; $recordPageMapping[$recordId] = $start; if ($recordId == $currentRecordId) { $searchKey = count($recordList) - 1; } } } if ($searchKey > $displayBufferRecordCount - 1 && $searchKey < count($recordList) - $displayBufferRecordCount) { $reUseData = true; } } } if ($reUseData === false) { $recordNavigationInfo = array(); if (!empty($_REQUEST['start'])) { $start = ListViewSession::getRequestStartPage(); } else { $start = ListViewSession::getCurrentPage($currentModule, $viewId); } $startRecord = ($start - 1) * $list_max_entries_per_page - $bufferRecordCount; if ($startRecord < 0) { $startRecord = 0; } $list_query = $_SESSION[$currentModule . '_listquery']; $instance = CRMEntity::getInstance($currentModule); $instance->getNonAdminAccessControlQuery($currentModule, $current_user); vtlib_setup_modulevars($currentModule, $instance); if ($currentModule == 'Documents' && !empty($folderId)) { $list_query = preg_replace("/[\n\r\\s]+/", " ", $list_query); $hasOrderBy = stripos($list_query, 'order by'); if ($hasOrderBy > 0) { $list_query = substr($list_query, 0, $hasOrderBy - 1) . " AND vtiger_notes.folderid={$folderId} " . substr($list_query, $hasOrderBy); } else { $list_query .= " AND vtiger_notes.folderid={$folderId}"; $order_by = $instance->getOrderByForFolder($folderId); $sorder = $instance->getSortOrderForFolder($folderId); $tablename = getTableNameForField($currentModule, $order_by); $tablename = $tablename != '' ? $tablename . "." : ''; if (!empty($order_by)) { $list_query .= ' ORDER BY ' . $tablename . $order_by . ' ' . $sorder; } } } if ($start != 1) { $recordCount = $list_max_entries_per_page + 2 * $bufferRecordCount; } else { $recordCount = $list_max_entries_per_page + $bufferRecordCount; } $list_query .= " LIMIT {$startRecord}, {$recordCount}"; $resultAllCRMIDlist_query = $adb->pquery($list_query, array()); $navigationRecordList = array(); while ($forAllCRMID = $adb->fetch_array($resultAllCRMIDlist_query)) { $navigationRecordList[] = $forAllCRMID[$instance->table_index]; } $pageCount = 0; $current = $start; if ($start == 1) { $firstPageRecordCount = $list_max_entries_per_page; } else { $firstPageRecordCount = $bufferRecordCount; $current -= 1; } $searchKey = array_search($currentRecordId, $navigationRecordList); $recordNavigationInfo = array(); if ($searchKey !== false) { foreach ($navigationRecordList as $index => $recordId) { if (!is_array($recordNavigationInfo[$current])) { $recordNavigationInfo[$current] = array(); } if ($index == $firstPageRecordCount || $index == $firstPageRecordCount + $pageCount * $list_max_entries_per_page) { $current++; $pageCount++; } $recordNavigationInfo[$current][] = $recordId; } } $_SESSION[$currentModule . '_DetailView_Navigation' . $viewId] = Zend_Json::encode($recordNavigationInfo); } return $recordNavigationInfo; }
/** * Test for ZF-4053 * * Check to see that cyclical exceptions are silenced when * $option['silenceCyclicalExceptions'] = true is used */ public function testZf4053() { $item1 = new Zend_JsonTest_Item(); $item2 = new Zend_JsonTest_Item(); $everything = array(); $everything['allItems'] = array($item1, $item2); $everything['currentItem'] = $item1; $options = array('silenceCyclicalExceptions' => true); Zend_Json::$useBuiltinEncoderDecoder = true; $encoded = Zend_Json::encode($everything, true, $options); $json = '{"allItems":[{"__className":"Zend_JsonTest_Item"},{"__className":"Zend_JsonTest_Item"}],"currentItem":"* RECURSION (Zend_JsonTest_Item) *"}'; $this->assertEquals($encoded, $json); }
/** * Send AJAX response and exit * @param string $cart * @param string $text */ public function sendWishlistResponse($cart, $text, $wishlist = null, $wishlistLinks = null) { header('content-type: text/javascript'); $obj = array('r' => 'success', 'cart' => $cart, 'links' => $text, 'wishlist' => $wishlist, 'wishlist_links' => $wishlistLinks); Zend_Json::$useBuiltinEncoderDecoder = true; echo Zend_Json::encode($obj); die; }
/** * Convert data to JSON and add it to response */ public function send() { Mage::dispatchEvent('awclickcheckout_before_sending_response', array('response' => $this)); Zend_Json::$useBuiltinEncoderDecoder = true; if ($this->getError()) { $this->setR('error'); } else { $this->setR('success'); } Mage::app()->getFrontController()->getResponse()->setBody(Zend_Json::encode($this->getData())); }
function getListViewNavigation($currentRecordId) { global $currentModule, $current_user, $adb, $log, $list_max_entries_per_page; Zend_Json::$useBuiltinEncoderDecoder = true; $reUseData = false; $displayBufferRecordCount = 10; $bufferRecordCount = 15; if ($currentModule == 'Documents') { $sql = "select folderid from vtiger_notes where notesid=?"; $params = array($currentRecordId); $result = $adb->pquery($sql, $params); $folderId = $adb->query_result($result, 0, 'folderid'); } $cv = new CustomView(); $viewId = $cv->getViewId($currentModule); if (!empty($_SESSION[$currentModule . '_DetailView_Navigation' . $viewId])) { $recordNavigationInfo = Zend_Json::decode($_SESSION[$currentModule . '_DetailView_Navigation' . $viewId]); $pageNumber = 0; if (count($recordNavigationInfo) == 1) { foreach ($recordNavigationInfo as $recordIdList) { if (in_array($currentRecordId, $recordIdList)) { $reUseData = true; } } } else { $recordList = array(); $recordPageMapping = array(); foreach ($recordNavigationInfo as $start => $recordIdList) { foreach ($recordIdList as $index => $recordId) { $recordList[] = $recordId; $recordPageMapping[$recordId] = $start; if ($recordId == $currentRecordId) { $searchKey = count($recordList) - 1; } } } if ($searchKey > $displayBufferRecordCount - 1 && $searchKey < count($recordList) - $displayBufferRecordCount) { $reUseData = true; } } } if ($reUseData === false) { $recordNavigationInfo = array(); if (!empty($_REQUEST['start'])) { $start = ListViewSession::getRequestStartPage(); } else { $start = ListViewSession::getCurrentPage($currentModule, $viewId); } $startRecord = ($start - 1) * $list_max_entries_per_page - $bufferRecordCount; if ($startRecord < 0) { $startRecord = 0; } $list_query = $_SESSION[$currentModule . '_listquery']; if ($currentModule == 'Documents' && !empty($folderId)) { $list_query = preg_replace("/[\n\r\\s]+/", " ", $list_query); $findOrderByPosition = stripos($list_query, ' ORDER BY '); if ($findOrderByPosition > 0) { $orderByClause = substr($list_query, $findOrderByPosition, strlen($list_query)); $list_query = substr($list_query, 0, $findOrderByPosition) . " AND vtiger_notes.folderid={$folderId} " . $orderByClause; } else { $list_query .= " AND vtiger_notes.folderid={$folderId}"; } } if ($start != 1) { $recordCount = $list_max_entries_per_page + 2 * $bufferRecordCount; } else { $recordCount = $list_max_entries_per_page + $bufferRecordCount; } if ($adb->dbType == "pgsql") { $list_query .= " OFFSET {$startRecord} LIMIT {$recordCount}"; } else { $list_query .= " LIMIT {$startRecord}, {$recordCount}"; } $resultAllCRMIDlist_query = $adb->pquery($list_query, array()); $navigationRecordList = array(); while ($forAllCRMID = $adb->fetch_array($resultAllCRMIDlist_query)) { $navigationRecordList[] = $forAllCRMID['crmid']; } $pageCount = 0; $current = $start; if ($start == 1) { $firstPageRecordCount = $list_max_entries_per_page; } else { $firstPageRecordCount = $bufferRecordCount; $current -= 1; } $searchKey = array_search($currentRecordId, $navigationRecordList); $recordNavigationInfo = array(); if ($searchKey !== false) { foreach ($navigationRecordList as $index => $recordId) { if (!is_array($recordNavigationInfo[$current])) { $recordNavigationInfo[$current] = array(); } if ($index == $firstPageRecordCount || $index == $firstPageRecordCount + $pageCount * $list_max_entries_per_page) { $current++; $pageCount++; } $recordNavigationInfo[$current][] = $recordId; } } $_SESSION[$currentModule . '_DetailView_Navigation' . $viewId] = Zend_Json::encode($recordNavigationInfo); } return $recordNavigationInfo; }