function fetchNewsletterOnHoldCount($status) { return array('result' => eZSendNewsletterItem::count($status)); }
$cli->output('Fetching prepared newsletter...'); $newsletterArray = eZNewsletter::fetchListBySendStatus(eZNewsletter::SendStatusSending, eZNewsletter::StatusPublished, true, $conditions); $cli->output('Found ' . count($newsletterArray) . ' newsletter.'); if (0 === count($newsletterArray)) { $cli->output('Nothing to send.'); } else { $cli->output('Sending newsletter...'); } // stevo $totallimit = 200; $limit = $totallimit / count($newsletterArray); foreach ($newsletterArray as $newsletter) { $cli->output('Sending messages for ' . $newsletter->attribute('name')); // stevo $statistics = eZNewsletter::sendNewsletterMail($newsletter, false, false, $limit); //$newsletter->setAttribute( 'send_status', eZNewsletter::SendStatusFinished ); //$newsletter->sync(); $cli->output('Sent ' . $statistics['sendCount'] . ' ( skipped:' . $statistics['skipCount'] . ' )' . ' messages for newsletter : ' . $newsletter->attribute('name')); // stevo $count = eZSendNewsletterItem::count(eZSendNewsletterItem::SendStatusNone, $newsletter->attribute('id')); $cli->output("{$count} users left"); if ($count <= 0) { $newsletter->setAttribute('send_status', eZNewsletter::SendStatusFinished); $newsletter->sync(); $cli->output('Finished sending newsletter : ' . $newsletter->attribute('name')); } } // remove pid file to unlock cronjob if (file_exists($pidfilename)) { unlink($pidfilename); }