예제 #1
0
function fn_restore_mailer()
{
    fn_override_mailer(true);
}
예제 #2
0
     foreach ((array) Registry::get('languages') as $lang_code => $v) {
         $n[$lang_code] = fn_get_newsletter_data($newsletter_id, $lang_code);
         list($n[$lang_code]['body_txt'], $n[$lang_code]['body_html']) = fn_rewrite_links($n[$lang_code]['body_txt'], $n[$lang_code]['body_html'], $newsletter_id, $n[$lang_code]['campaign_id']);
     }
     $newsletter_data[] = $n;
 }
 foreach (array_splice($data['recipients'], 0, Registry::get('addons.news_and_emails.newsletters_per_pass')) as $subscriber) {
     foreach ($newsletter_data as $newsletter) {
         if ($subscriber['format'] == NEWSLETTER_FORMAT_TXT || empty($newsletter[$subscriber['lang_code']]['body_html']) && !empty($subscriber['users_list']) && $subscriber['users_list'] == 'Y') {
             $body = fn_render_newsletter($newsletter[$subscriber['lang_code']]['body_txt'], $subscriber);
             $subscriber['format'] = NEWSLETTER_FORMAT_TXT;
         } else {
             $body = fn_render_newsletter($newsletter[$subscriber['lang_code']]['body_html'], $subscriber);
         }
         fn_echo(str_replace('[email]', $subscriber['email'], fn_get_lang_var('sending_email_to')) . '<br />');
         fn_override_mailer();
         if (!empty($newsletter[$subscriber['lang_code']]['newsletter_multiple'])) {
             $subjects = explode("\n", $newsletter[$subscriber['lang_code']]['newsletter_multiple']);
             $newsletter[$subscriber['lang_code']]['newsletter'] = trim($subjects[rand(0, count($subjects) - 1)]);
         }
         fn_send_newsletter($subscriber['email'], $subscriber, $newsletter[$subscriber['lang_code']]['newsletter'], $body, array(), $subscriber['lang_code'], $subscriber['reply_to'], $subscriber['format'] == NEWSLETTER_FORMAT_HTML);
         fn_restore_mailer();
     }
 }
 if (!empty($data['recipients'])) {
     fn_put_contents(DIR_COMPILED . $_REQUEST['cache_file'], serialize($data));
     return array(CONTROLLER_STATUS_OK, "newsletters.batch_send?cache_file=" . $_REQUEST['cache_file']);
 } else {
     fn_rm(DIR_COMPILED . $_REQUEST['cache_file']);
     fn_set_notification('N', fn_get_lang_var('notice'), fn_get_lang_var('text_newsletter_sent'));
     $suffix = sizeof($data['send_ids']) == 1 ? ".update?newsletter_id=" . array_pop($data['send_ids']) : '.manage';