You are here

function campaignmonitor_registration_form_campaignmonitor_list_settings_form_alter in Campaign Monitor 8

Same name and namespace in other branches
  1. 8.2 modules/campaignmonitor_registration/campaignmonitor_registration.module \campaignmonitor_registration_form_campaignmonitor_list_settings_form_alter()

Implements hook_form_BASE_FORM_ID_alter().

Parameters

$form:

FormStateInterface $form_state:

File

modules/campaignmonitor_registration/campaignmonitor_registration.module, line 134

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'];
  $defaults = campaignmonitor_get_list_settings($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';
    }
  }
}