dev/core#2806 Fix accidental exposure of v4 tokens
authorEileen McNaughton <emcnaughton@wikimedia.org>
Wed, 1 Sep 2021 07:15:59 +0000 (19:15 +1200)
committerEileen McNaughton <emcnaughton@wikimedia.org>
Wed, 1 Sep 2021 07:15:59 +0000 (19:15 +1200)
CRM/Core/EntityTokens.php

index 6ded3ebec5ace00d59b497641a2305e6bdb465ef..9a9497ebfaa83d339c62bc1f3d2a7b5b9007830b 100644 (file)
@@ -321,7 +321,12 @@ class CRM_Core_EntityTokens extends AbstractTokenSubscriber {
   public function getBasicTokens(): array {
     $return = [];
     foreach ($this->getExposedFields() as $fieldName) {
-      $return[$fieldName] = $this->getFieldMetadata()[$fieldName]['title'];
+      // Custom fields are still added v3 style - we want to keep v4 naming 'unpoluted'
+      // for now to allow us to consider how to handle names vs labels vs values
+      // and other raw vs not raw options.
+      if ($this->getFieldMetadata()[$fieldName]['type'] !== 'Custom') {
+        $return[$fieldName] = $this->getFieldMetadata()[$fieldName]['title'];
+      }
     }
     return $return;
   }