You are here

function mailchimp_lists_user_subscribe_form in Mailchimp 7.2

Returns a subscription form, or forms, for a given user as a single form.

If there are multiple lists, this generates a single form for all of them.

3 string references to 'mailchimp_lists_user_subscribe_form'
mailchimp_lists_forms in modules/mailchimp_lists/mailchimp_lists.module
Implements hook_forms().
mailchimp_lists_freeform_subscribe_page in modules/mailchimp_lists/mailchimp_lists.module
Page callback for a freeform newsletter subscription page.
mailchimp_lists_user_subscribe_page in modules/mailchimp_lists/mailchimp_lists.module
Page callback for a user newsletter subscription page.

File

modules/mailchimp_lists/mailchimp_lists.module, line 433
Mailchimp lists module.

Code

function mailchimp_lists_user_subscribe_form($form, &$form_state, $lists, $account) {
  $form['#attributes'] = array(
    'class' => array(
      'mailchimp-lists-user-subscribe-form',
    ),
  );
  $form['account'] = array(
    '#type' => 'value',
    '#value' => $account,
  );
  $form['mailchimp_lists'] = array(
    '#tree' => TRUE,
  );
  $multiple_lists = count($lists) != 1;
  foreach ($lists as $list) {
    $include_header = FALSE;
    if ($list->settings['required'] && $multiple_lists) {
      $include_header = TRUE;
    }
    mailchimp_lists_auth_newsletter_form($form['mailchimp_lists'], $list, $account, $include_header);
  }
  $submit_label = 'Subscribe';
  if (!$multiple_lists && isset($lists[0]->settings['submit_label'])) {
    $submit_label = $lists[0]->settings['submit_label'];
  }
  $form['submit'] = array(
    '#type' => 'submit',
    '#value' => t($submit_label),
  );
  return $form;
}