DataObjects/Core_watch.php
[Pman.Core] / DataObjects / Core_watch.php
index 3799ff2..9a40ce4 100644 (file)
@@ -172,28 +172,39 @@ 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) {
                     continue;
                 }
+                // in some scenarios (like watching for new articles)
+                // we need to create a core, notify on the medium..
+                // in which case we set the  set $nn->evtype = medium..
+                // in that case - just let the called method generate the notify..
+                
+                
                 $do = DB_DataObject::factory($dom[0]);
                 if (!method_exists($do,$dom[1])) {
                     continue;
                 }
-                $do->{$dom[1]}($event);
+                // the triggered method, can either do something
+                // or modify the notify event..
+                if ($do->{$dom[1]}($event, $n) !== 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;