+
+ foreach($w->fetchAll() as $w) {
+ if (!$w->person_id) { // no people??? bugs in watch table
+ continue;
+ }
+
+ $nn = DB_DataObject::Factory('core_notify');
+ $nn->ontable = $ontable;
+ $nn->onid = $onid;
+ $nn->evtype = $w->medium;
+ $nn->person_id = $p;
+
+ $nf = clone($nn);
+ $nf->whereAdd('sent < act_when');
+ if ($nf->count()) {
+ // we have a item in the queue for that waiting to be sent..
+ continue;
+ }
+ $nn->act_start( date("Y-m-d H:i:s", $when !== false ? strtotime($when) : time()) );
+ $n->insert();
+
+
+ }
+
+ }
+ // static really...
+ function notifyEvent($event)
+ {
+ //DB_DataObject::DebugLevel(1);
+ // see if there are any watches on events..
+ // notify everyone flagged except the person doing it...
+ // this is very basic logic... -
+ // if more intelligence is needed...
+ // then it 'rules' will have to be added by the watched object....
+ // anyway leave that for another day..
+ if (empty($event->action)) {
+ return;
+ }
+ $w = DB_DataObject::factory('core_watch');
+ $w->ontable = $event->on_table;
+ $w->whereAdd('onid = 0 OR onid='. ((int) $event->on_id));
+
+ $w->event = $event->action;
+ $w->active = 1;
+
+
+ $w->whereAdd('person_id != '. (int) $event->person_id);
+
+
+ $watches = $w->fetchAll();
+