From: Alan Knowles Date: Wed, 7 Nov 2012 02:10:08 +0000 (+0800) Subject: DataObjects/Core_watch.php X-Git-Url: http://git.roojs.org/?p=Pman.Core;a=commitdiff_plain;h=44a5d8c0b01e55f07e24a7a5611e68adfd40ba73 DataObjects/Core_watch.php --- diff --git a/DataObjects/Core_watch.php b/DataObjects/Core_watch.php index 156c195e..e38efc9b 100644 --- a/DataObjects/Core_watch.php +++ b/DataObjects/Core_watch.php @@ -112,6 +112,26 @@ class Pman_Core_DataObjects_Core_watch extends DB_DataObject } } // static really... + /** + * + * This get's called by roo->jok() + * + * + * it's basic usage is to fill in core_notify after an event has happend. + * + * We can also use it to notify other modules if something has happend. + * = eg. mtrack_ticket * watch will notify mtrack_jira:: + * + * in that example: + * ublic $ontable; // string(128) not_null + public $onid; // int(11) not_null + public $person_id; // int(11) not_null + public $event; // string(128) not_null + public $medium; // string(128) not_null + public $active; // int(11) not_null + + */ + function notifyEvent($event) { //DB_DataObject::DebugLevel(1); @@ -143,6 +163,16 @@ class Pman_Core_DataObjects_Core_watch extends DB_DataObject foreach($watches as $watch) { if (!$watch->person_id) { // no people??? bugs in watch table + $dom = explode(':',$watch->event); + if (count($dom) != 2) { + continue; + } + $do = DB_DataObject::factory($dom[0]); + if (!method_exists($do,$dom[1])) { + continue; + } + $do->{$dom[1]}($event); + continue; }