/** * Function to get list of record models in this relation * @param <Vtiger_Paging_Model> $pagingModel * @return <array> List of record models <Vtiger_Record_Model> */ public function getEntries($pagingModel) { $relationModel = $this->getRelationModel(); $parentRecordModel = $this->getParentRecordModel(); $relatedModuleName = $relationModel->getRelationModuleModel()->getName(); $relatedRecordModelsList = parent::getEntries($pagingModel); $emailEnabledModulesInfo = $relationModel->getEmailEnabledModulesInfoForDetailView(); if (array_key_exists($relatedModuleName, $emailEnabledModulesInfo) && $relatedRecordModelsList) { $fieldName = $emailEnabledModulesInfo[$relatedModuleName]['fieldName']; $tableName = $emailEnabledModulesInfo[$relatedModuleName]['tableName']; $db = PearDatabase::getInstance(); $relatedRecordIdsList = array_keys($relatedRecordModelsList); $query = "SELECT campaignrelstatus, {$fieldName} FROM {$tableName}\n\t\t\t\t\t\tINNER JOIN vtiger_campaignrelstatus ON vtiger_campaignrelstatus.campaignrelstatusid = {$tableName}.campaignrelstatusid\n\t\t\t\t\t\tWHERE {$fieldName} IN (" . generateQuestionMarks($relatedRecordIdsList) . ") AND campaignid = ?"; array_push($relatedRecordIdsList, $parentRecordModel->getId()); $result = $db->pquery($query, $relatedRecordIdsList); $numOfrows = $db->num_rows($result); for ($i = 0; $i < $numOfrows; $i++) { $recordId = $db->query_result($result, $i, $fieldName); $relatedRecordModel = $relatedRecordModelsList[$recordId]; $relatedRecordModel->set('status', $db->query_result($result, $i, 'campaignrelstatus')); $relatedRecordModelsList[$recordId] = $relatedRecordModel; } } return $relatedRecordModelsList; }