From 8580ab6778ec1537aaad998d8ce2512a9205d8a7 Mon Sep 17 00:00:00 2001 From: Aidan Saunders Date: Mon, 19 Nov 2018 20:31:34 +0000 Subject: [PATCH] Enhance getContextValues() to collect subfield values --- Civi/Token/TokenProcessor.php | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/Civi/Token/TokenProcessor.php b/Civi/Token/TokenProcessor.php index 60b94b50cc..bfad77926c 100644 --- a/Civi/Token/TokenProcessor.php +++ b/Civi/Token/TokenProcessor.php @@ -177,14 +177,28 @@ class TokenProcessor { * @return array * Ex: [12, 34, 56]. */ - public function getContextValues($field) { + public function getContextValues($field, $subfield = NULL) { $values = []; if (isset($this->context[$field])) { - $values[] = $this->context[$field]; + if ($subfield) { + if (isset($this->context[$field]->$subfield)) { + $values[] = $this->context[$field]->$subfield; + } + } + else { + $values[] = $this->context[$field]; + } } foreach ($this->getRows() as $row) { if (isset($row->context[$field])) { - $values[] = $row->context[$field]; + if ($subfield) { + if (isset($row->context[$field]->$subfield)) { + $values[] = $row->context[$field]->$subfield; + } + } + else { + $values[] = $row->context[$field]; + } } } $values = array_unique($values); -- 2.25.1