Prune.php
authorAlan Knowles <alan@roojs.com>
Wed, 9 Dec 2015 09:22:43 +0000 (17:22 +0800)
committerAlan Knowles <alan@roojs.com>
Wed, 9 Dec 2015 09:22:43 +0000 (17:22 +0800)
Prune.php

index a63daac..594181c 100644 (file)
--- a/Prune.php
+++ b/Prune.php
@@ -69,6 +69,32 @@ class Pman_Core_Prune extends Pman
         // eg. when we tried to deliver multiple times without success...
         
         
+        $f = DB_DataObject::Factory('Events');
+        $f->selectAdd();
+        $f->selectAdd("on_id, min(id) as min_id, max(id) as max_id, count(*) as mm");
+        $f->whereAdd("action = 'NOTIFY' and event_when < NOW() - INTERVAL 2 WEEK");
+        $f->groupBy('on_id');
+        $f->having("mm > 2");
+        $f->orderBy('mm desc') ;
+        $f->limit(1000);
+        $ar = $f->fetchAll();
+        foreach($ar as $f) {
+            $f = DB_DataObject::Factory('Events');
+            $f->query("DELETE FROM Events where 
+                  action = 'NOTIFY'
+                  AND
+                  event_when < NOW() - INTERVAL 2 WEEK
+                  AND
+                  on_id = {$f->on_id}
+                  AND
+                  id > {$f->min_id} AND id < {$f->max_id}
+            ");
+        }
+        
+        
+
+        
+        
         
         // pruning is for our press project - so we do not clean up dependant tables at present..