was set in login.php include(PHPWCMS_ROOT.'/include/inc_lang/backend/'.substr($_SESSION["wcs_user_lang"],0,2).'/lang.inc.php'); } ?> phpwcms: Send Newsletter 'Newsletter test recipient', 'address_email' => $test_email_value, 'address_key' => '', 'queue_id' => 0 ); echo '

'.$BL['be_newsletter_testemail'].'

'; } else { $test_email_error[] = $test_email_value; } } if(count($test_email_error)) { echo str_replace('###TEST###', ' • '.implode(' • ', $test_email_error), $BL['be_newsletter_testerror']); } } elseif(isset($_GET['send_confirm']) && $_GET['send_confirm'] == 'confirmed') { // retrieve all recipients now // disable time limit if(!$loop) { set_time_limit(0); } // retrieve recipients for current loop $sql = 'SELECT address_key, address_email, address_name, queue_id '; $sql .= 'FROM '.DB_PREPEND.'phpwcms_address '; $sql .= 'LEFT JOIN '.DB_PREPEND.'phpwcms_newsletterqueue '; $sql .= 'ON '.DB_PREPEND.'phpwcms_address.address_id = '.DB_PREPEND.'phpwcms_newsletterqueue.queue_rid '; $sql .= 'WHERE '.DB_PREPEND.'phpwcms_newsletterqueue.queue_status=0 AND '; $sql .= DB_PREPEND.'phpwcms_newsletterqueue.queue_pid='.$newsletter["newsletter_id"]; if($loop) { $sql .= ' LIMIT '.$loop; } $recipient = _dbQuery($sql); } else { // do nothing } if(count($recipient)) { echo '

'.$BL['be_newsletter_to'].':

'; // check for newsletter template if(!empty($newsletter['newsletter_vars']['template']) && ($template = @file_get_contents(PHPWCMS_TEMPLATE.'inc_newsletter/'.$newsletter['newsletter_vars']['template'].'/newsletter.tmpl'))) { $template_html = trim(get_tmpl_section('HTML', $template)); $template_text = trim(get_tmpl_section('TEXT', $template)); if($template_html) { $newsletter['newsletter_vars']['html'] = str_replace('{CONTENT}', $newsletter['newsletter_vars']['html'], $template_html); } if($template_text) { $newsletter['newsletter_vars']['text'] = str_replace('{CONTENT}', $newsletter['newsletter_vars']['text'], $template_text); } } $mail = new PHPMailer(); $mail->Mailer = $phpwcms['SMTP_MAILER']; $mail->Host = $phpwcms['SMTP_HOST']; $mail->Port = $phpwcms['SMTP_PORT']; $mail->CharSet = $phpwcms["charset"]; if($phpwcms['SMTP_AUTH']) { $mail->SMTPAuth = 1; $mail->Username = $phpwcms['SMTP_USER']; $mail->Password = $phpwcms['SMTP_PASS']; } $mail->From = $newsletter['newsletter_vars']['from_email']; $mail->FromName = $newsletter['newsletter_vars']['from_name']; $mail->Sender = $newsletter['newsletter_vars']['replyto']; $mail->Subject = $newsletter['newsletter_subject']; if(!$mail->SetLanguage($phpwcms['default_lang'])) { $mail->SetLanguage('en'); } $mail->SMTPKeepAlive = true; $x = 0; foreach($recipient as $value) { if($x == 20) { $mail->SmtpClose(); // Manually close the SMTP connection $mail->SMTPKeepAlive = true; } $mail->AddAddress($value['address_email'], $value['address_name']); if($newsletter['newsletter_vars']['html'] && $newsletter['newsletter_vars']['text']) { //send both TEXT and HTML part $mail->Body = build_email_text($newsletter['newsletter_vars']['html'], $value); $mail->AltBody = build_email_text($newsletter['newsletter_vars']['text'], $value); $mail->IsHTML(1); } if($newsletter['newsletter_vars']['html'] && !$newsletter['newsletter_vars']['text']) { //send HTML part $mail->Body = build_email_text($newsletter['newsletter_vars']['html'], $value); $mail->IsHTML(1); } if(!$newsletter['newsletter_vars']['html'] && $newsletter['newsletter_vars']['text']) { //send TEXT part $mail->Body = build_email_text($newsletter['newsletter_vars']['text'], $value); $mail->IsHTML(0); } // update newsletter queue $sql = 'UPDATE '.DB_PREPEND.'phpwcms_newsletterqueue SET '; $sql .= 'queue_changed=NOW(), '; if( ( $mailresult = $mail->Send() ) == false ) { // save error information $sql .= 'queue_status=2, '; $sql .= "queue_errormsg='".aporeplace($mail->ErrorInfo)."' "; } else { // save success $sql .= 'queue_status=1 '; } $sql .= 'WHERE queue_id='.$value['queue_id']; @_dbQuery($sql, 'UPDATE'); if($mailresult == false) { echo '

'.$value['address_email'].' ('.$mail->ErrorInfo.')

'; } else { echo '. '; } flush(); $mail->ClearAddresses(); $x++; if($loop && $loop == $x) { $mail->SmtpClose(); updateSentDate($newsletter["newsletter_id"]); echo ''; flush(); exit(); } } $mail->SmtpClose(); updateSentDate($newsletter["newsletter_id"]); echo '

'; echo $BL['be_newsletter_ready']; } } else { echo 'no permission'; } function build_email_text($text, &$value) { //build right message part $refkey = rawurlencode($value['address_key']); $text = str_replace('###RECIPIENT_NAME###', $value['address_name'], $text); $text = str_replace('###RECIPIENT_EMAIL###', $value['address_email'], $text); $text = str_replace('###SITE_URL###', PHPWCMS_URL, $text); $text = str_replace('###VERIFY_LINK###', PHPWCMS_URL.'verify.php?s='.$refkey, $text); $text = str_replace('###DELETE_LINK###', PHPWCMS_URL.'verify.php?u='.$refkey, $text); return $text; } function updateSentDate($id=0) { $sql = "UPDATE ".DB_PREPEND."phpwcms_newsletter SET "; $sql .= "newsletter_lastsending=NOW(), "; $sql .= "newsletter_changed=newsletter_changed "; $sql .= "WHERE newsletter_id=".$id." LIMIT 1"; _dbQuery($sql, 'UPDATE'); } ?>