function campaignmonitor_registration_form_campaignmonitor_list_settings_form_alter in Campaign Monitor 8.2
Same name and namespace in other branches
- 8 modules/campaignmonitor_registration/campaignmonitor_registration.module \campaignmonitor_registration_form_campaignmonitor_list_settings_form_alter()
Implements hook_form_BASE_FORM_ID_alter().
File
- modules/
campaignmonitor_registration/ campaignmonitor_registration.module, line 170 - Select newsletter lists users want to subscribe on the registration page.
Code
function campaignmonitor_registration_form_campaignmonitor_list_settings_form_alter(&$form, FormStateInterface &$form_state) {
// Find form key to index the form array and load defaults.
$list_id = $form['listId']['#value'];
$campaignManager = \Drupal::service('campaignmonitor.manager');
$defaults = $campaignManager
->getListSettings($list_id);
$form_key = 'campaignmonitor_list_' . $list_id;
// Add option to enable this form on the user page.
$form[$form_key]['display']['registration'] = [
'#type' => 'checkbox',
'#title' => t('Display list on registration page'),
'#description' => t('Enable this list on the registration page and allow subscription.'),
'#default_value' => isset($defaults['display']['registration']) ? $defaults['display']['registration'] : 0,
];
foreach (array_keys($form['actions']) as $action) {
if ($action != 'preview' && isset($form['actions'][$action]['#type']) && $form['actions'][$action]['#type'] === 'submit') {
$form['actions'][$action]['#submit'][] = 'campaignmonitor_registration_form_campaignmonitor_list_settings_submit';
}
}
}