function mailchimp_lists_update_member_merge_values in Mailchimp 2.x
Same name and namespace in other branches
- 8 modules/mailchimp_lists/mailchimp_lists.module \mailchimp_lists_update_member_merge_values()
- 7.5 modules/mailchimp_lists/mailchimp_lists.module \mailchimp_lists_update_member_merge_values()
- 7.3 modules/mailchimp_lists/mailchimp_lists.module \mailchimp_lists_update_member_merge_values()
- 7.4 modules/mailchimp_lists/mailchimp_lists.module \mailchimp_lists_update_member_merge_values()
Triggers an update of all merge field values for appropriate entities.
1 call to mailchimp_lists_update_member_merge_values()
- MailchimpListsUpdateMergevarsForm::submitForm in modules/
mailchimp_lists/ src/ Form/ MailchimpListsUpdateMergevarsForm.php - Form submission handler.
File
- modules/
mailchimp_lists/ mailchimp_lists.module, line 355 - Mailchimp lists/audiences module.
Code
function mailchimp_lists_update_member_merge_values($entity_type, $bundle_name, $field_name) {
$field = FieldConfig::loadByName($entity_type, $bundle_name, $field_name);
$mc_list_id = $field
->getFieldStorageDefinition()
->getSetting('mc_list_id');
$merge_fields = $field
->getSetting('merge_fields');
// Assemble a list of current subscription statuses so we don't alter them.
// Because of cacheing we don't want to use the standard checks. Expiring the
// cache would kill the point of doing this as a batch API operation.
$batch = [
'operations' => [
[
'mailchimp_lists_get_subscribers',
[
$field,
],
],
[
'mailchimp_lists_populate_member_batch',
[
$entity_type,
$bundle_name,
$field,
$merge_fields,
],
],
[
'mailchimp_lists_execute_mergevar_batch_update',
[
$mc_list_id,
],
],
],
'finished' => 'mailchimp_lists_populate_member_batch_complete',
'title' => t('Processing Merge Variable Updates'),
'init_message' => t('Starting Mailchimp Merge Variable Update.'),
'progress_message' => t('Processed @current out of @total.'),
'error_message' => t('Mailchimp Merge Variable Update Failed.'),
];
batch_set($batch);
}