subscriberAddAndResubscribe($user_email, $user_name); } } function campaign_monitor_sync_bb_remove_user_from_list($user_email) { if ($campaign_monitor = campaign_monitor_connect_bb()) { // This is the actual call to the method, passing email address, name. $result = $campaign_monitor->subscriberUnsubscribe($user_email); } } function campaign_monitor_sync_bb_check_user_subscribed($user_email) { if ($campaign_monitor = campaign_monitor_connect_bb()) { return $campaign_monitor->subscribersGetIsSubscribed($user_email); } } add_action( 'bb_admin_menu_generator', 'campaign_monitor_sync_bb_add_admin_page' ); // Add the menu item for the admin page, under the Users section function campaign_monitor_sync_bb_add_admin_page() { bb_admin_add_submenu(__('Campaign Monitor Sync'), 'moderate', 'campaign_monitor_sync_bb_admin_page', 'users.php'); } // Draw the actual Campaign Monitor Sync admin page function campaign_monitor_sync_bb_admin_page() { $options = bb_get_option('campaign_monitor_sync_bb_options'); if (!empty($options['api_key'])) { $clients = array(); if ($campaign_monitor = campaign_monitor_connect_bb()) { $clients = $campaign_monitor->userGetClients(); } } // Try to connect using the API key and show error if there is a problem ?>

Campaign Monitor Settings

Please enter your Campaign Monitor API key here. You must then choose a Client and the Mailing List to use. Newly registered users will be added to the chosen Mailing List in Campaign Monitor.


NOTE: New users will not be added to a mailing list, because none has been chosen.

clientGetLists($client['ClientID']); if (isset($lists['anyType']['List']['ListID'])) { $lists['anyType']['List'] = array($lists['anyType']['List']); } if (!empty($lists)) { ?>
/>



user_email); // Make sure the meta option is the same as in Campaign Monitor bb_update_usermeta( $bb_current_user->ID, 'cms_subscribe_mailing_list', (strtolower($subscribed['anyType']) == 'true' ? 1 : 0)); // Add the extra option to the form $options['cms_subscribe_mailing_list'] = array(0, 'Subscribe to Mailing List?', 'checkbox', 1); } return $options; } // When the user edits their profile, subscribe/unsubscribe from the mailing list add_action( 'profile_edited', 'campaign_monitor_sync_bb_update_subscription'); add_action( 'register_user', 'campaign_monitor_sync_bb_update_subscription'); function campaign_monitor_sync_bb_update_subscription($user_id) { // Find the user details if ( !$user = bb_get_user( $user_id ) ) { return false; } if ($campaign_monitor = campaign_monitor_connect_bb()) { // Subscribe if ($user->cms_subscribe_mailing_list == 1) { $result = $campaign_monitor->subscriberAddAndResubscribe($user->user_email, $user->user_nicename); } else { // Unsubscribe $result = $campaign_monitor->subscriberUnsubscribe($user->user_email); } } } ?>