From cc7b34b7e649d95342d86136237f64ef7d521bfb Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Wed, 16 Mar 2016 21:27:07 +0100 Subject: [PATCH] Better reshare detection --- include/diaspora.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/include/diaspora.php b/include/diaspora.php index f7c38c227..4a6cbad13 100644 --- a/include/diaspora.php +++ b/include/diaspora.php @@ -1600,7 +1600,7 @@ class diaspora { // Maybe it is already a reshared item? // Then refetch the content, since there can be many side effects with reshared posts from other networks or reshares from reshares - if (self::is_reshare($r[0]["body"])) + if (self::is_reshare($r[0]["body"], false)) $r = array(); else return $r[0]; @@ -2130,7 +2130,7 @@ class diaspora { return self::build_and_transmit($owner, $contact, "retraction", $message); } - public static function is_reshare($body) { + public static function is_reshare($body, $complete = true) { $body = trim($body); // Skip if it isn't a pure repeated messages @@ -2147,6 +2147,10 @@ class diaspora { if ($body == $attributes) return(false); + // If we don't do the complete check we quit here + if (!$complete) + return true; + $guid = ""; preg_match("/guid='(.*?)'/ism", $attributes, $matches); if ($matches[1] != "")