diff options
author | nobody <nobody@zotlabs.com> | 2020-09-30 00:40:46 +0000 |
---|---|---|
committer | Mario <mario@mariovavti.com> | 2020-09-30 08:16:59 +0200 |
commit | 48440e368c07855285da35ea9d0875196919a70d (patch) | |
tree | feed5fa59a8b6c9442bcd77483f0492704348a50 | |
parent | a7bf07b864ab74884f3f2bfabd57d9aa5ae1e49c (diff) | |
download | volse-hubzilla-48440e368c07855285da35ea9d0875196919a70d.tar.gz volse-hubzilla-48440e368c07855285da35ea9d0875196919a70d.tar.bz2 volse-hubzilla-48440e368c07855285da35ea9d0875196919a70d.zip |
bug: undoing a like on a comment can remove the comment
(cherry picked from commit b999456bf16a5d457a16fab1299289cfb54bfed4)
-rw-r--r-- | Zotlabs/Lib/Activity.php | 19 | ||||
-rw-r--r-- | Zotlabs/Lib/Libzot.php | 6 |
2 files changed, 6 insertions, 19 deletions
diff --git a/Zotlabs/Lib/Activity.php b/Zotlabs/Lib/Activity.php index 9c7b4e601..7de2ca7ec 100644 --- a/Zotlabs/Lib/Activity.php +++ b/Zotlabs/Lib/Activity.php @@ -652,24 +652,7 @@ class Activity { else return []; - if ($i['obj']) { - if (! is_array($i['obj'])) { - $i['obj'] = json_decode($i['obj'],true); - } - $obj = self::encode_object($i['obj']); - if ($obj) - $ret['object'] = $obj; - else - return []; - } - else { - $obj = self::encode_item($i); - if ($obj) - $ret['object'] = $obj; - else - return []; - } - + $ret['object'] = str_replace('/item/','/activity/',$i['mid']); $ret['to'] = [ ACTIVITY_PUBLIC_INBOX ]; return $ret; diff --git a/Zotlabs/Lib/Libzot.php b/Zotlabs/Lib/Libzot.php index f4eb26463..ce9536cd4 100644 --- a/Zotlabs/Lib/Libzot.php +++ b/Zotlabs/Lib/Libzot.php @@ -1739,11 +1739,15 @@ class Libzot { continue; } + // reactions such as like and dislike could have an mid with /activity/ in it. + // Check for both forms in order to prevent duplicates. - $r = q("select * from item where mid = '%s' and uid = %d limit 1", + $r = q("select * from item where mid in ('%s','%s') and uid = %d limit 1", dbesc($arr['mid']), + dbesc(str_replace(z_root() . '/activity/', z_root() . '/item/', $arr['mid'])), intval($channel['channel_id']) ); + if($r) { // We already have this post. $item_id = $r[0]['id']; |