+
+
+ $w->whereAdd('person_id != '. (int) $event->person_id);
+
+ $watches = $w->fetchAll();
+
+ 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;
+ }
+ // the triggered method, can either do something
+ // or modify the notify event..
+ if ($do->{$dom[1]}($event, $n) !== false) {
+ continue;
+ }
+
+
+ }
+
+
+ $n->trigger_person_id = $event->person_id;
+ $n->trigger_event_id = $event->id;
+ $n->person_id = $watch->person_id;
+ $n->watch_id = $watch->id;
+
+ // does this watch already have a flag...
+ $nf = clone($n);
+ $nf->whereAdd("sent < '2000-01-01'");
+ //$nf->whereAdd('sent < act_when');
+ if ($nf->count()) {
+ // we have a item in the queue for that waiting to be sent..
+ continue;