Exemplo n.º 1
0
 /**
  * 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;
 }