DataObjects/Core_watch.php
authorAlan Knowles <alan@roojs.com>
Wed, 7 Nov 2012 02:10:08 +0000 (10:10 +0800)
committerAlan Knowles <alan@roojs.com>
Wed, 7 Nov 2012 02:10:08 +0000 (10:10 +0800)
DataObjects/Core_watch.php

index 156c195..e38efc9 100644 (file)
@@ -112,6 +112,26 @@ class Pman_Core_DataObjects_Core_watch extends DB_DataObject
         }     
     }
     // static really...
         }     
     }
     // 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);
     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
         
         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;
             }
             
                 continue;
             }