/** * Function to get fields of this model * @return <Array> list of field models <Settings_Leads_Field_Model> */ public function getFields() { if (!$this->fields) { $fieldModelsList = array(); $fieldIds = $this->getMappingSupportedFieldIdsList(); foreach ($fieldIds as $fieldId) { $fieldModel = Settings_Leads_Field_Model::getInstance($fieldId, $this); $fieldModelsList[$fieldModel->getFieldDataType()][$fieldId] = $fieldModel; } $this->fields = $fieldModelsList; } return $this->fields; }
public function getFieldsInfo($fieldIdsList) { $leadModel = Vtiger_Module_Model::getInstance($this->getName()); $leadId = $leadModel->getId(); $db = PearDatabase::getInstance(); $result = $db->pquery('SELECT fieldid, fieldlabel, uitype, typeofdata, fieldname, tablename, tabid FROM vtiger_field WHERE fieldid IN (' . generateQuestionMarks($fieldIdsList) . ')', $fieldIdsList); $numOfRows = $db->num_rows($result); $fieldLabelsList = array(); for ($i = 0; $i < $numOfRows; $i++) { $rowData = $db->query_result_rowdata($result, $i); $fieldInfo = array('id' => $rowData['fieldid'], 'label' => $rowData['fieldlabel']); if ($rowData['tabid'] === $leadId) { $fieldModel = Settings_Leads_Field_Model::getCleanInstance(); $fieldModel->set('uitype', $rowData['uitype']); $fieldModel->set('typeofdata', $rowData['typeofdata']); $fieldModel->set('name', $rowData['fieldname']); $fieldModel->set('table', $rowData['tablename']); $fieldInfo['fieldDataType'] = $fieldModel->getFieldDataType(); } $fieldLabelsList[$rowData['fieldid']] = $fieldInfo; } return $fieldLabelsList; }