diff --git a/modules/mailchimp_lists/mailchimp_lists.admin.inc b/modules/mailchimp_lists/mailchimp_lists.admin.inc index 1e6972c..06724dd 100644 --- a/modules/mailchimp_lists/mailchimp_lists.admin.inc +++ b/modules/mailchimp_lists/mailchimp_lists.admin.inc @@ -14,7 +14,7 @@ function mailchimp_lists_overview_page() { l(t('Edit'), 'admin/config/services/mailchimp/lists/' . $list->id . '/edit'), l(t('Delete'), 'admin/config/services/mailchimp/lists/' . $list->id . '/delete') ); - if ($list->list_type === MAILCHIMP_LISTTYPE_REQUIRED && isset($list->settings['cron']) && $list->settings['cron']) { + if ($list->list_type !== MAILCHIMP_LISTTYPE_FREEFORM && isset($list->settings['cron']) && $list->settings['cron']) { $actions[] = l(t('Queue existing'), 'mailchimp/lists/' . $list->id . '/queue_existing'); } $rows[] = array( @@ -112,7 +112,7 @@ function mailchimp_lists_list_form($form, &$form_state, $list = NULL) { '#type' => 'select', '#title' => t('Type of list'), '#multiple' => FALSE, - '#description' => t('Required lists are automatically syncronized with the + '#description' => t('Required and optional lists are automatically syncronized with the sites users. Optional lists provide a checkbox allowing users to subscribe during registration or when updating their account. Free form lists, the only type allowed for the Anonymous role, present a signup form @@ -207,9 +207,9 @@ function mailchimp_lists_list_form($form, &$form_state, $list = NULL) { '#description' => t('If this is set, users will be subscribed to the required list during cron runs. Otherwise subscription will take place when a user is added/edited.'), '#states' => array( - // Hide this option for required lists - 'visible' => array( - ':input[name="list_type"]' => array('value' => MAILCHIMP_LISTTYPE_REQUIRED), + // Hide this option for freeform lists. + 'invisible' => array( + ':input[name="list_type"]' => array('value' => MAILCHIMP_LISTTYPE_FREEFORM), ), ), ); diff --git a/modules/mailchimp_lists/mailchimp_lists.module b/modules/mailchimp_lists/mailchimp_lists.module index a0f2912..b40db3f 100644 --- a/modules/mailchimp_lists/mailchimp_lists.module +++ b/modules/mailchimp_lists/mailchimp_lists.module @@ -110,7 +110,7 @@ function mailchimp_lists_user_subscribe_page_access($user) { */ function mailchimp_lists_queue_existing_access($list) { $ret = FALSE; - if ($list->list_type === MAILCHIMP_LISTTYPE_REQUIRED && $list->settings['cron'] && user_access('administer mailchimp')) { + if ($list->list_type != MAILCHIMP_LISTTYPE_FREEFORM && $list->settings['cron'] && user_access('administer mailchimp')) { $ret = TRUE; } return $ret; @@ -293,7 +293,7 @@ function mailchimp_lists_user_insert(&$edit, $account, $category) { */ function mailchimp_lists_user_delete($account) { // unsubscribe a user from all required lists - $lists = mailchimp_lists_get_available_lists($account, MAILCHIMP_LISTTYPE_REQUIRED); + $lists = mailchimp_lists_get_available_lists($account, array(MAILCHIMP_LISTTYPE_REQUIRED, MAILCHIMP_LISTTYPE_OPTIONAL)); if (!empty($lists)) { $mcapi = mailchimp_get_api_object(); foreach ($lists as $list) { @@ -352,7 +352,7 @@ function mailchimp_lists_user_sync($account, $old_email = '', $new_email = '', $ } // Add subscriptions if necessary - $lists = mailchimp_lists_get_available_lists($account, MAILCHIMP_LISTTYPE_REQUIRED); + $lists = mailchimp_lists_get_available_lists($account, array(MAILCHIMP_LISTTYPE_REQUIRED, MAILCHIMP_LISTTYPE_OPTIONAL)); if (!empty($lists)) { $mcapi = mailchimp_get_api_object(); foreach ($lists as $list) {