Skip to content
Snippets Groups Projects

Issue #3091584 by tcrawf: Support language on member updates

1 file
+ 13
4
Compare changes
  • Side-by-side
  • Inline
+ 13
4
@@ -575,7 +575,7 @@ function mailchimp_addto_queue($function, array $args) {
*
* @see Mailchimp_Lists::updateMember()
*/
function mailchimp_update_member($list_id, $email, $merge_vars, $interests = [], $format = 'html', $double_optin = FALSE, $gdpr_consent = FALSE) {
function mailchimp_update_member($list_id, $email, $merge_vars, $interests = [], $format = 'html', $double_optin = FALSE, $language = NULL, $gdpr_consent = FALSE) {
$config = \Drupal::config('mailchimp.settings');
if ($config->get('cron')) {
@@ -589,10 +589,14 @@ function mailchimp_update_member($list_id, $email, $merge_vars, $interests = [],
'gdpr_consent' => $gdpr_consent,
];
if ($language) {
$args['language'] = $language;
}
return mailchimp_addto_queue('mailchimp_update_member_process', $args);
}
return mailchimp_update_member_process($list_id, $email, $merge_vars, $interests, $format, $double_optin, $gdpr_consent);
return mailchimp_update_member_process($list_id, $email, $merge_vars, $interests, $format, $double_optin, $language, $gdpr_consent);
}
/**
@@ -600,7 +604,7 @@ function mailchimp_update_member($list_id, $email, $merge_vars, $interests = [],
*
* @see Mailchimp_Lists::updateMember()
*/
function mailchimp_update_member_process($list_id, $email, $merge_vars, $interests, $format, $double_optin = FALSE, $gdpr_consent = FALSE) {
function mailchimp_update_member_process($list_id, $email, $merge_vars, $interests, $format, $double_optin = FALSE, $language = NULL, $gdpr_consent = FALSE) {
$result = FALSE;
try {
@@ -626,6 +630,11 @@ function mailchimp_update_member_process($list_id, $email, $merge_vars, $interes
}
}
// Set language.
if ($language) {
$parameters['language'] = $language;
}
// Set merge fields.
if (!empty($merge_vars)) {
$parameters['merge_fields'] = (object) $merge_vars;
@@ -672,7 +681,7 @@ function mailchimp_update_member_process($list_id, $email, $merge_vars, $interes
'list' => $list_id,
]);
return mailchimp_update_member_process($list_id, $email, $merge_vars, $interests, $format, TRUE, $gdpr_consent);
return mailchimp_update_member_process($list_id, $email, $merge_vars, $interests, $format, TRUE, $language, $gdpr_consent);
}
\Drupal::logger('mailchimp')->error('An error occurred updating {email} on list {list}. "{message}"', [
Loading