(flexmailer#29) Mailing.preview API - Fix array access warning. Make unit-test pass.
authorTim Otten <totten@civicrm.org>
Tue, 30 Apr 2019 22:42:20 +0000 (15:42 -0700)
committerTim Otten <totten@civicrm.org>
Tue, 30 Apr 2019 22:43:14 +0000 (15:43 -0700)
api/v3/Mailing.php

index a8d723604644559cf82a3840e6830fea6e044fd4..29d164ce1658561cd62d43118253ae5ccfee9483 100644 (file)
@@ -578,16 +578,17 @@ function civicrm_api3_mailing_preview($params) {
   }
   $mailingParams = ['contact_id' => $contactID];
 
-  // if $contactID is zero we are dealing with annon user so call separate function for annon users
   if (!$contactID) {
     $details = CRM_Utils_Token::getAnonymousTokenDetails($mailingParams, $returnProperties, TRUE, TRUE, NULL, $mailing->getFlattenedTokens());
+    $details = CRM_Utils_Array::value(0, $details[0]);
   }
   else {
     $details = CRM_Utils_Token::getTokenDetails($mailingParams, $returnProperties, TRUE, TRUE, NULL, $mailing->getFlattenedTokens());
+    $details = $details[0][$contactID];
   }
 
   $mime = $mailing->compose(NULL, NULL, NULL, $contactID, $fromEmail, $fromEmail,
-    TRUE, $details[0][$contactID], $attachments
+    TRUE, $details, $attachments
   );
 
   return civicrm_api3_create_success([