From a386dd97793c5b24434f588e791932f9fbcfec1c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rapha=C3=ABl=20Barrois?= Date: Sun, 20 Feb 2011 02:07:36 +0100 Subject: [PATCH] Prevent sending of empty NLs. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Raphaël Barrois --- bin/cron/newsletters.send.php | 18 +++++++++++------- include/newsletter.inc.php | 4 ++-- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/bin/cron/newsletters.send.php b/bin/cron/newsletters.send.php index e9e4ab5..f9fa74b 100755 --- a/bin/cron/newsletters.send.php +++ b/bin/cron/newsletters.send.php @@ -24,13 +24,17 @@ require_once './connect.db.inc.php'; require_once 'newsletter.inc.php'; ini_set('memory_limit', '128M'); -$nls = NewsLetter::getIssuesToSend(); -foreach ($nls as $nl) { - echo "Envoi de la lettre \"{$nl->title()}\" (Groupe {$nl->group})\n\n"; - echo ' ' . date("H:i:s") . " -> début de l'envoi\n"; - $emailsCount = $nl->sendToAll(); - echo ' ' . date("H:i:s") . " -> fin de l'envoi\n\n"; - echo $emailsCount . " emails ont été envoyés lors de cet envoi.\n\n"; +$issues = NewsLetter::getIssuesToSend(); +foreach ($issues as $issue) { + if ($issue->isEmpty()) { + echo "Lettre \"{$issue->title()}\" (Groupe {$issue->nl->group}) ignorée car vide."; + } else { + echo "Envoi de la lettre \"{$issue->title()}\" (Groupe {$issue->nl->group})\n\n"; + echo ' ' . date("H:i:s") . " -> début de l'envoi\n"; + $emailsCount = $issue->sendToAll(); + echo ' ' . date("H:i:s") . " -> fin de l'envoi\n\n"; + echo $emailsCount . " emails ont été envoyés lors de cet envoi.\n\n"; + } } // vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8: diff --git a/include/newsletter.inc.php b/include/newsletter.inc.php index 3df810f..26f648f 100644 --- a/include/newsletter.inc.php +++ b/include/newsletter.inc.php @@ -689,7 +689,7 @@ class NLIssue { if ($this->state == self::STATE_PENDING) { $success = XDB::execute('UPDATE newsletter_issues - SET send_before = NULL, state = \'new\' + SET state = \'new\' WHERE id = {?}', $this->id); if ($success) { $this->refresh(); @@ -999,7 +999,7 @@ class NLIssue */ public function isEmpty() { - return $this->mail_title == '' || $this->mail_title == 'to be continued' || (count($this->arts == 0 && strlen($this->head) == 0)); + return $this->title_mail == '' || $this->title_mail == 'to be continued' || (count($this->arts) == 0 && strlen($this->head) == 0); } /** Retrieve the 'Send before' date, in a clean format. -- 2.1.4