X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=api%2Fv3%2FMailing.php;h=653fdcd2b2a95762f9b086cd587dab8aa5c4cc51;hb=6298cd65d87c8dbfb12c98093da70122238643ff;hp=011a19f149ef88d2570850dbc7f3166d4ec59ce7;hpb=9c204b425c4f161f3dec52e3d7f0cae2f9f35eb5;p=civicrm-core.git diff --git a/api/v3/Mailing.php b/api/v3/Mailing.php index 011a19f149..653fdcd2b2 100644 --- a/api/v3/Mailing.php +++ b/api/v3/Mailing.php @@ -567,8 +567,8 @@ function civicrm_api3_mailing_preview($params) { $details = $details[0][0] ?? NULL; } else { - $details = CRM_Utils_Token::getTokenDetails($mailingParams, $returnProperties, TRUE, TRUE, NULL, $mailing->getFlattenedTokens()); - $details = $details[0][$contactID]; + [$details] = CRM_Utils_Token::getTokenDetails($mailingParams, $returnProperties, TRUE, TRUE, NULL, $mailing->getFlattenedTokens()); + $details = $details[$contactID]; } $mime = $mailing->compose(NULL, NULL, NULL, $contactID, $fromEmail, $fromEmail, @@ -657,7 +657,7 @@ function civicrm_api3_mailing_send_test($params) { $emailId = $emailDetail[$email]['email_id']; $contactId = $emailDetail[$email]['contact_id']; } - if (!$contactId) { + if (!$contactId && CRM_Core_Permission::check('add contacts')) { //create new contact. $contact = civicrm_api3('Contact', 'create', [ @@ -669,13 +669,15 @@ function civicrm_api3_mailing_send_test($params) { $contactId = $contact['id']; $emailId = $contact['values'][$contactId]['api.Email.get']['id']; } - civicrm_api3('MailingEventQueue', 'create', - [ - 'job_id' => $job['id'], - 'email_id' => $emailId, - 'contact_id' => $contactId, - ] - ); + if ($emailId && $contactId) { + civicrm_api3('MailingEventQueue', 'create', + [ + 'job_id' => $job['id'], + 'email_id' => $emailId, + 'contact_id' => $contactId, + ] + ); + } } }