function simplenews_subscription_list_remove_submit in Simplenews 6.2
Same name and namespace in other branches
- 6 simplenews.admin.inc \simplenews_subscription_list_remove_submit()
- 7.2 includes/simplenews.admin.inc \simplenews_subscription_list_remove_submit()
- 7 includes/simplenews.admin.inc \simplenews_subscription_list_remove_submit()
File
- includes/
simplenews.admin.inc, line 686 - Newsletter admin, subscription admin, simplenews settings
Code
function simplenews_subscription_list_remove_submit($form, &$form_state) {
$removed = array();
$invalid = array();
$checked_newsletters = array_filter($form_state['values']['newsletters']);
$emails = preg_split("/[\\s,]+/", $form_state['values']['emails']);
foreach ($emails as $email) {
$email = trim($email);
if (simplenews_valid_email_address($email)) {
foreach ($checked_newsletters as $tid) {
$newsletter = taxonomy_get_term($tid);
simplenews_unsubscribe_user($email, $newsletter->tid, FALSE, 'mass unsubscribe');
$removed[] = $email;
}
}
else {
$invalid[] = $email;
}
}
if ($removed) {
$removed = implode(", ", $removed);
drupal_set_message(t('The following addresses were unsubscribed: %removed.', array(
'%removed' => $removed,
)));
$newsletter_names = array();
foreach ($checked_newsletters as $tid) {
$newsletter = taxonomy_get_term($tid);
$newsletter_names[] = $newsletter->name;
}
drupal_set_message(t('The addresses were unsubscribed from the following newsletters: %newsletters.', array(
'%newsletters' => implode(', ', $newsletter_names),
)));
}
else {
drupal_set_message(t('No addresses were removed.'));
}
if ($invalid) {
$invalid = implode(", ", $invalid);
drupal_set_message(t('The following addresses were invalid: %invalid.', array(
'%invalid' => $invalid,
)), 'error');
}
}