You are here

function campaignmonitor_registration_form_user_register_submit in Campaign Monitor 8.2

Same name and namespace in other branches
  1. 8 modules/campaignmonitor_registration/campaignmonitor_registration.module \campaignmonitor_registration_form_user_register_submit()
  2. 7 modules/campaignmonitor_registration/campaignmonitor_registration.module \campaignmonitor_registration_form_user_register_submit()

Submission form handler.

Information about the selected list will be: submitted to Campaign Monitor.

1 string reference to 'campaignmonitor_registration_form_user_register_submit'
campaignmonitor_registration_form_user_register_form_alter in modules/campaignmonitor_registration/campaignmonitor_registration.module
Implements hook_form_BASE_FORM_ID_alter().

File

modules/campaignmonitor_registration/campaignmonitor_registration.module, line 148
Select newsletter lists users want to subscribe on the registration page.

Code

function campaignmonitor_registration_form_user_register_submit(&$form, FormStateInterface &$form_state) {
  $values = $form_state
    ->getValues();

  // We only act if user checked the optin.
  if (!$values['campaignmonitor_subscribe']) {
    return;
  }
  $custom_fields = unserialize($values['custom_fields']);

  // Assemble the custom fields we lost.
  foreach ($values as $field => $value) {
    if (in_array($field, $custom_fields)) {
      $values['CustomFields'][$field] = $value;
      unset($values[$field]);
    }
  }
  $form_state
    ->setValues($values);
  $campaignSubscriptionManager = \Drupal::service('campaignmonitor.subscription_manager');
  $campaignSubscriptionManager
    ->subscribeSubmitHandler($form, $form_state);
}