DataObjects/Core_watch.php
[Pman.Core] / DataObjects / Core_watch.php
index b73d103..cd7e08d 100644 (file)
@@ -134,7 +134,7 @@ class Pman_Core_DataObjects_Core_watch extends DB_DataObject
     // static really...
     /**
      *
-     * This get's called by roo->jok()
+     * This get's called by roo->addEvent()
      *
      * And searches for matching '$watch->event' == $event->action
      *  along with id/table etc..
@@ -150,6 +150,7 @@ class Pman_Core_DataObjects_Core_watch extends DB_DataObject
     
     function notifyEvent($event)
     {
+        print_r($event);
         //DB_DataObject::DebugLevel(1);
         // see if there are any watches on events..
         // notify everyone flagged except the person doing it...
@@ -172,13 +173,14 @@ class Pman_Core_DataObjects_Core_watch extends DB_DataObject
  
         $watches = $w->fetchAll();
         
-        print_R($watches);exit;
+       //print_R($watches);exit;
         
         $nn = DB_DataObject::Factory('core_notify');
         $nn->ontable    = $event->on_table;
         $nn->onid       = $event->on_id;
         
         foreach($watches as $watch) {
+            $n = clone($nn);
             if (!$watch->person_id) { // no people??? bugs in watch table
                 $dom = explode(':',$watch->medium);
                 if (count($dom) != 2) {
@@ -194,12 +196,18 @@ class Pman_Core_DataObjects_Core_watch extends DB_DataObject
                 if (!method_exists($do,$dom[1])) {
                     continue;
                 }
-                $do->{$dom[1]}($event);
+                //echo "calling {$watch->medium}\n";
+                // the triggered method, can either do something
+                // or modify the notify event..
+                if ($do->{$dom[1]}($event, $n) !== false) {
+                    //echo "method did not return false?";
+                    continue;
+                }
+                
                 
-                continue;
             }
             
-            $n = clone($nn);
+            
             $n->trigger_person_id = $event->person_id;
             $n->trigger_event_id = $event->id;
             $n->person_id = $watch->person_id;
@@ -213,7 +221,7 @@ class Pman_Core_DataObjects_Core_watch extends DB_DataObject
                 // we have a item in the queue for that waiting to be sent..
                 continue;
             }
-            
+            //echo "inserting notify?";
             $n->act_start( date("Y-m-d H:i:s") );
             $n->insert();