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
return $ids;
}
/**
* @param $groups array of Group *objects*
* @param $recipients array of profile *ids*
*/
function whoGets($groups=null, $recipients=null)
{
$c = self::memcache();
......@@ -925,6 +929,9 @@ class Notice extends Memcached_DataObject
return $ids;
}
/**
* @return array of Group objects
*/
function saveGroups()
{
// Don't save groups for repeats
......@@ -1117,11 +1124,22 @@ class Notice extends Memcached_DataObject
return $ids;
}
/**
* Same calculation as saveGroups but without the saving
* @fixme merge the functions
* @return array of Group objects
*/
function getGroups()
{
// Don't save groups for repeats
if (!empty($this->repeat_of)) {
return array();
}
// XXX: cache me
$ids = array();
$groups = array();
$gi = new Group_inbox();
......@@ -1132,13 +1150,13 @@ class Notice extends Memcached_DataObject
if ($gi->find()) {
while ($gi->fetch()) {
$ids[] = $gi->group_id;
$groups[] = clone($gi);
}
}
$gi->free();
return $ids;
return $groups;
}
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