X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=DataObjects%2FCore_watch.php;h=4a30b810c938cbf203e7d0f4823a44898a4021b1;hb=f5aa5d161bc0428db89f56aa318dbf03ddff22bc;hp=ab5df3bbeb94ba8647c9f4d9db7c8d034dbe6645;hpb=22bf31b39d8c12223031fac9e2b5ae8cced37f6d;p=Pman.Core diff --git a/DataObjects/Core_watch.php b/DataObjects/Core_watch.php index ab5df3bb..4a30b810 100644 --- a/DataObjects/Core_watch.php +++ b/DataObjects/Core_watch.php @@ -1,4 +1,3 @@ - listActions($roo,$q); } + //die("apply filters"); + if (!empty($q['_split_event_name'])) { + $this->selectAdd(" + + substr( event, 1, LOCATE( '.',event) -1) as event_left, + substr( event, LOCATE( '.',event) +1) as event_right, + (SELECT + display_name FROM core_enum where etype = '{$this->escape($q['_split_event_name'])}' + AND name = substr( event, LOCATE( '.',event) +1) + ) as event_right_display_name + + "); + + + + } + + } + + function toRooSingleArray($au,$q) + { + $ret = $this->toArray(); + if (empty($q['_split_event_name'])) { + return $ret; + } + $bits = explode('.', $this->event); + $ret['event_left'] = $bits[0]; + $ret['event_right'] = $bits[1]; + // check core enu. + if (!empty($ret['event_right'])) { + $ce = DB_DataObject::factory('core_enum')->lookupObject($q['_split_event_name'], $ret['event_right']); + $ret['event_right_display_name'] = $ce->display_name; + } + + return $ret; } + function listActions($roo, $q) { //print_r($q); @@ -183,7 +218,7 @@ class Pman_Core_DataObjects_Core_watch extends DB_DataObject function notifyEvent($event) { //print_r($event); - //DB_DataObject::DebugLevel(1); + //DB_DataObject::DebugLevel(1); // see if there are any watches on events.. // notify everyone flagged except the person doing it... // this is very basic logic... - @@ -200,12 +235,14 @@ class Pman_Core_DataObjects_Core_watch extends DB_DataObject $w->event = $event->action; $w->active = 1; - - $w->whereAdd('person_id != '. (int) $event->person_id); + // not sure why this is here... - it breaks on the reader article -> + if ($event->person_id) { + $w->whereAdd('person_id != '. (int) $event->person_id); + } $watches = $w->fetchAll(); - //print_R($watches); //exit; + //print_R($watches); $nn = DB_DataObject::Factory('core_notify'); $nn->ontable = $event->on_table;