Merge pull request #4585 from annando/forum-stuff
Fix: The ownership of forum items had been wrong
This commit is contained in:
commit
ca840f7ed1
2 changed files with 13 additions and 6 deletions
|
@ -898,7 +898,11 @@ class Item extends BaseObject
|
||||||
$item['uid'] = 0;
|
$item['uid'] = 0;
|
||||||
$item['origin'] = 0;
|
$item['origin'] = 0;
|
||||||
$item['wall'] = 0;
|
$item['wall'] = 0;
|
||||||
$item['contact-id'] = Contact::getIdForURL($item['author-link']);
|
if ($item['uri'] == $item['parent-uri']) {
|
||||||
|
$item['contact-id'] = Contact::getIdForURL($item['owner-link']);
|
||||||
|
} else {
|
||||||
|
$item['contact-id'] = Contact::getIdForURL($item['author-link']);
|
||||||
|
}
|
||||||
|
|
||||||
if (in_array($item['type'], ["net-comment", "wall-comment"])) {
|
if (in_array($item['type'], ["net-comment", "wall-comment"])) {
|
||||||
$item['type'] = 'remote-comment';
|
$item['type'] = 'remote-comment';
|
||||||
|
@ -1265,21 +1269,23 @@ class Item extends BaseObject
|
||||||
}
|
}
|
||||||
|
|
||||||
// now change this copy of the post to a forum head message and deliver to all the tgroup members
|
// now change this copy of the post to a forum head message and deliver to all the tgroup members
|
||||||
$self = dba::selectFirst('contact', ['name', 'url', 'thumb'], ['uid' => $uid, 'self' => true]);
|
$self = dba::selectFirst('contact', ['id', 'name', 'url', 'thumb'], ['uid' => $uid, 'self' => true]);
|
||||||
if (!DBM::is_result($self)) {
|
if (!DBM::is_result($self)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$owner_id = Contact::getIdForURL($self['url']);
|
||||||
|
|
||||||
// also reset all the privacy bits to the forum default permissions
|
// also reset all the privacy bits to the forum default permissions
|
||||||
|
|
||||||
$private = ($user['allow_cid'] || $user['allow_gid'] || $user['deny_cid'] || $user['deny_gid']) ? 1 : 0;
|
$private = ($user['allow_cid'] || $user['allow_gid'] || $user['deny_cid'] || $user['deny_gid']) ? 1 : 0;
|
||||||
|
|
||||||
$forum_mode = ($prvgroup ? 2 : 1);
|
$forum_mode = ($prvgroup ? 2 : 1);
|
||||||
|
|
||||||
$fields = ['wall' => true, 'origin' => true, 'forum_mode' => $forum_mode,
|
$fields = ['wall' => true, 'origin' => true, 'forum_mode' => $forum_mode, 'contact-id' => $self['id'],
|
||||||
'owner-name' => $self['name'], 'owner-link' => $self['url'], 'owner-avatar' => $self['thumb'],
|
'owner-id' => $owner_id, 'owner-name' => $self['name'], 'owner-link' => $self['url'],
|
||||||
'private' => $private, 'allow_cid' => $user['allow_cid'], 'allow_gid' => $user['allow_gid'],
|
'owner-avatar' => $self['thumb'], 'private' => $private, 'allow_cid' => $user['allow_cid'],
|
||||||
'deny_cid' => $user['deny_cid'], 'deny_gid' => $user['deny_gid']];
|
'allow_gid' => $user['allow_gid'], 'deny_cid' => $user['deny_cid'], 'deny_gid' => $user['deny_gid']];
|
||||||
dba::update('item', $fields, ['id' => $item_id]);
|
dba::update('item', $fields, ['id' => $item_id]);
|
||||||
|
|
||||||
self::updateThread($item_id);
|
self::updateThread($item_id);
|
||||||
|
|
|
@ -2131,6 +2131,7 @@ class OStatus
|
||||||
AND NOT `item`.`deleted`
|
AND NOT `item`.`deleted`
|
||||||
AND NOT `item`.`private`
|
AND NOT `item`.`private`
|
||||||
AND `item`.`visible`
|
AND `item`.`visible`
|
||||||
|
AND `item`.`wall`
|
||||||
AND `thread`.`network` IN ('%s', '%s')
|
AND `thread`.`network` IN ('%s', '%s')
|
||||||
$sql_extra
|
$sql_extra
|
||||||
ORDER BY `item`.`created` DESC LIMIT %d",
|
ORDER BY `item`.`created` DESC LIMIT %d",
|
||||||
|
|
Loading…
Reference in a new issue