I guess multiple emails.. * * so we need to return * * array( $USER_ID => array( $OBJECT:$ID, $OBJECT:$ID, $OBJECT:$ID, ..... ) * ) * * The mailer can then go through and call each object ?? * * * -- Things we can watch.. * * mtrack_change <- this is a neat log of all events. * which logs these things * Individual Ticket changes (already) * a Project -> which means ticket changes... which again can be discovered via mtrack_changes.. * a Repo for Commits (-- which will be handled by mtrack_changes) * Wiki changes.. later... * * * */ function watched($medium, $watcher = null) { $w = DB_DataObject::factory('core_watch'); if ($watcher) { $w->person_id = $watcher; } $w->active = 1; $w->medium = $medium; $ar = $w->fetchAll(); $ret = array(); foreach($ar as $o) { if (!isset($ret[$o->person_id])) { $ret[$o->person_id] = array(); } $ret[$o->person_id][] = $o->ontable .':'. $o->onid; } return $ret; } }