You are here

function newsletter_subscriber_add_mass_submit in Newsletter 7

File

includes/newsletter.admin.inc, line 1001
Admin page callbacks for the newsletter module.

Code

function newsletter_subscriber_add_mass_submit($form, &$form_state) {
  $entries = $form_state['values']['subscribers'];
  $entries = explode("\n", $entries);
  foreach ($entries as $entry) {
    $subscriber = new stdClass();
    $entry = explode(';', $entry);
    $entry = array_map('trim', $entry);
    $subscriber->email = isset($entry[0]) && !empty($entry[0]) ? $entry[0] : NULL;
    $subscriber->firstname = isset($entry[1]) && !empty($entry[1]) ? $entry[1] : NULL;
    $subscriber->lastname = isset($entry[2]) && !empty($entry[2]) ? $entry[2] : NULL;
    $subscriber->gender = isset($entry[3]) && !empty($entry[3]) ? $entry[3] : NULL;
    $subscriber->receive_format = isset($entry[4]) && !empty($entry[4]) ? $entry[4] : NULL;
    foreach ($form_state['values']['list'] as $list) {
      $subscriber->field_newsletter_list[LANGUAGE_NONE][]['target_id'] = $list;
    }
    $subscriber->confirmed = 1;
    if (!isset($subscriber->email)) {
      continue;
    }
    entity_get_controller('newsletter_subscriber')
      ->save($subscriber);
  }
  $form_state['redirect'] = 'admin/config/media/newsletter/subscribers';
}