From e1075120637dc438f25ea15a28dc13620032eccb Mon Sep 17 00:00:00 2001 From: Aaron Carlino Date: Tue, 27 Feb 2018 16:42:44 +1300 Subject: [PATCH 1/3] 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(); From c755f77288bcbd5e6777f94d8499264446b456f0 Mon Sep 17 00:00:00 2001 From: Aaron Carlino Date: Tue, 27 Feb 2018 22:34:16 +1300 Subject: [PATCH 2/3] Fix indentation --- model/DataObject.php | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/model/DataObject.php b/model/DataObject.php index bba75577c..599c51718 100644 --- a/model/DataObject.php +++ b/model/DataObject.php @@ -3709,18 +3709,18 @@ class DataObject extends ViewableData implements DataObjectInterface, i18nEntity * @return array */ public function summaryFields() { - $rawFields = $this->stat('summary_fields'); + $rawFields = $this->stat('summary_fields'); - $fields = []; + $fields = []; // Merge associative / numeric keys if (is_array($rawFields)) { - foreach ($rawFields as $key => $value) { - if (is_int($key)) { - $key = $value; - } - $fields[$key] = $value; - } - } + foreach ($rawFields as $key => $value) { + if (is_int($key)) { + $key = $value; + } + $fields[$key] = $value; + } + } if (!$fields) { $fields = array(); From 38a7e1c2d2c358b12bacf59cb85ba566a3e87c89 Mon Sep 17 00:00:00 2001 From: Aaron Carlino Date: Tue, 27 Feb 2018 22:36:31 +1300 Subject: [PATCH 3/3] Remove short array syntax --- model/DataObject.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/model/DataObject.php b/model/DataObject.php index 599c51718..d274a5810 100644 --- a/model/DataObject.php +++ b/model/DataObject.php @@ -3711,7 +3711,7 @@ class DataObject extends ViewableData implements DataObjectInterface, i18nEntity public function summaryFields() { $rawFields = $this->stat('summary_fields'); - $fields = []; + $fields = array(); // Merge associative / numeric keys if (is_array($rawFields)) { foreach ($rawFields as $key => $value) {