From e1075120637dc438f25ea15a28dc13620032eccb Mon Sep 17 00:00:00 2001 From: Aaron Carlino Date: Tue, 27 Feb 2018 16:42:44 +1300 Subject: [PATCH] Back port 4.0 implementation of numeric/assoc key merging for summary_fields --- model/DataObject.php | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/model/DataObject.php b/model/DataObject.php index 992461c5d..bba75577c 100644 --- a/model/DataObject.php +++ b/model/DataObject.php @@ -3709,13 +3709,18 @@ class DataObject extends ViewableData implements DataObjectInterface, i18nEntity * @return array */ public function summaryFields() { - $fields = $this->stat('summary_fields'); + $rawFields = $this->stat('summary_fields'); - // if fields were passed in numeric array, - // convert to an associative array - if($fields && array_key_exists(0, $fields)) { - $fields = array_combine(array_values($fields), array_values($fields)); - } + $fields = []; + // Merge associative / numeric keys + if (is_array($rawFields)) { + foreach ($rawFields as $key => $value) { + if (is_int($key)) { + $key = $value; + } + $fields[$key] = $value; + } + } if (!$fields) { $fields = array();