function simplenews_subscription_list_remove_submit in Simplenews 7.2
Same name and namespace in other branches
- 6.2 includes/simplenews.admin.inc \simplenews_subscription_list_remove_submit()
- 6 simplenews.admin.inc \simplenews_subscription_list_remove_submit()
- 7 includes/simplenews.admin.inc \simplenews_subscription_list_remove_submit()
@todo
File
- includes/
simplenews.admin.inc, line 977 - Newsletter admin, subscription admin, simplenews settings
Code
function simplenews_subscription_list_remove_submit($form, &$form_state) {
$removed = array();
$invalid = array();
$checked_lists = array_keys(array_filter($form_state['values']['newsletters']));
$emails = preg_split("/[\\s,]+/", $form_state['values']['emails']);
foreach ($emails as $email) {
$email = trim($email);
if (valid_email_address($email)) {
foreach ($checked_lists as $newsletter_id) {
simplenews_unsubscribe($email, $newsletter_id, 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,
)));
$newsletters = simplenews_newsletter_get_all();
$list_names = array();
foreach ($checked_lists as $newsletter_id) {
$list_names[] = $newsletters[$newsletter_id]->name;
}
drupal_set_message(t('The addresses were unsubscribed from the following newsletters: %newsletters.', array(
'%newsletters' => implode(', ', $list_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');
}
// Return to the parent page.
$form_state['redirect'] = 'admin/people/simplenews';
}