greeeting token and handle multi-value custom field fixes
[civicrm-core.git] / CRM / Activity / Tokens.php
index ed487e2f114e9c1b90dabfce3ee899f94eea3024..7a0ba27d4096204f4149d950031c3766f9a2d781 100644 (file)
@@ -49,12 +49,15 @@ class CRM_Activity_Tokens extends \Civi\Token\AbstractTokenSubscriber {
    * CRM_Activity_Tokens constructor.
    */
   public function __construct() {
-    parent::__construct('activity', array(
-      'activity_id' => ts('Activity ID'),
-      'activity_type' => ts('Activity Type'),
-      'subject' => ts('Activity Subject'),
-      'details' => ts('Activity Details'),
-      'activity_date_time' => ts('Activity Date-Time'),
+    parent::__construct('activity', array_merge(
+      array(
+        'activity_id' => ts('Activity ID'),
+        'activity_type' => ts('Activity Type'),
+        'subject' => ts('Activity Subject'),
+        'details' => ts('Activity Details'),
+        'activity_date_time' => ts('Activity Date-Time'),
+      ),
+      $this->getCustomTokens('Activity')
     ));
   }
 
@@ -107,6 +110,9 @@ class CRM_Activity_Tokens extends \Civi\Token\AbstractTokenSubscriber {
     elseif (isset($actionSearchResult->$field)) {
       $row->tokens($entity, $field, $actionSearchResult->$field);
     }
+    elseif ($cfID = \CRM_Core_BAO_CustomField::getKeyID($field)) {
+      $row->customToken($entity, $cfID, $actionSearchResult->entity_id);
+    }
     else {
       $row->tokens($entity, $field, '');
     }