- list($dao, $query) = _civicrm_api3_get_query_object($params, $mode, 'Contribution');
-
- $contribution = array();
- while ($dao->fetch()) {
- //CRM-8662
- $contribution_details = $query->store($dao);
- $softContribution = CRM_Contribute_BAO_ContributionSoft::getSoftContribution($dao->contribution_id, TRUE);
- $contribution[$dao->contribution_id] = array_merge($contribution_details, $softContribution);
+ $returnProperties = CRM_Contribute_BAO_Query::defaultReturnProperties($mode);
+
+ $contributions = _civicrm_api3_get_using_query_object('Contribution', $params, array(), NULL, $mode, $returnProperties);
+
+ foreach ($contributions as $id => $contribution) {
+ $softContribution = CRM_Contribute_BAO_ContributionSoft::getSoftContribution($id, TRUE);
+ $contributions[$id] = array_merge($contribution, $softContribution);