setResult($request->getAll()); return $response; } public function processResponse($module, $language) { if (!isset($language)) { $language = Portal_Session::get('language'); } $moduleMeta = array(); $currentMetaInfo = Portal_Session::get('moduleMeta'); if (isset($currentMetaInfo[$module])) { $recordMeta = $currentMetaInfo[$module]; } else { $moduleMetaInfo = Vtiger_Connector::getInstance()->describeModule($module, $language); $moduleMeta[$module] = $moduleMetaInfo['describe']['fields']; $fieldInfo = array(); $fieldInfo['labelField'] = $moduleMetaInfo['describe']['labelFields']; // For Leads module having two fields for name (firstname, lastname). if (strpos($fieldInfo['labelField'], ',')) { $labelFields = explode(',', $fieldInfo['labelField']); $fieldInfo['labelField'] = $labelFields[1]; } if ($module == 'HelpDesk') { $fieldInfo['labelField'] = 'ticket_title'; } if ($module == 'Documents') { $fieldInfo['labelField'] = 'notes_title'; } foreach ($moduleMeta[$module] as $key => $value) { $fieldInfo['id']['label'] = 'id'; $fieldInfo[$value['name']]['type'] = $value['type']['name']; $fieldInfo[$value['name']]['label'] = $value['label']; $fieldInfo[$value['name']]['editable'] = $value['editable']; if ($value['type']['name'] == 'picklist' || $value['type']['name'] == 'metricpicklist') { $fieldInfo[$value['name']]['picklistValues'] = $value['type']['picklistValues']; } if ($value['type']['name'] == 'multipicklist') { $fieldInfo[$value['name']]['picklistValues'] = $value['type']['picklistValues']; } } $identifierFieldLabel = $fieldInfo['labelField']; $fieldInfo['labelField'] = $fieldInfo[$identifierFieldLabel]; $moduleMeta[$module] = $fieldInfo; Portal_Session::set('moduleMeta', $moduleMeta); $recordMeta = $moduleMeta[$module]; } return $recordMeta; } public function processResponseNew($result, $module, $language, $isExport = false) { if (!isset($language)) { $language = Portal_Session::get('language'); } $moduleMeta = array(); $currentMetaInfo = Portal_Session::get('moduleMeta'); if (isset($currentMetaInfo[$module])) { $recordMeta = $currentMetaInfo[$module]; } else { $moduleMetaInfo = Vtiger_Connector::getInstance()->describeModule($module, $language); $moduleMeta[$module] = $moduleMetaInfo['describe']['fields']; $fieldInfo = array(); $fieldInfo['labelField'] = $moduleMetaInfo['describe']['labelFields']; // For Leads module having two fields for name (firstname, lastname). if (strpos($fieldInfo['labelField'], ',')) { $labelFields = explode(',', $fieldInfo['labelField']); $fieldInfo['labelField'] = $labelFields[1]; } if ($module == 'HelpDesk') { $fieldInfo['labelField'] = 'ticket_title'; } if ($module == 'Documents') { $fieldInfo['labelField'] = 'notes_title'; } foreach ($moduleMeta[$module] as $key => $value) { $fieldInfo['id']['label'] = 'id'; $fieldInfo[$value['name']]['type'] = $value['type']['name']; $fieldInfo[$value['name']]['label'] = $value['label']; $fieldInfo[$value['name']]['editable'] = $value['editable']; if ($value['type']['name'] == 'picklist' || $value['type']['name'] == 'metricpicklist') { $fieldInfo[$value['name']]['picklistValues'] = $value['type']['picklistValues']; } if ($value['type']['name'] == 'multipicklist') { $fieldInfo[$value['name']]['picklistValues'] = $value['type']['picklistValues']; } } $identifierFieldLabel = $fieldInfo['labelField']; $fieldInfo['labelField'] = $fieldInfo[$identifierFieldLabel]; $moduleMeta[$module] = $fieldInfo; Portal_Session::set('moduleMeta', $moduleMeta); $recordMeta = $moduleMeta[$module]; } return $recordMeta; } }