diff --git a/CRM/Contact/BAO/Query.php b/CRM/Contact/BAO/Query.php index 0a1ba6f5910b..5247434ab824 100644 --- a/CRM/Contact/BAO/Query.php +++ b/CRM/Contact/BAO/Query.php @@ -5109,16 +5109,6 @@ public function summaryContribution($context = NULL) { $summary['total']['currencyCount'] = count($summary['total']['median']); - if (!empty($summary['total']['amount'])) { - $summary['total']['amount'] = implode(', ', $summary['total']['amount']); - $summary['total']['avg'] = implode(', ', $summary['total']['avg']); - $summary['total']['mode'] = implode(', ', $summary['total']['mode']); - $summary['total']['median'] = implode(', ', $summary['total']['median']); - } - else { - $summary['total']['amount'] = $summary['total']['avg'] = $summary['total']['median'] = 0; - } - $this->addBasicCancelStatsToSummary($summary, $where, $from); return $summary; @@ -6544,7 +6534,8 @@ public function getSelect() { * @return array */ protected function addBasicStatsToSummary(&$summary, $where, $from) { - $summary['total']['count'] = $summary['total']['amount'] = $summary['total']['avg'] = "n/a"; + $summary['total']['count'] = 0; + $summary['total']['amount'] = $summary['total']['avg'] = []; $query = " SELECT COUNT( conts.total_amount ) as total_count, @@ -6562,13 +6553,18 @@ protected function addBasicStatsToSummary(&$summary, $where, $from) { $dao = CRM_Core_DAO::executeQuery($query); - $summary['total']['count'] = 0; - $summary['total']['amount'] = $summary['total']['avg'] = []; while ($dao->fetch()) { $summary['total']['count'] += $dao->total_count; $summary['total']['amount'][] = CRM_Utils_Money::format($dao->total_amount, $dao->currency); $summary['total']['avg'][] = CRM_Utils_Money::format($dao->total_avg, $dao->currency); } + if (!empty($summary['total']['amount'])) { + $summary['total']['amount'] = implode(', ', $summary['total']['amount']); + $summary['total']['avg'] = implode(', ', $summary['total']['avg']); + } + else { + $summary['total']['amount'] = $summary['total']['avg'] = $summary['total']['median'] = 0; + } return $summary; } @@ -6603,7 +6599,8 @@ protected function addModeToStats(&$summary, $from, $where) { ) as conts GROUP BY currency"; - $summary['total']['mode'] = CRM_Contribute_BAO_Contribution::computeStats('mode', $modeSQL); + $mode = CRM_Contribute_BAO_Contribution::computeStats('mode', $modeSQL); + $summary['total']['mode'] = implode(', ', (array) $mode); } /** @@ -6621,7 +6618,8 @@ protected function addModeToStats(&$summary, $from, $where) { */ protected function addMedianToStats(&$summary, $where, $from) { $medianSQL = "{$from} {$where} AND civicrm_contribution.contribution_status_id = 1 "; - $summary['total']['median'] = CRM_Contribute_BAO_Contribution::computeStats('median', $medianSQL, 'civicrm_contribution'); + $median = CRM_Contribute_BAO_Contribution::computeStats('median', $medianSQL, 'civicrm_contribution'); + $summary['total']['median'] = implode(', ', (array) $median); } /**