DataObjects/Core_watch.php
[Pman.Core] / DataObjects / Core_watch.php
index 65af2f5..d84775f 100644 (file)
@@ -78,13 +78,28 @@ class Pman_Core_DataObjects_Core_watch extends DB_DataObject
      * Generate a notify event based on watches (matching whereAdd)
      *
      * Usage: $core_watch->notify('mtrack_repos', 1, false, date()
+     *
+     * This can match any 'event' type - eg. it can be blank etc...
+     *   Generally used by non-event driven notifications, like our
+     *   Daily commit message.
+     *
+     *  @param string $ontable - the database table that has been updated/changed etc.
+     *  @param int    $onid    - the id of the row changed
+     *  @param string  $whereAdd (optiona) - a DB whereAdd() condition to filter the search for watches
+     *  @param datetime    $when   (default now)  - date/time to create the notification for (Eg. end of day..)
+     * 
      */
     function notify($ontable , $onid, $whereAdd = false, $when=false)
     {
-        $w = DB_DataObject::factory('core_watch');
+        $w = DB_DataObject::factory('core_watch');   
         if ($whereAdd !== false) { 
             $w->whereAdd($whereAdd  );
         }
+        $w->active =1;
+        
+        $w->whereAdd('onid = 0 OR onid='. ((int) $onid));
+       
+        
         $w->ontable = $ontable;
         //$w->selectAdd();
         //$w->selectAdd('distinct(person_id) as person_id');
@@ -118,20 +133,16 @@ class Pman_Core_DataObjects_Core_watch extends DB_DataObject
      *
      * This get's called by roo->jok()
      *
+     * And searches for matching '$watch->event' == $event->action
+     *  along with id/table etc..
      *
      * it's basic usage is to fill in core_notify after an event has happend.
      *
      * We can also use it to notify other modules if something has happend.
      *  = eg. mtrack_ticket * watch will notify mtrack_jira::
      *
-     *  in that example:
-     *     ublic $ontable;                         // string(128)  not_null
-    public $onid;                            // int(11)  not_null
-    public $person_id;                       // int(11)  not_null
-    public $event;                           // string(128)  not_null
-    public $medium;                          // string(128)  not_null
-    public $active;                          // int(11)  not_null
-
+     * @param Pman_Core_DataObject_Events $event - the Pman event dataobject that was created
+     * 
      */
     
     function notifyEvent($event)
@@ -187,7 +198,7 @@ class Pman_Core_DataObjects_Core_watch extends DB_DataObject
             
             // does this watch already have a flag...
             $nf = clone($n);
-            $nf->whereAdd("sent > '2000-01-01'");
+            $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..