$params['forward_replies']['api.default'] = FALSE;
$params['auto_responder']['api.default'] = FALSE;
- $params['open_tracking']['api.default'] = TRUE;
- $params['url_tracking']['api.default'] = TRUE;
+ $params['open_tracking']['api.default'] = Civi::settings()->get('open_tracking_default');
+ $params['url_tracking']['api.default'] = Civi::settings()->get('url_tracking_default');
$params['header_id']['api.default'] = CRM_Mailing_PseudoConstant::defaultComponent('Header', '');
$params['footer_id']['api.default'] = CRM_Mailing_PseudoConstant::defaultComponent('Footer', '');
$get = civicrm_api3('Mailing', 'getsingle', ['id' => $params['id']]);
$newParams = [];
- $newParams['debug'] = CRM_Utils_Array::value('debug', $params);
+ $newParams['debug'] = $params['debug'] ?? NULL;
$newParams['groups']['include'] = [];
$newParams['groups']['exclude'] = [];
$newParams['mailings']['include'] = [];
$queue = $params['event_queue_id'];
$hash = $params['hash'];
$replyto = $params['replyTo'];
- $bodyTxt = CRM_Utils_Array::value('bodyTxt', $params);
- $bodyHTML = CRM_Utils_Array::value('bodyHTML', $params);
- $fullEmail = CRM_Utils_Array::value('fullEmail', $params);
+ $bodyTxt = $params['bodyTxt'] ?? NULL;
+ $bodyHTML = $params['bodyHTML'] ?? NULL;
+ $fullEmail = $params['fullEmail'] ?? NULL;
$mailing = CRM_Mailing_Event_BAO_Reply::reply($job, $queue, $hash, $replyto);
$queue = $params['event_queue_id'];
$hash = $params['hash'];
$email = $params['email'];
- $fromEmail = CRM_Utils_Array::value('fromEmail', $params);
- $params = CRM_Utils_Array::value('params', $params);
+ $fromEmail = $params['fromEmail'] ?? NULL;
+ $params = $params['params'] ?? NULL;
$forward = CRM_Mailing_Event_BAO_Forward::forward($job, $queue, $hash, $email, $fromEmail, $params);
}
$mailing = new CRM_Mailing_BAO_Mailing();
- $mailingID = CRM_Utils_Array::value('id', $params);
+ $mailingID = $params['id'] ?? NULL;
if ($mailingID) {
$mailing->id = $mailingID;
$mailing->find(TRUE);
$attachments = CRM_Core_BAO_File::getEntityFile('civicrm_mailing', $mailing->id);
$returnProperties = $mailing->getReturnProperties();
- $contactID = CRM_Utils_Array::value('contact_id', $params);
+ $contactID = $params['contact_id'] ?? NULL;
if (!$contactID) {
// If we still don't have a userID in a session because we are annon then set contactID to be 0
$contactID = empty($session->get('userID')) ? 0 : $session->get('userID');
if (!$contactID) {
$details = CRM_Utils_Token::getAnonymousTokenDetails($mailingParams, $returnProperties, TRUE, TRUE, NULL, $mailing->getFlattenedTokens());
- $details = CRM_Utils_Array::value(0, $details[0]);
+ $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,
$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',
[
$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,
+ ]
+ );
+ }
}
}