NotifySend.php
[Pman.Core] / NotifySend.php
index 281d3c0..a0dc225 100644 (file)
@@ -204,7 +204,7 @@ class Pman_Core_NotifySend extends Pman
             $ev = $this->addEvent('NOTIFY', $w,
                             "Notification event cleared (not required any more)" );;
             $ww = clone($w);
-            $w->sent = $w->sent == '0000-00-00 00:00:00' ? $w->sqlValue('NOW()') :$w->sent; // do not update if sent.....
+            $w->sent = (!$w->sent || $w->sent == '0000-00-00 00:00:00') ? $w->sqlValue('NOW()') : $w->sent; // do not update if sent.....
             $w->msgid = '';
             $w->event_id = $ev->id;
             $w->update($ww);
@@ -230,7 +230,7 @@ class Pman_Core_NotifySend extends Pman
             $ev = $this->addEvent('NOTIFY', $w, isset($email['error'])  ?
                             $email['error'] : "INTERNAL ERROR  - We can not handle " . $w->ontable); 
             $ww = clone($w);
-            $w->sent = $w->sent == '0000-00-00 00:00:00' ? $w->sqlValue('NOW()') :$w->sent; // do not update if sent.....
+            $w->sent = (!$w->sent || $w->sent == '0000-00-00 00:00:00') ? $w->sqlValue('NOW()') : $w->sent; // do not update if sent.....
             $w->msgid = '';
             $w->event_id = $ev->id;
             $w->update($ww);
@@ -350,7 +350,8 @@ class Pman_Core_NotifySend extends Pman
         
         $w->to_email = $p->email; 
         //$this->addEvent('NOTIFY', $w, 'GREYLISTED ' . $p->email . ' ' . $res->toString());
-        $w->act_when = date('Y-m-d H:i:s', strtotime('NOW + ' . $retry . ' MINUTES'));
+        // we can only update act_when if it has not been sent already (only happens when running in force mode..)
+        $w->act_when =  $w->sent == '0000-00-00 00:00:00' ? date('Y-m-d H:i:s', strtotime('NOW + ' . $retry . ' MINUTES')) : $w->act_when;
         $w->update($ww);
         
         $ww = clone($w);