Example #1
0
        $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'];