Display reshared ("announced") messages of a user on their page

This commit is contained in:
Michael 2020-08-11 16:40:01 +00:00
parent dfa177e940
commit 45be80b05e

View File

@ -1275,8 +1275,8 @@ class Contact
$contact_field = ((($contact["contact-type"] == self::TYPE_COMMUNITY) || ($contact['network'] == Protocol::MAIL)) ? 'owner-id' : 'author-id'); $contact_field = ((($contact["contact-type"] == self::TYPE_COMMUNITY) || ($contact['network'] == Protocol::MAIL)) ? 'owner-id' : 'author-id');
if ($thread_mode) { if ($thread_mode) {
$condition = ["`$contact_field` = ? AND `gravity` = ? AND " . $sql, $condition = ["`$contact_field` = ? AND (`gravity` = ? OR (`gravity` = ? AND `vid` = ?)) AND " . $sql,
$cid, GRAVITY_PARENT, local_user()]; $cid, GRAVITY_PARENT, GRAVITY_ACTIVITY, Verb::getID(Activity::ANNOUNCE), local_user()];
} else { } else {
$condition = ["`$contact_field` = ? AND `gravity` IN (?, ?) AND " . $sql, $condition = ["`$contact_field` = ? AND `gravity` IN (?, ?) AND " . $sql,
$cid, GRAVITY_PARENT, GRAVITY_COMMENT, local_user()]; $cid, GRAVITY_PARENT, GRAVITY_COMMENT, local_user()];
@ -1296,9 +1296,18 @@ class Contact
'limit' => [$pager->getStart(), $pager->getItemsPerPage()]]; 'limit' => [$pager->getStart(), $pager->getItemsPerPage()]];
if ($thread_mode) { if ($thread_mode) {
$r = Item::selectThreadForUser(local_user(), ['uri'], $condition, $params); $r = Item::selectForUser(local_user(), ['uri', 'gravity', 'parent-uri'], $condition, $params);
$items = [];
while ($item = DBA::fetch($r)) {
if ($item['gravity'] != GRAVITY_PARENT) {
$item['uri'] = $item['parent-uri'];
}
unset($item['parent-uri']);
unset($item['gravity']);
$items = Item::inArray($r); $items[] = $item;
}
DBA::close($r);
$o = conversation($a, $items, 'contacts', $update, false, 'commented', local_user()); $o = conversation($a, $items, 'contacts', $update, false, 'commented', local_user());
} else { } else {