function campaignmonitor_user_page_form_submit in Campaign Monitor 6.3
Implementation of user page form submit.
File
- includes/
campaignmonitor.user_page.inc, line 73
Code
function campaignmonitor_user_page_form_submit($form, &$form_state) {
global $user;
$api_key = variable_get(CM_API_KEY, '');
$client_id = variable_get(CM_CLIENT_ID, '');
// Get the different lists avaliable and their state for the current user.
$chosen_lists = campaignmonitor_get_available_lists();
$subscribe = $form_state['values']['subscribe_newsletter'];
foreach ($chosen_lists as $list_id => $list) {
if ($subscribe[$list_id]) {
// Try to get name from default key values.
$account = campaignmonitor_get_field_key_values($user->uid);
$name = isset($account[$list->namekey]) ? $account[$list->namekey] : '';
// If subscribed, add if not already subscribed.
if (isset($subscribe[$list_id]) && !$form_state['values']['is_subscribed_' . $list_id]) {
_campaignmonitor_add_subscriber($api_key, $list_id, $name, $user->mail);
}
}
elseif (!$subscribe[$list_id] && $form_state['values']['is_subscribed_' . $list_id]) {
_campaignmonitor_remove_subscriber($api_key, $list_id, $user->mail);
}
}
}