From 5bf7a3b7a507cdd17596d351e7ceefb99a98950b Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Wed, 24 Jun 2015 22:31:38 +0200 Subject: [PATCH] Fixed inReplyTo in conversations --- include/ostatus.php | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/include/ostatus.php b/include/ostatus.php index fccd178fe8..4509293423 100644 --- a/include/ostatus.php +++ b/include/ostatus.php @@ -656,17 +656,23 @@ function ostatus_completion($conversation_url, $uid, $item = array()) { } } + $parent_uri = $parent["uri"]; + + // "context" only seems to exist on older servers if (isset($single_conv->context->inReplyTo->id)) { - $parent_uri = $single_conv->context->inReplyTo->id; + $parent_exists = q("SELECT `id` FROM `item` WHERE `uid` = %d AND `uri` = '%s' AND `network` IN ('%s','%s') LIMIT 1", + intval($uid), dbesc($single_conv->context->inReplyTo->id), dbesc(NETWORK_OSTATUS), dbesc(NETWORK_DFRN)); + if ($parent_exists) + $parent_uri = $single_conv->context->inReplyTo->id; + } + // This is the current way + if (isset($single_conv->object->inReplyTo->id)) { $parent_exists = q("SELECT `id` FROM `item` WHERE `uid` = %d AND `uri` = '%s' AND `network` IN ('%s','%s') LIMIT 1", - intval($uid), dbesc($parent_uri), dbesc(NETWORK_OSTATUS), dbesc(NETWORK_DFRN)); - if (!$parent_exists) { - logger("Parent ".$parent_uri." wasn't found here", LOGGER_DEBUG); - $parent_uri = $parent["uri"]; - } - } else - $parent_uri = $parent["uri"]; + intval($uid), dbesc($single_conv->object->inReplyTo->id), dbesc(NETWORK_OSTATUS), dbesc(NETWORK_DFRN)); + if ($parent_exists) + $parent_uri = $single_conv->object->inReplyTo->id; + } $message_exists = q("SELECT `id`, `parent`, `uri` FROM `item` WHERE `uid` = %d AND `uri` = '%s' AND `network` IN ('%s','%s') LIMIT 1", intval($uid), dbesc($single_conv->id), -- 2.39.5