We are no longer offering accounts on this server. Consider https://gitlab.freedesktop.org/ as a place to host projects.

Commit d35faa04 authored by Brion Vibber's avatar Brion Vibber

Fix for background recalculation of groups; needs to get Group objects not...

Fix for background recalculation of groups; needs to get Group objects not IDs; also don't list any groups for repeats to match saveGroups behavior
todo: merge calculation portion with saveGroups so they don't get out of sync
parent 963260d2
...@@ -826,6 +826,10 @@ class Notice extends Memcached_DataObject ...@@ -826,6 +826,10 @@ class Notice extends Memcached_DataObject
return $ids; return $ids;
} }
/**
* @param $groups array of Group *objects*
* @param $recipients array of profile *ids*
*/
function whoGets($groups=null, $recipients=null) function whoGets($groups=null, $recipients=null)
{ {
$c = self::memcache(); $c = self::memcache();
...@@ -925,6 +929,9 @@ class Notice extends Memcached_DataObject ...@@ -925,6 +929,9 @@ class Notice extends Memcached_DataObject
return $ids; return $ids;
} }
/**
* @return array of Group objects
*/
function saveGroups() function saveGroups()
{ {
// Don't save groups for repeats // Don't save groups for repeats
...@@ -1117,11 +1124,22 @@ class Notice extends Memcached_DataObject ...@@ -1117,11 +1124,22 @@ class Notice extends Memcached_DataObject
return $ids; return $ids;
} }
/**
* Same calculation as saveGroups but without the saving
* @fixme merge the functions
* @return array of Group objects
*/
function getGroups() function getGroups()
{ {
// Don't save groups for repeats
if (!empty($this->repeat_of)) {
return array();
}
// XXX: cache me // XXX: cache me
$ids = array(); $groups = array();
$gi = new Group_inbox(); $gi = new Group_inbox();
...@@ -1132,13 +1150,13 @@ class Notice extends Memcached_DataObject ...@@ -1132,13 +1150,13 @@ class Notice extends Memcached_DataObject
if ($gi->find()) { if ($gi->find()) {
while ($gi->fetch()) { while ($gi->fetch()) {
$ids[] = $gi->group_id; $groups[] = clone($gi);
} }
} }
$gi->free(); $gi->free();
return $ids; return $groups;
} }
function asAtomEntry($namespace=false, $source=false) function asAtomEntry($namespace=false, $source=false)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment