X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=DataObjects%2FCore_watch.php;h=4a30b810c938cbf203e7d0f4823a44898a4021b1;hb=f20faebe4c3fcada27e75e7f5ad84d2d801200fd;hp=0f9b19f65dcf266709069fb322be1f9b88d77029;hpb=d5ef27157c6266fc33685d6d68f8304379f169ae;p=Pman.Core diff --git a/DataObjects/Core_watch.php b/DataObjects/Core_watch.php index 0f9b19f6..4a30b810 100644 --- a/DataObjects/Core_watch.php +++ b/DataObjects/Core_watch.php @@ -1,4 +1,3 @@ - selectAdd(" - substr( event, substring_index(event, '.')) as event_left, - substr( event, 0, substring_index(event, '.')) as event_right + 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 "); @@ -69,9 +72,23 @@ class Pman_Core_DataObjects_Core_watch extends DB_DataObject } - function toRooArraySingle($q) + function toRooSingleArray($au,$q) { - die("here"); + $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; + } @@ -201,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... - @@ -218,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;