X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=DataObjects%2FCore_watch.php;h=b77369269fc73a536c64c9b6330ce884742ce678;hb=8ed5e3b95fa253debecd82a5274c1345578f56ab;hp=5e380edab6581351953abffaaf1d9e5ba0fad9b1;hpb=d812a7cc1bea951855e1a1d8de55e3c93c31ba79;p=Pman.Core diff --git a/DataObjects/Core_watch.php b/DataObjects/Core_watch.php index 5e380eda..b7736926 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); $d = DB_DataObject::Factory($q['on_table']); $ret = array(); foreach(get_class_methods($d) as $m) { - var_dump($m); + //var_dump($m); if (!preg_match('/^notify/', $m)) { continue; } @@ -181,8 +217,8 @@ class Pman_Core_DataObjects_Core_watch extends DB_DataObject function notifyEvent($event) { - //print_r($event); - //DB_DataObject::DebugLevel(1); + print_r($event); + 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... - @@ -204,7 +240,7 @@ class Pman_Core_DataObjects_Core_watch extends DB_DataObject $watches = $w->fetchAll(); - //print_R($watches); //exit; + print_R($watches); $nn = DB_DataObject::Factory('core_notify'); $nn->ontable = $event->on_table;