projects
/
Pman.Core
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
DataObjects/Core_watch.php
[Pman.Core]
/
DataObjects
/
Core_watch.php
diff --git
a/DataObjects/Core_watch.php
b/DataObjects/Core_watch.php
index
d370835
..
771b68c
100644
(file)
--- a/
DataObjects/Core_watch.php
+++ b/
DataObjects/Core_watch.php
@@
-77,36
+77,40
@@
class Pman_Core_DataObjects_Core_watch extends DB_DataObject
/**
* Generate a notify event based on watches (matching whereAdd)
*
/**
* Generate a notify event based on watches (matching whereAdd)
*
+ * Usage: $core_watch->notify('mtrack_repos', 1, false, date()
*/
*/
- function notify($ontable , $onid, $whereAdd)
+ function notify($ontable , $onid, $whereAdd
= false, $when=false
)
{
$w = DB_DataObject::factory('core_watch');
{
$w = DB_DataObject::factory('core_watch');
- $w->whereAdd($whereAdd);
- $w->selectAdd();
- $w->selectAdd('distinct(person_id) as person_id');
- $people = $w->fetchAll('person_id');
+ if ($whereAdd !== false) {
+ $w->whereAdd($whereAdd );
+ }
+ //$w->selectAdd();
+ //$w->selectAdd('distinct(person_id) as person_id');
- $nn = DB_DataObject::Factory('core_notify');
- $nn->ontable = $ontable;
- $nn->onid = $onid;
- foreach($people as $p) {
- if (!$p) { // no people??? bugs in watch table
+ foreach($w->fetchAll() as $w) {
+ if (!$w->person_id) { // no people??? bugs in watch table
continue;
}
continue;
}
- $n = clone($nn);
- $n->person_id = $p;
- $nf = clone($n);
+
+
+
+ $nn = DB_DataObject::Factory('core_notify');
+ $nn->ontable = $ontable;
+ $nn->onid = $onid;
+ $nn->evtype = $w->medium;
+ $nn->person_id = $w->person_id;
+
+ $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;
}
$nf->whereAdd('sent < act_when');
if ($nf->count()) {
// we have a item in the queue for that waiting to be sent..
continue;
}
- $n
->act_start( date("Y-m-d H:i:s"
) );
+ $n
n->act_start( date("Y-m-d H:i:s", $when !== false ? strtotime($when) : time()
) );
$n->insert();
$n->insert();
-
- }
-
+ }
}
// static really...
function notifyEvent($event)
}
// static really...
function notifyEvent($event)