Esempio n. 1
0
 public function testMailAddressSetState()
 {
     $address = ezcMailAddress::__set_state(array('email' => '*****@*****.**', 'name' => 'No Spam'));
     $this->assertEquals('*****@*****.**', $address->email);
     $this->assertEquals('No Spam', $address->name);
 }
Esempio n. 2
0
<?php

$cli->output('Delivering newsletters ');
// Fetch settings
$newsletter_ini = eZINI::instance('jaj_newsletter.ini');
$site_ini = eZINI::instance('site.ini');
$root_node_id = $newsletter_ini->variable('NewsletterSettings', 'RootFolderNodeId');
$batch_limit = $newsletter_ini->variable('NewsletterDelivery', 'BatchLimit');
$site_url = $site_ini->variable('SiteSettings', 'SiteURL');
$mail_transport = jajSmtpTransport::mailTransport();
$charset = jajSmtpTransport::charset();
$from_email = new ezcMailAddress($newsletter_ini->variable('NewsletterSettings', 'FromEmail'), $newsletter_ini->variable('NewsletterSettings', 'FromName'), $charset);
$reply_email = new ezcMailAddress($newsletter_ini->variable('NewsletterSettings', 'ReplyEmail'), '', $charset);
if (!$batch_limit) {
    $batch_limit = 1;
}
$time_limit = 60 * 10;
// 10 minutes, should be lover than cron job
$start_time = time();
$pendingNewsletters = eZContentObjectTreeNode::subTreeByNodeID(array('Limit' => 10, 'ClassFilterType' => 'include', 'ClassFilterArray' => array('jaj_newsletter'), 'AttributeFilter' => array(array('jaj_newsletter/status', '=', 'in progress'))), $root_node_id);
foreach ($pendingNewsletters as $newsletter) {
    $cli->output('Delivering newsletter: ' . $newsletter->getName() . ' (ContentObjectID: ' . $newsletter->ContentObjectID . ')');
    $cli->output('Batch limit left: ' . $batch_limit);
    $object_id = $newsletter->ContentObjectID;
    $url_alias = $newsletter->urlAlias();
    $url_newsletter = "http://" . $site_url . "/" . $url_alias . "/(generate)/nl/(uuid)/";
    $data_map = $newsletter->DataMap();
    $subject = $data_map['subject']->toString();
    $deliveries = jajNewsletterDelivery::fetchDeliveriesByContentobjectIDAndState($object_id, 'pending', $batch_limit, 0, true);
    foreach ($deliveries as $delivery) {
        $batch_limit--;