diff --git a/src/Plugin/WebformHandler/WebformMailChimpHandler.php b/src/Plugin/WebformHandler/WebformMailChimpHandler.php index 78938b2..4ca2edd 100644 --- a/src/Plugin/WebformHandler/WebformMailChimpHandler.php +++ b/src/Plugin/WebformHandler/WebformMailChimpHandler.php @@ -233,13 +233,17 @@ class WebformMailChimpHandler extends WebformHandlerBase { $entity_type = 'webform_submission'; \Drupal::moduleHandler()->alter('mailchimp_lists_mergevars', $mergevars, $webform_submission, $entity_type); - $result = mailchimp_subscribe($configuration['list'], $email, $mergevars, $configuration['interest_groups'], $configuration['double_optin']); - - // Log the failed MailChimp subscriptions. - if (!$result) { - $this->log($webform_submission, 'mailchimp subscription failed', $this->t('An error occurred subscribing @email to list @list.', ['@email' => $email, '@list' => $configuration['list']])); + if ($result = mailchimp_subscribe($configuration['list'], $email, $mergevars, $configuration['interest_groups'], $configuration['double_optin'])) { + $this->log($webform_submission, 'mailchimp subscribe success', $this->t('@email has been subscribed to list @list.', ['@email' => $email, '@list' => $configuration['list']])); + } + else { + // Always log the failed MailChimp subscriptions. + $this->submissionStorage->log($webform_submission, [ + 'handler_id' => $this->getHandlerId(), + 'operation' => 'mailchimp subscribe fail', + 'message' => $this->t('An error occurred subscribing @email to list @list.', ['@email' => $email, '@list' => $configuration['list']]), + ]); } - } }