From 2d3740b91246b37349b3ffa373f2706cd8b14b29 Mon Sep 17 00:00:00 2001 From: Mario Date: Mon, 11 May 2020 20:22:25 +0000 Subject: Legacy Hubzilla compatibility: when we relay a comment from hubzilla < 4.0, we send it to ourself again but this time with a valid uri as mid. To catch this as duplicate, we need to check for the basename aswell. --- include/items.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/items.php b/include/items.php index 87ae5c6a5..a566ddfd9 100755 --- a/include/items.php +++ b/include/items.php @@ -1973,8 +1973,9 @@ function item_store($arr, $allow_exec = false, $deliver = true) { ); } else { - $r = q("SELECT id FROM item WHERE mid = '%s' AND uid = %d and revision = %d LIMIT 1", + $r = q("SELECT id FROM item WHERE (mid = '%s' OR mid = '%s') AND uid = %d and revision = %d LIMIT 1", dbesc($arr['mid']), + dbesc(basename(rawurldecode($arr['mid']))), // de-duplicate relayed comments from hubzilla < 4.0 intval($arr['uid']), intval($arr['revision']) ); -- cgit v1.2.3