function campaignmonitor_registration_form_user_register_submit in Campaign Monitor 8.2
Same name and namespace in other branches
- 8 modules/campaignmonitor_registration/campaignmonitor_registration.module \campaignmonitor_registration_form_user_register_submit()
- 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);
}