show_choose_audience = FALSE; $this->title = $title; $this->content = $content; } public function choose_audience() { return FALSE; } public function confirm() { // Get database information $dbconn =& oosDBGetConn(); $oostable =& oosDBGetTables(); $aContents = oos_get_content(); $mail_result = $dbconn->Execute("SELECT COUNT(*) AS total FROM " . $oostable['newsletter_recipients'] . " WHERE status = '1'"); $mail = $mail_result->fields; $confirm_string = '' . "\n" . ' ' . "\n" . ' ' . "\n" . ' ' . "\n" . ' ' . "\n" . ' ' . "\n" . ' ' . "\n" . ' ' . "\n" . ' ' . "\n" . ' ' . "\n" . ' ' . "\n" . ' ' . "\n" . ' ' . "\n" . ' ' . "\n" . ' ' . "\n" . ' ' . "\n" . ' ' . "\n" . ' ' . "\n" . ' ' . "\n" . ' ' . "\n" . ' ' . "\n" . ' ' . "\n" . '
' . sprintf(TEXT_COUNT_CUSTOMERS, $mail['total']) . '
' . $this->title . '
' . nl2br($this->content) . '
' . oos_button(IMAGE_SEND) . ' ' . oos_button(BUTTON_CANCEL) . '
'; return $confirm_string; } public function send($newsletter_id) { // (Re)create it, if it's gone missing if ( !is_object( $mail ) || !is_a( $mail, 'PHPMailer' ) ) { require_once MYOOS_INCLUDE_PATH . '/includes/lib/phpmailer/class.phpmailer.php'; require_once MYOOS_INCLUDE_PATH . '/includes/lib/phpmailer/class.smtp.php'; // Instantiate a new mail object $mail = new PHPMailer( true ); } // Empty out the values that may be set $oEmail->ClearAllRecipients(); $oEmail->ClearAttachments(); $oEmail->ClearCustomHeaders(); $oEmail->ClearReplyTos(); /* $sLang = ...; $oEmail->PluginDir = OOS_ABSOLUTE_PATH . 'includes/lib/phpmailer/'; $oEmail->SetLanguage( $sLang, OOS_ABSOLUTE_PATH . 'includes/lib/phpmailer/language/' ); */ $oEmail->CharSet = CHARSET; $oEmail->IsMail(); $oEmail->From = STORE_OWNER_EMAIL_ADDRESS; $oEmail->FromName = STORE_OWNER; $oEmail->Mailer = EMAIL_TRANSPORT; // Add smtp values if needed if ( EMAIL_TRANSPORT == 'smtp' ) { $oEmail->IsSMTP(); // set mailer to use SMTP $oEmail->SMTPAuth = OOS_SMTPAUTH; // turn on SMTP authentication $oEmail->Username = OOS_SMTPUSER; // SMTP username $oEmail->Password = OOS_SMTPPASS; // SMTP password $oEmail->Host = OOS_SMTPHOST; // specify main and backup server } else // Set sendmail path if ( EMAIL_TRANSPORT == 'sendmail' ) { if (!oos_empty(OOS_SENDMAIL)) { $oEmail->Sendmail = OOS_SENDMAIL; $oEmail->IsSendmail(); } } $oEmail->Subject = $this->title; // Get database information $dbconn =& oosDBGetConn(); $oostable =& oosDBGetTables(); $sql = "SELECT customers_gender, customers_firstname, customers_lastname, customers_email_address FROM " . $oostable['newsletter_recipients'] . " WHERE status = '1'"; $mail_result = $dbconn->Execute($sql); while ($mail = $mail_result->fields) { $oEmail->Body = $this->content; $oEmail->AddAddress($mail['customers_email_address'], $mail['customers_firstname'] . ' ' . $mail['customers_lastname']); $oEmail->Send(); // Clear all addresses and attachments for next loop $oEmail->ClearAddresses(); $oEmail->ClearAttachments(); // Move that ADOdb pointer! $mail_result->MoveNext(); } $newsletter_id = oos_db_prepare_input($newsletter_id); $dbconn->Execute("UPDATE " . $oostable['newsletters'] . " SET date_sent = now(), status = '1' WHERE newsletters_id = '" . oos_db_input($newsletter_id) . "'"); } }