function mailchimp_get_list_groups($list_id) { $api = mailchimp_load_API(); if (is_wp_error($api)) { return array(); } $groups = $api->lists->interestGroupings($list_id); if (is_wp_error($groups)) { return array(); } return $groups; }
private function render_import_tab() { $mailchimp_apikey = get_site_option('mailchimp_apikey', ''); $mailchimp_mailing_list = get_site_option('mailchimp_mailing_list'); $mailchimp_ignore_plus = get_site_option('mailchimp_ignore_plus'); $mailchimp_allow_widget = get_site_option('mailchimp_allow_widget', false); $mailchimp_last_imported_list = get_site_option('mailchimp_last_imported_list', $mailchimp_mailing_list); if (!empty($mailchimp_apikey)) { $api = mailchimp_load_API(); if (is_wp_error($api)) { $api_error = $api->get_error_message(); } $mailchimp_lists = mailchimp_get_lists(); $api_error = !empty($api_error); } if (isset($_POST['action']) && $_POST['action'] == 'submit-import') { ?> <div class="processing_result"></div> <p><?php _e('Importing users, please wait. This could take long depending on the number of users you have in your site...', MAILCHIMP_LANG_DOMAIN); ?> </p> <?php return; } if (is_array($mailchimp_lists) && count($mailchimp_lists)) { ?> <h3><?php _e('Sync Existing Users', MAILCHIMP_LANG_DOMAIN); ?> </h3> <span class="description"><?php _e('This function will syncronize all existing users on your install with your MailChimp list, adding new ones, updating the first/last name of previously imported users, and removing spammed or deleted users from your selected list. Note you really only need to do this once after installing, it is carried on automatically after installation.', MAILCHIMP_LANG_DOMAIN); ?> </span> <?php } ?> <table class="form-table"> <tr class="form-field form-required"> <th scope="row"><?php _e('Mailing List', MAILCHIMP_LANG_DOMAIN); ?> </th> <td> <select name="mailchimp_import_mailing_list" id="mailchimp_import_mailing_list"> <?php foreach ($mailchimp_lists as $mailchimp_list) { ?> <option value="<?php echo $mailchimp_list['id']; ?> " <?php selected($mailchimp_last_imported_list == $mailchimp_list['id']); ?> ><?php echo $mailchimp_list['name']; ?> </option><?php } ?> </select><br /> <?php _e('The mailing list you want to import existing users to.', MAILCHIMP_LANG_DOMAIN); ?> </td> </tr> <tr class="form-field form-required"> <th scope="row"><?php _e('Auto Opt-in', MAILCHIMP_LANG_DOMAIN); ?> </th> <td> <select name="mailchimp_import_auto_opt_in" id="mailchimp_import_auto_opt_in"> <option value="yes" ><?php _e('Yes', MAILCHIMP_LANG_DOMAIN); ?> </option> <option value="no" ><?php _e('No', MAILCHIMP_LANG_DOMAIN); ?> </option> </select><br /> <?php _e('Automatically opt-in new users to the mailing list. Users will not receive an email confirmation. Use at your own risk.', MAILCHIMP_LANG_DOMAIN); ?> </td> </tr> </table> <?php submit_button(__('Import', MAILCHIMP_LANG_DOMAIN), 'primary', 'submit-mailchimp-settings'); }
function mailchimp_blog_users_remove($blog_id) { $mailchimp_mailing_list = get_site_option('mailchimp_mailing_list'); $api = mailchimp_load_API(); $emails = array(); $blogusers = get_users_of_blog($blog_id); if ($blogusers) { foreach ($blogusers as $bloguser) { $emails[] = $bloguser->user_email; } } $results = mailchimp_bulk_unsubscribe_users($emails, $mailchimp_mailing_list); }