コード例 #1
0
 $ezcOutputOptions = array();
 if ($cli->isQuiet()) {
     $ezcOutputOptions = array('verbosityLevel' => 0);
 }
 $output = new ezcConsoleOutput(null, $ezcOutputOptions);
 $editionSendId = (int) $sendObject->attribute('id');
 $sendItemsStatistic = $sendObject->attribute('send_items_statistic');
 $itemsCountAll = $sendItemsStatistic['items_count'];
 $itemsSend = $sendItemsStatistic['items_send'];
 $itemsNotSend = $sendItemsStatistic['items_not_send'];
 // ### sendObject Data
 $outputFormatStringArray = $sendObject->getParsedOutputXml();
 // embed images
 foreach ($outputFormatStringArray as $outputFormatId => $outputFormatNewsletterContentArray) {
     if ($outputFormatNewsletterContentArray['html_mail_image_include'] == 1) {
         $outputFormatStringArray[$outputFormatId] = CjwNewsletterEdition::prepareImageInclude($outputFormatNewsletterContentArray);
     }
 }
 // embed images ends
 $emailSender = $sendObject->attribute('email_sender');
 $emailSenderName = $sendObject->attribute('email_sender_name');
 $limit = 50;
 $offset = 0;
 $itemCounter = 1;
 $progressMonitor = new ezcConsoleProgressMonitor($output, $itemsNotSend);
 $cjwMail = new CjwNewsletterMail();
 $cjwMail->setTransportMethodCronjobFromIni();
 // process every send_item of current sendobject
 for ($i = 0; $i < $itemsNotSend; $i += $limit) {
     //  $progressBar->advance();
     $sendItemList = CjwNewsletterEditionSendItem::fetchListSendIdAndStatus($editionSendId, CjwNewsletterEditionSendItem::STATUS_NEW, $limit, $offset);
コード例 #2
0
 /**
  * Generate text html of a output for preview and sending email
  *
  * @see classes/cjwnewslettermail.php getAllOutputFormatTextByContentObjectVersion()
  * @see modules/newsletter/preview.php
  * @param unknown_type $editionContentObjectId
  * @param unknown_type $versionId
  * @param unknown_type $outputFormat
  * @param string $siteAccess
  * @param string $skinName
  * @param int $forceImageIncludeSettings -1 - use default settings
  *                                       1 - force do not render all img to file://settings from newsletterContentArray['html_mail_image_include'] will be used
  *                                       0 - force renders all img to file://
  * @return array
  */
 static function getOutput($editionContentObjectId, $versionId, $outputFormat, $siteAccess, $skinName = 'default', $forceSettingImageIncludeTo = -1)
 {
     if ($skinName == '') {
         $skinName = 'default';
     }
     $cjwNewsletterIni = eZINI::instance('cjw_newsletter.ini');
     $phpCli = $cjwNewsletterIni->variable('NewsletterSettings', 'PhpCli');
     $currentHostName = eZSys::hostname();
     $wwwDir = eZSys::wwwDir();
     //$wwwDir = 'tmp';
     $wwwDirString = '';
     if ($wwwDir != '') {
         $wwwDirString = "--www_dir={$wwwDir} ";
     }
     $cmd = "\"{$phpCli}\" extension/cjw_newsletter/bin/php/createoutput.php --object_id={$editionContentObjectId} --object_version={$versionId} --output_format_id={$outputFormat} {$wwwDirString}--current_hostname={$currentHostName} --skin_name={$skinName} -s {$siteAccess}";
     $fileSep = eZSys::fileSeparator();
     $cmd = str_replace('/', $fileSep, $cmd);
     eZDebug::writeDebug("shell_exec( {$cmd} )", 'newsletter/preview');
     // echo "<hr>$cmd<hr>";
     $returnValue = shell_exec(escapeshellcmd($cmd));
     $newsletterContentArray = unserialize(trim($returnValue));
     if (CjwNewsletterEdition::imageIncludeIsEnabled()) {
         $htmlMailImageInclude = 1;
     }
     // forpreview
     $imageInclude = false;
     // render file:// if we want to force it
     // or use setting from $newsletterContentArray['html_mail_image_include']
     if ($forceSettingImageIncludeTo === -1 && $newsletterContentArray['html_mail_image_include'] === 1) {
         $imageInclude = true;
     } elseif ($forceSettingImageIncludeTo === 1) {
         $imageInclude = true;
     } elseif ($forceSettingImageIncludeTo === 0) {
         // $imageInclude = false;
     }
     if ($imageInclude === true) {
         $newsletterContentArray = CjwNewsletterEdition::prepareImageInclude($newsletterContentArray);
     }
     return $newsletterContentArray;
 }