X-Git-Url: http://git.roojs.org/?p=Pman.Core;a=blobdiff_plain;f=Prune.php;h=2ed9ea3debe6eef8dd18b24740658236b7477962;hp=63d5a86760f33ce3f904f374714e66ba3407ed89;hb=refs%2Fheads%2Fwip_alan_T6343_generic_progress_bar_delete;hpb=98510a56b296211431386b3d929d93aa71d2096b diff --git a/Prune.php b/Prune.php index 63d5a867..2ed9ea3d 100644 --- a/Prune.php +++ b/Prune.php @@ -25,19 +25,21 @@ class Pman_Core_Prune extends Pman var $cli = false; function getAuth() { + + $ff = HTML_FlexyFramework::get(); if (!empty($ff->cli)) { $this->cli = true; return true; } -// return true;// for test only + + // return true;// for test only return false; } function get($m="", $opts=array()) { - echo "start?"; - // prune irrelivant stuff.. + // prune irrelivant stuff.. @@ -76,7 +78,10 @@ class Pman_Core_Prune extends Pman WHERE action = 'NOTIFY' and event_when < NOW() - INTERVAL 1 WEEK GROUP BY on_id, on_table HAVING mm > 2 ORDER BY mm desc; */ - DB_DataObject::debugLevel(1); + //DB_DataObject::debugLevel(1); + $f = DB_DataObject::Factory('Events'); + $before = $f->count(); + $f = DB_DataObject::Factory('Events'); $f->selectAdd(); $f->selectAdd("on_id, on_table, min(id) as min_id, max(id) as max_id, count(*) as mm"); @@ -85,8 +90,8 @@ class Pman_Core_Prune extends Pman $f->having("mm > 2"); $f->orderBy('mm desc') ; $f->limit(10000); - exit; $ar = $f->fetchAll(); + foreach($ar as $f) { $q = DB_DataObject::Factory('Events'); $q->query("DELETE FROM Events where @@ -96,13 +101,15 @@ class Pman_Core_Prune extends Pman AND on_table = '{$q->escape($f->on_table)}' AND - id > {$f->min_id} + id > {$f->min_id} -- allow the first one to stay.... AND - id < {$f->max_id} + id <= {$f->max_id} "); } - + $f = DB_DataObject::Factory('Events'); + $after = $f->count(); + echo "DELETED : " . ($before - $after) . " records\n";