$newsletterUser = CjwNewsletterUser::fetch($subscription->attribute('newsletter_user_id')); } } $editionSendObject = CjwNewsletterEditionSend::fetchByHash($editionSendHash); if (!is_object($editionSendObject)) { return $module->handleError(eZError::KERNEL_NOT_AVAILABLE, 'kernel'); } $newsletterDataArray = $editionSendObject->getParsedOutputXml(); $newsletterContent = false; if (isset($newsletterDataArray[$outputFormatId])) { $newsletterContentArray = $newsletterDataArray[$outputFormatId]; } switch ($outputFormatId) { // html case 0: $newsletterContent = CjwNewsletterUtils::replaceNewsletterMarkers($newsletterContentArray['body']['html'], $editionSendObject, $newsletterUser); break; // text // text case 1: $newsletterContent .= '<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>newsletter - outputformat - text</title></head><body><pre>' . $newsletterContentArray['body']['text'] . '</pre></body></html>'; break; default: return $module->handleError(eZError::KERNEL_NOT_AVAILABLE, 'kernel'); } $debug = 0; if ($debug == 0) { header("Content-type: text/html"); echo $newsletterContent; eZExecution::cleanExit();
$sendItemList = CjwNewsletterEditionSendItem::fetchListSendIdAndStatus($editionSendId, CjwNewsletterEditionSendItem::STATUS_NEW, $limit, $offset); $count = count($sendItemList); foreach ($sendItemList as $sendItem) { $id = $sendItem->attribute('id'); $outputFormatId = $sendItem->attribute('output_format_id'); // ### get newsletter user data through send_item_object $newsletterUserObject = $sendItem->attribute('newsletter_user_object'); $emailReceiver = $newsletterUserObject->attribute('email'); $emailReceiverName = $newsletterUserObject->attribute('email_name'); // fetch html & text content of parsed outputxml from senmdobject // data of outputformate $outputStringArray = $outputFormatStringArray[$outputFormatId]['body']; $emailSubject = $outputFormatStringArray[$outputFormatId]['subject']; $outputStringArrayNew = array('html' => '', 'text' => ''); foreach ($outputStringArray as $index => $string) { $outputStringArrayNew[$index] = CjwNewsletterUtils::replaceNewsletterMarkers($string, $sendObject, $newsletterUserObject); } // set x-cjwnl header $cjwMail->resetExtraMailHeaders(); $cjwMail->setExtraMailHeadersByNewsletterSendItem($sendItem); $resultArray = $cjwMail->sendEmail($emailSender, $emailSenderName, $emailReceiver, $emailReceiverName, $emailSubject, $outputStringArrayNew); $sendResult = $resultArray['send_result']; if ($sendResult === true) { // emal was send $progressMonitor->addEntry("[SEND] {$itemCounter}/{$itemsNotSend}", "Newsletter send item {$id} processed. "); // wenn ok als versendet markieren $sendItem->setAttribute('status', CjwNewsletterEditionSendItem::STATUS_SEND); $sendItem->store(); } else { // error execption $exception = $resultArray['send_result'];